more doc
This commit is contained in:
@@ -2,5 +2,15 @@
|
|||||||
Datasets
|
Datasets
|
||||||
#####################
|
#####################
|
||||||
|
|
||||||
In this section, we provide detailed guidance about how to setup various datasets in a step by step way.
|
Generally, the detailed setup procedure for each dataset can be found at its official document.
|
||||||
We will keep updating these content and maintain some a troubleshooting section for each dataset.
|
In this section, we still provide a simple guidance about how to setup each dataset in a step by step way,
|
||||||
|
saving the time for redirecting to new sites and read the comprehensive guidance.
|
||||||
|
The content of each subsection is a simplified version based on the official setup procedures of each dataset.
|
||||||
|
Thus if you encountered some problems with our simplified setup instructions,
|
||||||
|
please read related official documentation.
|
||||||
|
Also, we kindly ask you to report the encountered problem when following our procedures.
|
||||||
|
We will fix it as best as we can and record it in the troubleshooting section for each dataset.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#######################
|
#######################
|
||||||
Example
|
Waymo Example
|
||||||
#######################
|
#######################
|
||||||
|
|
||||||
In this example, we will show you how to convert a small batch of `Waymo <https://waymo.com/intl/en_us/open/>`_ scenarios into the internal Scenario Description.
|
In this example, we will show you how to convert a small batch of `Waymo <https://waymo.com/intl/en_us/open/>`_ scenarios into the internal Scenario Description.
|
||||||
After that, the scenarios will be loaded to simulator for closed-loop simulation.
|
After that, the scenarios will be loaded to simulator for closed-loop simulation.
|
||||||
First of all, please install `MetaDrive <https://github.com/metadriverse/metadrive>`_ and `ScenarioNet <https://github.com/metadriverse/scenarionet>`_ following these steps :ref:`installation`.
|
First of all, please install `MetaDrive <https://github.com/metadriverse/metadrive>`_ and `ScenarioNet <https://github.com/metadriverse/scenarionet>`_ following these steps :ref:`installation`.
|
||||||
|
|
||||||
**1. Setup Waymo toolkit**
|
1. Setup Waymo toolkit
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
For any dataset, this step is necessary after installing ScenarioNet,
|
For any dataset, this step is necessary after installing ScenarioNet,
|
||||||
as we need to use the official toolkits of the data provider to parse the original scenario description and convert to our internal scenario description.
|
as we need to use the official toolkits of the data provider to parse the original scenario description and convert to our internal scenario description.
|
||||||
@@ -15,14 +15,17 @@ For Waymo data, please install the toolkit via::
|
|||||||
|
|
||||||
pip install waymo-open-dataset-tf-2-11-0==1.5.0
|
pip install waymo-open-dataset-tf-2-11-0==1.5.0
|
||||||
|
|
||||||
|
# Or install with scenarionet
|
||||||
|
pip install -e .[scenarionet]
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This package is only supported on Linux platform.
|
This package is only supported on Linux platform.
|
||||||
|
|
||||||
For other datasets like nuPlan and nuScenes, you need to setup `nuplan-devkit <https://github.com/motional/nuplan-devkit>`_ and `nuscenes-devkit <https://github.com/nutonomy/nuscenes-devkit>`_ respectively.
|
For other datasets like nuPlan and nuScenes, you need to setup `nuplan-devkit <https://github.com/motional/nuplan-devkit>`_ and `nuscenes-devkit <https://github.com/nutonomy/nuscenes-devkit>`_ respectively.
|
||||||
Guidance on how to setup these datasets and connect them with ScenarioNet can be found at :ref:`datasets`.
|
Guidance on how to setup these datasets and connect them with ScenarioNet can be found at :ref:`datasets`.
|
||||||
|
|
||||||
**2. Prepare Data**
|
2. Prepare Data
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Access the Waymo motion data at `Google Cloud <https://console.cloud.google.com/storage/browser/waymo_open_dataset_motion_v_1_2_0>`_.
|
Access the Waymo motion data at `Google Cloud <https://console.cloud.google.com/storage/browser/waymo_open_dataset_motion_v_1_2_0>`_.
|
||||||
Download one tfrecord scenario file from ``waymo_open_dataset_motion_v_1_2_0/uncompressed/scenario/training_20s``.
|
Download one tfrecord scenario file from ``waymo_open_dataset_motion_v_1_2_0/uncompressed/scenario/training_20s``.
|
||||||
@@ -39,7 +42,8 @@ And place the downloaded tfrecord file to a folder. Let's call it ``exp_waymo``
|
|||||||
Likewise, place all downloaded tfrecord files to the same folder.
|
Likewise, place all downloaded tfrecord files to the same folder.
|
||||||
|
|
||||||
|
|
||||||
**3. Convert to Scenario Description**
|
3. Build Database
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Run the following command to extract scenarios in ``exp_waymo`` to ``exp_converted``::
|
Run the following command to extract scenarios in ``exp_waymo`` to ``exp_converted``::
|
||||||
|
|
||||||
@@ -82,7 +86,8 @@ To aggregate the scenarios produced by all workers, the ``exp_converted/dataset_
|
|||||||
from `scenario_id` to the path of the target scenario file relative to ``exp_converted``.
|
from `scenario_id` to the path of the target scenario file relative to ``exp_converted``.
|
||||||
As a result, we can get all scenarios produced by 8 workers by loading the database `exp_converted`.
|
As a result, we can get all scenarios produced by 8 workers by loading the database `exp_converted`.
|
||||||
|
|
||||||
**4. Database Operations**
|
4. Database Operations
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Several basic operations are available and allow us to split, merge, move, and check the databases.
|
Several basic operations are available and allow us to split, merge, move, and check the databases.
|
||||||
First of all, let's check how many scenarios are included in this database built from ``training_20s.tfrecord-00000-of-01000``::
|
First of all, let's check how many scenarios are included in this database built from ``training_20s.tfrecord-00000-of-01000``::
|
||||||
@@ -119,7 +124,8 @@ It will show there are 61 overlapped scenarios.
|
|||||||
Congratulations! Now you are already familiar with some common operations.
|
Congratulations! Now you are already familiar with some common operations.
|
||||||
More operations and details is available at :ref:`operations`.
|
More operations and details is available at :ref:`operations`.
|
||||||
|
|
||||||
**5. Simulation**
|
5. Simulation
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The database can be loaded to MetaDrive simulator for scenario replay or closed-loop simulation.
|
The database can be loaded to MetaDrive simulator for scenario replay or closed-loop simulation.
|
||||||
First of all, let's replay scenarios in the ``exp_converted`` database::
|
First of all, let's replay scenarios in the ``exp_converted`` database::
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ Please feel free to contact us if you have any suggestions or ideas!
|
|||||||
nuscenes.rst
|
nuscenes.rst
|
||||||
waymo.rst
|
waymo.rst
|
||||||
PG.rst
|
PG.rst
|
||||||
|
lyft.rst
|
||||||
new_data.rst
|
new_data.rst
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
|||||||
@@ -4,48 +4,92 @@
|
|||||||
Installation
|
Installation
|
||||||
########################
|
########################
|
||||||
|
|
||||||
|
|
||||||
|
1. Conda Environment
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The ScenarioNet repo contains tools for converting scenarios and building database from various data sources.
|
The ScenarioNet repo contains tools for converting scenarios and building database from various data sources.
|
||||||
We recommend to create a new conda environment and install Python>=3.8,<=3.9::
|
We recommend to create a new conda environment and install Python>=3.8,<=3.9::
|
||||||
|
|
||||||
conda create -n scenarionet python==3.9
|
conda create -n scenarionet python==3.9
|
||||||
conda activate scenarionet
|
conda activate scenarionet
|
||||||
|
|
||||||
|
2. Make a New Folder (Optional)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
In addition, the operations in ScenarioNet are executed as Python module ``python -m``, and thus we have to make sure
|
||||||
|
the working directory contains NO folders named ``metadrive`` or ``scenarionet``.
|
||||||
|
Therefore, we strongly recommend creating a new folder under your routine working directory.
|
||||||
|
For example, supposing you prefer working at ``/home/lee``,
|
||||||
|
it would be greate to have a new folder ``mdsn`` created under this path.
|
||||||
|
And the ``git clone`` and package installation should happen in this new directory.
|
||||||
|
As a result, the directory tree should look like this::
|
||||||
|
|
||||||
|
/home/lee/
|
||||||
|
├──mdsn
|
||||||
|
├──metadrive
|
||||||
|
├──scenarionet
|
||||||
|
├──...
|
||||||
|
|
||||||
|
In this way, you can freely run the dataset operations at any places other than ``/home/lee/mdsn``.
|
||||||
|
Now, let's move to this new directory for further installation with ``cd mdsn``.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
This step is optional. One can still ``git clone`` and ``pip install`` the following two packages at any places.
|
||||||
|
If any ``python -m scenarionet.[command]`` fails to run, please check if there is a folder called `metadrive`
|
||||||
|
or `scenarionet` contained in the current directory. If so, please switch to a new directory to avoid this issue.
|
||||||
|
|
||||||
|
3. Install MetaDrive
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The simulation part is maintained in `MetaDrive <https://github.com/metadriverse/metadrive>`_ repo, and let's install MetaDrive first.
|
The simulation part is maintained in `MetaDrive <https://github.com/metadriverse/metadrive>`_ repo, and let's install MetaDrive first.
|
||||||
|
|
||||||
**1. Install MetaDrive**
|
|
||||||
|
|
||||||
The installation of MetaDrive on different platforms is straightforward and easy!
|
The installation of MetaDrive on different platforms is straightforward and easy!
|
||||||
We recommend to install from Github in the following two ways::
|
We recommend to install in the following ways::
|
||||||
|
|
||||||
# Method 1 (Recommend, if you don't want to access the source code)
|
# Method 1 (Recommend, latest version, source code exposed)
|
||||||
pip install git+https://github.com/metadriverse/metadrive.git
|
|
||||||
|
|
||||||
# Method 2
|
|
||||||
git clone git@github.com:metadriverse/metadrive.git
|
git clone git@github.com:metadriverse/metadrive.git
|
||||||
cd metadrive
|
cd metadrive
|
||||||
pip install -e.
|
pip install -e.
|
||||||
|
|
||||||
|
# Method 2 (Stable version, source code hidden)
|
||||||
A more stable version of MetaDrive can be installed from PyPI by::
|
|
||||||
|
|
||||||
# More stable version than installing from Github
|
|
||||||
pip install "metadrive-simulator>=0.4.1.1"
|
pip install "metadrive-simulator>=0.4.1.1"
|
||||||
|
|
||||||
To check whether MetaDrive is successfully installed, please run::
|
To check whether MetaDrive is successfully installed, please run::
|
||||||
|
|
||||||
python -m metadrive.examples.profile_metadrive
|
python -m metadrive.examples.profile_metadrive
|
||||||
|
|
||||||
.. note:: Please do not run the above command in the folder that has a sub-folder called :code:`./metadrive`.
|
.. note:: Please do not run the above command at a directory that has a sub-folder called :code:`./metadrive`.
|
||||||
|
|
||||||
**2. Install ScenarioNet**
|
4. Install ScenarioNet
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
For ScenarioNet, we only provide Github installation. Likewise, there are two ways to install from Github::
|
For ScenarioNet, we only provide Github installation::
|
||||||
|
|
||||||
# Method 1 (Recommend, if you don't want to access the source code)
|
|
||||||
pip install git+https://github.com/metadriverse/scenarionet.git
|
|
||||||
|
|
||||||
# Method 2
|
|
||||||
git clone git@github.com:metadriverse/scenarionet.git
|
git clone git@github.com:metadriverse/scenarionet.git
|
||||||
cd scenarionet
|
cd scenarionet
|
||||||
|
|
||||||
|
Anyone of the following commands will automatically install basic requirements with additional requirements
|
||||||
|
for specific datasets::
|
||||||
|
|
||||||
|
# Install basic requirement only
|
||||||
pip install -e .
|
pip install -e .
|
||||||
|
|
||||||
|
# Install Waymo official toolkit
|
||||||
|
pip install -e .[waymo]
|
||||||
|
|
||||||
|
# Install nuScenes development tookit
|
||||||
|
pip install -e .[nuscenes]
|
||||||
|
|
||||||
|
# Install nuPlan development tookit
|
||||||
|
pip install -e .[nuplan]
|
||||||
|
|
||||||
|
# Install all toolkit for all datasets
|
||||||
|
pip install -e .[all]
|
||||||
|
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
If you don't wanna access the source code, you can install these two packages with
|
||||||
|
``pip install git+https://github.com/metadriverse/scenarionet.git``
|
||||||
|
and ``pip install git+https://github.com/metadriverse/metadrive.git``.
|
||||||
|
Though it is more straightforward, one has to install additional requirements, like development
|
||||||
|
toolkits, manually.
|
||||||
|
|||||||
28
documentation/lyft.rst
Normal file
28
documentation/lyft.rst
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
####################
|
||||||
|
Lyft (In Upgrading)
|
||||||
|
####################
|
||||||
|
|
||||||
|
| Website: https://woven.toyota/en/prediction-dataset
|
||||||
|
| Download: https://woven-planet.github.io/l5kit/dataset.html
|
||||||
|
| Paper: https://proceedings.mlr.press/v155/houston21a/houston21a.pdf
|
||||||
|
|
||||||
|
This dataset includes the logs of movement of cars, cyclists, pedestrians,
|
||||||
|
and other traffic agents encountered by our automated fleet.
|
||||||
|
These logs come from processing raw lidar, camera, and radar data through our team’s perception systems and are ideal
|
||||||
|
for training motion prediction models.
|
||||||
|
The dataset includes:
|
||||||
|
|
||||||
|
- 1000+ hours of traffic agent movement
|
||||||
|
- 16k miles of data from 23 vehicles
|
||||||
|
- 15k semantic map annotations
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Currently, the old Lyft dataset can be read by ``nuscenes-toolkit`` and thus can share the nuScenes convertor.
|
||||||
|
The new Lyft data is now maintained by Woven Planet and we are working on support the ``L5Kit`` for allowing
|
||||||
|
using new Lyft data.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues
|
||||||
|
#############
|
||||||
|
|
||||||
10
setup.py
10
setup.py
@@ -55,6 +55,10 @@ train_requirement = [
|
|||||||
"tensorflow",
|
"tensorflow",
|
||||||
"tensorflow_probability"]
|
"tensorflow_probability"]
|
||||||
|
|
||||||
|
waymo = ["waymo-open-dataset-tf-2-11-0", "tensorflow==2.11.0"]
|
||||||
|
nuplan = ["nuplan-devkit>=1.2.0"]
|
||||||
|
nuscenes = ["nuscenes-devkit>=1.1.10"]
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="scenarionet",
|
name="scenarionet",
|
||||||
python_requires='>=3.8', # do version check with assert
|
python_requires='>=3.8', # do version check with assert
|
||||||
@@ -67,11 +71,13 @@ setup(
|
|||||||
install_requires=install_requires,
|
install_requires=install_requires,
|
||||||
extras_require={
|
extras_require={
|
||||||
"train": train_requirement,
|
"train": train_requirement,
|
||||||
"doc": doc
|
"doc": doc,
|
||||||
|
"waymo": waymo,
|
||||||
|
"nuplan": nuplan,
|
||||||
|
"nuscenes": nuscenes,
|
||||||
},
|
},
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
license="Apache 2.0",
|
license="Apache 2.0",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
long_description_content_type='text/markdown',
|
long_description_content_type='text/markdown',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user