The devkit of the nuPlan dataset.

Overview

nuplan-devkit

Welcome to the devkit of nuPlan.

Overview

Changelog

  • Dec. 10, 2021: Devkit v0.1.0: Release of the initial teaser dataset (v0.1) and corresponding devkit and maps (v0.1). See Teaser release for more information.

Teaser release

On Dec. 10 2021 we released the nuPlan teaser dataset and devkit. This is meant to be a public beta version. We are aware of several limitations of the current dataset and devkit. Nevertheless we have chosen to make this teaser available to the public for early consultation and to receive feedback on how to improve it. We appreciate your feedback as a Github issue.

Note: All interfaces are subject to change for the full release! No backward compatibility can be guaranteed.

Below is a list of upcoming features for the full release:

  • The teaser dataset includes 200h of data from Las Vegas, we will be releasing the full 1500h dataset that also includes data from Singapore, Boston or Pittsburgh in early 2022.
  • The full release will also include the sensor data for 150h (10% of the total dataset).
  • Localization, perception scenario tags and traffic lights will be improved in future releases.
  • The full release will have an improved dashboard, closed-loop training, advanced planning baselines, end-to-end planners, ML smart agents, RL environment, as well as more metrics and scenarios.

Devkit structure

Our code is organized in these directories:

ci            - Continuous integration code. Not relevant for average users.
docs          - Readmes and other documentation of the repo and dataset.
nuplan        - The main source folder.
    common    - Code shared by `database` and `planning`.
    database  - The core devkit used to load and render nuPlan dataset and maps.
    planning  - The stand-alone planning framework for simulation, training and evaluation.
tutorials     - Interactive tutorials, see `Getting started`.

Devkit setup

Please refer to the installation page for detailed instructions on how to setup the devkit.

Dataset setup

To download nuPlan you need to go to the Download page, create an account and agree to the Terms of Use. After logging in you will see multiple archives. For the devkit to work you will need to download all archives. Please unpack the archives to the ~/nuplan/dataset folder. Eventually you should have the following folder structure:

~/nuplan/dataset    -   The dataset folder. Can be read-only.
    nuplan_v*.db	-	SQLite database that includes all metadata
    maps	        -	Folder for all map files
    
   
           -   Sensor data will be added in the future
~/nuplan/exp        -   The experiment and cache folder. Must have read and write access.

   

If you want to use another folder, you can set the corresponding environment variable or specify the data_root parameter of the NuPlanDB class (see tutorial).

Getting started

Please follow these steps to make yourself familiar with the nuScenes dataset:

jupyter notebook ~/nuplan-devkit/tutorials/
   
    .ipynb

   

Replace with one of the following:

  - `nuplan_framework.ipynb`: This is the main tutorial for anyone who wants to dive right into ML planning.
    It describes how to 1) train an ML planner, 2) simulate it, 3) measure the performance and 4) visualize the results.
  • Read the nuPlan paper to understand the details behind the dataset.

Citation

Please use the following citation when referencing nuPlan:

@INPROCEEDINGS{nuplan, 
  title={NuPlan: A closed-loop ML-based planning benchmark for autonomous vehicles},
  author={H. Caesar, J. Kabzan, K. Tan et al.,},
  booktitle={CVPR ADP3 workshop},
  year=2021
}
Comments
  • Nuboard not displaying any information

    Nuboard not displaying any information

    Hi! When I run the nuplan_framework.ipynb notebook, I can get all the models to train but not shows up when I launch Nuboard. I get some messages when I train and simulate that maybe suggest the error?

    "The agent on node Blade-15 failed to be restarted 5 times. There are 3 possible problems if you see this error.

    1. The dashboard might not display correct information on this node.
    2. Metrics on this node won't be reported.
    3. runtime_env APIs won't work. Check out the dashboard_agent.log to see the detailed failure messages." dashboard_agent.log

    This is what appears when I try to launch Nuboard. It seems that there are two experiments, but no data shows up at all. Screenshot from 2022-06-27 11-37-48

    I know that Nuboard is under development, but I was wondering if I was supposed to be able to see anything at all? If not, where would I be able to find the raw data from simulation and training?

    opened by kensukenk 24
  • Question about nuplan_planner_tutorial

    Question about nuplan_planner_tutorial

    When I have installed all the packages from requirements.txt and run the nuplan_planner_tutorial. I met a problem. When I try to run launch simulation(Within the notebook) block, it seems like my kernel is always dying, because it has the error called: Error: Canceled future for execute_request message before replies were done. Is there someone knows how to solve this problem? Thank you in advance!

    opened by IvanChen777 15
  • empty vector_map causes vector_model to crash

    empty vector_map causes vector_model to crash

    Hi,

    Training the vector model results in the following error: RuntimeError: mat1 and mat2 shapes cannot be multiplied (0x128 and 134x128) in "lanegcn_utils.py", line 561

    I managed to find out that the reason for this is, that for some scenarios the VectorMap.traffic_light_data is an empty list. I further noticed that this is the case if the number of lane_segments returned in get_neighbor_vector_map in "vector_map_feature_builder", line 133 is equal to 0.

    For instance check scenario token 1e00d42ba8095cb3 in log 2021.09.15.11.49.23_veh-28_00693_01062

    If model.vector_map_feature_radius is increased it works though.

    opened by mh0797 11
  • nuplan v1.1 dataset

    nuplan v1.1 dataset

    The downloaded file from the newest dataset(nuplan-v1.1) seems to be the old one. The Md5 of nuplan Map in the version v1.1 is the same as the version v1.1, which is not as the page described.

    opened by chao-SFD 9
  • v0.6 nuboard can't display anything

    v0.6 nuboard can't display anything

    Ex. What is a lane connector? or How many wheels do your vehicles have? Hi developer: I use the v0.6 devkit and successfully finished training and simulation. But Nuboard cannot display the simulation result, including overview score, histogram and scenarios visualization. sim_err

    However, the v0.6 nuboard can display v0.3 simulation result(only score, no scenario visualization either)

    here's my config:

    • training
    experiment_name=vector_experiment
    py_func=train
    +training=training_vector_model
    worker=ray_distributed
    scenario_builder=nuplan_mini
    scenario_builder.data_root=***
    lightning.trainer.params.max_epochs=60
    data_loader.params.batch_size=3
    data_loader.params.num_workers=8
    data_loader.params.pin_memory=True
    scenario_filter.limit_total_scenarios=10
    +lightning.distributed_training.scale_lr=1e-4
    optimizer=adamw
    lightning.trainer.params.gradient_clip_val=0.3
    cache.use_cache_without_dataset=True
    cache.cache_path=***
    lightning.trainer.checkpoint.resume_training=False
    
    • simulation
    +simulation=closed_loop_nonreactive_agents
    experiment_name='simulation_vector_experiment'
    scenario_builder.data_root=***
    scenario_builder=nuplan_mini
    scenario_filter=all_scenarios
    scenario_filter.expand_scenarios=False
    scenario_filter.num_scenarios_per_type=1
    planner=ml_planner
    model=vector_model
    worker=ray_distributed
    planner.ml_planner.model_config=${model}
    planner.ml_planner.checkpoint_path=***/nuplan/exp/exp/vector_experiment/2022.10.09.15.25.35/best_model/epoch_13-step_349.ckpt
    
    • nuboard
    simulation_path="[***/nuplan/exp/exp/simulation_vector_experiment/2022.10.09.15.57.59]"
    scenario_builder.data_root=***
    
    opened by CrisCloseTheDoor 9
  • Question: How a planner get a scenario in simulation?

    Question: How a planner get a scenario in simulation?

    I want to get the future tracked objects, so I should get a scenario first and ues get_future_tracked_objects() fuction. But the class AbstractPlanner only gives me the initialization and current_input, how can a get a scenario?

    opened by YFHhhhhh 9
  • Simulation problem: predicted trajectory is not smooth

    Simulation problem: predicted trajectory is not smooth

    Problem: The simulation result on frame 0 looks normal, but the trajectory predicted on frame 1 is abnormal.

    image

    ### train.py import os import hydra import tempfile from pathlib import Path from nuplan.planning.script.run_training import main as main_train

    CONFIG_PATH = '../nuplan-devkit/nuplan/planning/script/config/training' CONFIG_NAME = 'default_training'

    SAVE_DIR = Path(tempfile.gettempdir()) / 'tutorial_nuplan_framework' # optionally replace with persistent dir EXPERIMENT = 'vector' # vector or raster or others #LOG_DIR = str(SAVE_DIR / EXPERIMENT) LOG_DIR = str(SAVE_DIR + '/' + EXPERIMENT)

    hydra.core.global_hydra.GlobalHydra.instance().clear() hydra.initialize(config_path=CONFIG_PATH)

    cfg = hydra.compose(config_name=CONFIG_NAME, overrides=[ f'group={str(SAVE_DIR)}', f'cache_dir={str(SAVE_DIR)}/cache', f'experiment_name={EXPERIMENT}', 'log_config=true', 'py_func=train', '+training=training_vector_model', # vector model that consumes ego, agents and map vector layers and regresses the ego's trajectory 'resume_training=false', # load the model from the last epoch and resume training 'worker=single_machine_thread_pool', # ray_distributed, sequential, single_machine_thread_pool 'scenario_builder=nuplan_mini', # use nuplan or nuplan_mini database 'scenario_builder.nuplan.scenario_filter.limit_scenarios_per_type=500000', # Choose 500 scenarios to train with 'scenario_builder.nuplan.scenario_filter.subsample_ratio=1', # subsample scenarios from 20Hz (1.0) to 0.2Hz (0.01), 10Hz (0.5), 5Hz (0.25) 'lightning.trainer.params.accelerator=ddp', # ddp is not allowed in interactive environment, using ddp_spawn instead - this can bottleneck the data pipeline, it is recommended to run training outside the notebook 'lightning.trainer.params.precision=16', 'lightning.trainer.params.auto_scale_batch_size=false', 'lightning.trainer.params.auto_lr_find=false', 'lightning.trainer.params.gradient_clip_val=0.0', 'lightning.trainer.params.gradient_clip_algorithm=norm', 'lightning.trainer.params.accumulate_grad_batches=64', 'lightning.trainer.overfitting.enable=false', # run an overfitting test instead of traning 'lightning.optimization.optimizer.learning_rate=2e-4', 'lightning.trainer.params.max_epochs=25', 'lightning.trainer.params.gpus=8', 'data_loader.params.batch_size=3', 'data_loader.params.num_workers=48', ])

    main_train(cfg)

    simulation.py

    import os import hydra import tempfile from pathlib import Path from nuplan.planning.script.run_simulation import main as main_simulation

    CONFIG_PATH = '../nuplan-devkit/nuplan/planning/script/config/simulation' CONFIG_NAME = 'default_simulation'

    SAVE_DIR = Path(tempfile.gettempdir()) / 'tutorial_nuplan_framework' # optionally replace with persistent dir

    EXPERIMENT = 'vector'

    last_experiment = sorted(os.listdir(LOG_DIR))[-1] train_experiment_dir = sorted(Path(LOG_DIR).iterdir())[-1] checkpoint = sorted((train_experiment_dir / 'checkpoints').iterdir())[-1]

    MODEL_PATH = str(checkpoint).replace("=", "=")

    PLANNER = 'ml_planner' # [simple_planner, ml_planner] #CHALLENGE = 'challenge_1_open_loop_boxes' # [challenge_1_open_loop_boxes, challenge_3_closed_loop_nonreactive_agents, challenge_4_closed_loop_reactive_agents] CHALLENGE = 'challenge_3_closed_loop_nonreactive_agents' # [challenge_1_open_loop_boxes, challenge_3_closed_loop_nonreactive_agents, challenge_4_closed_loop_reactive_agents] #CHALLENGE = 'challenge_4_closed_loop_reactive_agents' # [challenge_1_open_loop_boxes, challenge_3_closed_loop_nonreactive_agents, challenge_4_closed_loop_reactive_agents] DATASET_PARAMS = [ 'scenario_builder=nuplan_mini', # use nuplan mini database 'scenario_builder/nuplan/scenario_filter=all_scenarios', # initially select all scenarios in the database 'scenario_builder.nuplan.scenario_filter.scenario_types=[nearby_dense_vehicle_traffic, ego_at_pudo, ego_starts_unprotected_cross_turn, ego_high_curvature]', # select scenario types 'scenario_builder.nuplan.scenario_filter.limit_scenarios_per_type=10', # use 10 scenarios per scenario type 'scenario_builder.nuplan.scenario_filter.subsample_ratio=0.5', # subsample 20s scenario from 20Hz to 1Hz (0.05) ]

    hydra.core.global_hydra.GlobalHydra.instance().clear() # reinitialize hydra if already initialized hydra.initialize(config_path=CONFIG_PATH)

    cfg = hydra.compose(config_name=CONFIG_NAME, overrides=[ f'experiment_name={EXPERIMENT}', f'group={SAVE_DIR}', 'log_config=true', 'planner=ml_planner', 'model=vector_model', 'planner.model_config=${model}', # hydra notation to select model config f'planner.checkpoint_path={MODEL_PATH}', # this path can be replaced by the checkpoint of the model trained in the previous section f'+simulation={CHALLENGE}', *DATASET_PARAMS, ])

    main_simulation(cfg)

    parent_dir = Path(SAVE_DIR) / EXPERIMENT results_dir = list(parent_dir.iterdir())[0] # get the child dir nuboard_file_2 = [str(file) for file in results_dir.iterdir() if file.is_file() and file.suffix == '.nuboard'][0]

    Question: I found that subsample_ratio affects the simulation. What does subsample_ratio means? What are the proper values of subsample_ratio during training and simulation?

    opened by shubaozhang 9
  • About the dataset structure & tutorial.

    About the dataset structure & tutorial.

    Hi. I wonder about the dataset structure I can download them about v1.1 via https://www.nuscenes.org/nuplan#code

    • Maps 1ea
    • Mini Split 1ea
    • Train Split 8ea boston 1 / pittsburgh 1 / Las vegas 6
    • val split 1ea
    • test split 1ea

    With https://nuplan-devkit.readthedocs.io/en/latest/dataset_setup.html, the structure is explained, but I couldn't follow it exactly with downloaed files.

    What is the exp? What is the trainval?

    Also I tried to run some tutorial. But when "nuplan_scenario_visualization.ipynb" run, it failed.

    File /mnt/nuplan/nuplan-devkit/nuplan/database/nuplan_db/query_session.py:21, in execute_many(query_text, query_parameters, db_file) 18 cursor = connection.cursor() 20 try: ---> 21 cursor.execute(query_text, query_parameters) 23 for row in cursor: 24 yield row

    OperationalError: near "NULLS": syntax error

    Could you help me about the problem I got?

    opened by knifeven 8
  • free(): invalid pointer

    free(): invalid pointer

    The training crashes right after the last epoch when I run it from a python script.

    The only error I get is free(): invalid pointer

    I am using the vector model, nuplan_mini, and ddp accelerator

    Can you give me a hint where to search for an error?

    opened by mh0797 8
  • About how to use the data directly

    About how to use the data directly

    Hi! I am trying to use the data of nuplan directly, including the map data. But I do not know the meaning of fields in the dataset, such as 'left_has_reflectors' which is from SemanticMapLayer.LANE of the map. Is there any documents for helping use the dataset? Thanks a lot!

    opened by HermanZYZ 7
  • How long does it take to complete simulation within docker image?

    How long does it take to complete simulation within docker image?

    Hi developers: I run the docker container, but it takes 13 hours and still doesn't finished. The information displayed is shown in the figure below. How long does it take through a complete simulation within docker? 1668652890076

    My command: create the image

    docker build --network host -f Dockerfile.submission . -t nuplan-evalservice-server:test.contestant
    

    run the container

    docker run --name nuplan-evalservice-server -d -v ./:/nuplan_devkit -p 9902:9902 nuplan-evalservice-server:test.contestant
    
    opened by CrisCloseTheDoor 6
  • Cannot load nuBoard :: Internal Server Error

    Cannot load nuBoard :: Internal Server Error

    Dear Motional nuplan Team,

    Firstly congratulations to the work you have done!!! Working with nuplan is very interesting.

    I have followed the instructions and set up the devkit. I am trying to run the tutorials. I am having issues at the last part of the tutorials. Nuboard is not getting launched. I am getting 500: Internal Server Error.

    I am posting the error message from the log below. I would be very thankful to you, if you can help me fix this issue. Anyone else who came across the same issues, kindly share the solution to resolve it.

    Thanks in advance.

    ERROR:tornado.application:Uncaught exception GET / (127.0.0.1) HTTPServerRequest(protocol='http', host='localhost:5006', method='GET', uri='/', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/home/divya/miniconda3/envs/nuplan/lib/python3.9/site-packages/tornado/web.py", line 1713, in _execute result = await result File "/home/divya/miniconda3/envs/nuplan/lib/python3.9/site-packages/bokeh/server/views/doc_handler.py", line 54, in get session = await self.get_session() File "/home/divya/miniconda3/envs/nuplan/lib/python3.9/site-packages/bokeh/server/views/session_handler.py", line 145, in get_session session = await self.application_context.create_session_if_needed(session_id, self.request, token) File "/home/divya/miniconda3/envs/nuplan/lib/python3.9/site-packages/bokeh/server/contexts.py", line 242, in create_session_if_needed self._application.initialize_document(doc) File "/home/divya/miniconda3/envs/nuplan/lib/python3.9/site-packages/bokeh/application/application.py", line 192, in initialize_document h.modify_document(doc) File "/home/divya/miniconda3/envs/nuplan/lib/python3.9/site-packages/bokeh/application/handlers/function.py", line 143, in modify_document self._func(doc) File "/home/divya/nuplan-devkit/nuplan/planning/nuboard/nuboard.py", line 113, in main_page overview_tab = OverviewTab(doc=self._doc, experiment_file_data=experiment_file_data) File "/home/divya/nuplan-devkit/nuplan/planning/nuboard/tabs/overview_tab.py", line 33, in init super().init(doc=doc, experiment_file_data=experiment_file_data) File "/home/divya/nuplan-devkit/nuplan/planning/nuboard/base/base_tab.py", line 55, in init self.planner_checkbox_group.on_click(self._click_planner_checkbox_group) File "/home/divya/miniconda3/envs/nuplan/lib/python3.9/site-packages/bokeh/core/has_props.py", line 360, in getattr self._raise_attribute_error_with_matches(name, properties) File "/home/divya/miniconda3/envs/nuplan/lib/python3.9/site-packages/bokeh/core/has_props.py", line 368, in _raise_attribute_error_with_matches raise AttributeError(f"unexpected attribute {name!r} to {self.class.name}, {text} attributes are {nice_join(matches)}") AttributeError: unexpected attribute 'on_click' to CheckboxGroup, possible attributes are active, align, aspect_ratio, classes, context_menu, css_classes, disabled, flow_mode, height, height_policy, inline, js_event_callbacks, js_property_callbacks, labels, margin, max_height, max_width, min_height, min_width, name, resizable, sizing_mode, styles, stylesheets, subscribed_events, syncable, tags, visible, width or width_policy ERROR:tornado.access:500 GET / (127.0.0.1) 17.33ms

    opened by dmachapu 0
  • Why is ego velocity_y much more smaller than ego_velocity_x

    Why is ego velocity_y much more smaller than ego_velocity_x

    Hello, developers! Thank you for your data and dev-kit!

    In "2021.10.15.02.36.56_veh-53_02020_02442.db" of Singapore split, the ego vehicle ran a route like this: image

    But the corresponding velocity_x among the way is like: image

    While the velocity_y is like: image

    To me, velocity_y is like noise rather than normal speed.

    Here is my code:

    velocity_x = []
    velocity_y = []
    for i in range(len(scenarios_list)):
        scenario = get_default_scenario_from_token(
            NUPLAN_DATA_ROOT, log_db, scenarios_list[i]["token"].hex(), NUPLAN_MAPS_ROOT, NUPLAN_MAP_VERSION
        )
        velocity_x.append(scenario.initial_ego_state.agent.velocity.x)
        velocity_y.append(scenario.initial_ego_state.agent.velocity.y)
    
    opened by alantes 1
  • Bump setuptools from 62.3.3 to 65.5.1 in /tox

    Bump setuptools from 62.3.3 to 65.5.1 in /tox

    Bumps setuptools from 62.3.3 to 65.5.1.

    Release notes

    Sourced from setuptools's releases.

    v65.5.1

    No release notes provided.

    v65.5.0

    No release notes provided.

    v65.4.1

    No release notes provided.

    v65.4.0

    No release notes provided.

    v65.3.0

    No release notes provided.

    v65.2.0

    No release notes provided.

    v65.1.1

    No release notes provided.

    v65.1.0

    No release notes provided.

    v65.0.2

    No release notes provided.

    v65.0.1

    No release notes provided.

    v65.0.0

    No release notes provided.

    v64.0.3

    No release notes provided.

    v64.0.2

    No release notes provided.

    v64.0.1

    No release notes provided.

    v64.0.0

    No release notes provided.

    v63.4.3

    No release notes provided.

    v63.4.2

    No release notes provided.

    ... (truncated)

    Changelog

    Sourced from setuptools's changelog.

    v65.5.1

    Misc ^^^^

    • #3638: Drop a test dependency on the mock package, always use :external+python:py:mod:unittest.mock -- by :user:hroncok
    • #3659: Fixed REDoS vector in package_index.

    v65.5.0

    Changes ^^^^^^^

    • #3624: Fixed editable install for multi-module/no-package src-layout projects.
    • #3626: Minor refactorings to support distutils using stdlib logging module.

    Documentation changes ^^^^^^^^^^^^^^^^^^^^^

    • #3419: Updated the example version numbers to be compliant with PEP-440 on the "Specifying Your Project’s Version" page of the user guide.

    Misc ^^^^

    • #3569: Improved information about conflicting entries in the current working directory and editable install (in documentation and as an informational warning).
    • #3576: Updated version of validate_pyproject.

    v65.4.1

    Misc ^^^^

    v65.4.0

    Changes ^^^^^^^

    v65.3.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump setuptools from 59.5.0 to 65.5.1

    Bump setuptools from 59.5.0 to 65.5.1

    Bumps setuptools from 59.5.0 to 65.5.1.

    Release notes

    Sourced from setuptools's releases.

    v65.5.1

    No release notes provided.

    v65.5.0

    No release notes provided.

    v65.4.1

    No release notes provided.

    v65.4.0

    No release notes provided.

    v65.3.0

    No release notes provided.

    v65.2.0

    No release notes provided.

    v65.1.1

    No release notes provided.

    v65.1.0

    No release notes provided.

    v65.0.2

    No release notes provided.

    v65.0.1

    No release notes provided.

    v65.0.0

    No release notes provided.

    v64.0.3

    No release notes provided.

    v64.0.2

    No release notes provided.

    v64.0.1

    No release notes provided.

    v64.0.0

    No release notes provided.

    v63.4.3

    No release notes provided.

    v63.4.2

    No release notes provided.

    ... (truncated)

    Changelog

    Sourced from setuptools's changelog.

    v65.5.1

    Misc ^^^^

    • #3638: Drop a test dependency on the mock package, always use :external+python:py:mod:unittest.mock -- by :user:hroncok
    • #3659: Fixed REDoS vector in package_index.

    v65.5.0

    Changes ^^^^^^^

    • #3624: Fixed editable install for multi-module/no-package src-layout projects.
    • #3626: Minor refactorings to support distutils using stdlib logging module.

    Documentation changes ^^^^^^^^^^^^^^^^^^^^^

    • #3419: Updated the example version numbers to be compliant with PEP-440 on the "Specifying Your Project’s Version" page of the user guide.

    Misc ^^^^

    • #3569: Improved information about conflicting entries in the current working directory and editable install (in documentation and as an informational warning).
    • #3576: Updated version of validate_pyproject.

    v65.4.1

    Misc ^^^^

    v65.4.0

    Changes ^^^^^^^

    v65.3.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • simulation history sampling is counterintuitive

    simulation history sampling is counterintuitive

    Describe the bug

    The simulation history sampling can counterintuitive. This can be best explained considering the following example.

    Example

    Assume a model with past_trajectory_sampling.time_horizon=1.9 and past_trajectory_sampling.num_poses=4. (Note, setting past_trajectory_sampling.time_horizon=2.0 is not possible, as described in this issue. Ideally, the sampled past poses should be at the following time steps: [-0.475s, -0.95s, -1.425s, -1.9s]. However, as the logs themselves are recorded with a fixed sample interval of 0.1s, these time steps are between the recorded frames.

    Expected Behavior

    In my opinion the following behavior would be intuitive: The time steps between the recorded frames are rounded to the nearest frame resulting in the following time steps: [-0.5s, -1.0s, -1.4s, -1.9s]. That way, the returned frames match the intended trajectory sampling as good as possible.

    Actual Behavior

    However, the following time steps are actually sampled: [-0.4s, -0.8s, -1.2s, -1.6s]. Apparently, this can drastically impact the performance of a planner that was trained with a past interval of 2.0s, as it will implicitly assume that the frames passed to it in simulation are sampled with the same interval.

    Explanation

    In simulation, the feature builders have access to the SimulationHistoryBuffer which contains a list of past observations and ego states. In order to extract the frames that correspond to the feature builders past trajectory sampling from this list, this function is used. This function used a fixed step size for all time steps which is calculated from the desired past horizon and the number of samples and then rounded down (see here). In the above example, this would result in 0.475s being rounded down to 0.4s.

    Takeaway

    While I see that a fixed sample interval may make sense, I suggest to reconsider this decision as it may have undesired side effects such as described in the example above. Maybe it would also be ok, to raise an error or a warning if the user sets the past_trajectory_sampling in a way that will not be applicable in simulation

    Workaround

    In order to not be affected by this issue, the following must hold for the past_trajectory_sampling past_trajectory_sampling.time_horizon = k * past_trajectory_sampling.num_poses * 0.1s, where k is a natural number. Also, past_trajectory_sampling.time_horizon must not exceed 1.9s as described in this issue.

    opened by mh0797 0
Releases(nuplan-devkit-v1.0)
  • nuplan-devkit-v1.0(Oct 13, 2022)

    The official nuplan-devkit v1.0 release

    We have also released nuPlan v1.1 dataset, an updated version with improved data annotations. Please visit our website to download the new dataset.

    Thank you to all developers for contributing to the devkit @dimitris-motional @shakiba-motional @gianmarco-motional @christopher-motional @michael-motional @Noushin.Mehdipour @kokseang-motional @mspryn-motional @evan-motional @armuren @patk-motional @Juraj.Kabzan @Holger.Caesar

    Source code(tar.gz)
    Source code(zip)
  • nuplan-devkit-v0.6(Sep 9, 2022)

    nuplan-devkit v0.6 - nuPlan Planning Challenge release!

    This is the official release for the warm-up phase of the competition. Please visit our landing page at https://nuplan-devkit.readthedocs.io/en/latest/competition.html for more information.

    Smart agents optimizations - @patk-motional nuBoard improvements - @kokseang-motional Metrics improvements - @shakiba-motional @Noushin.Mehdipour Submission pipeline deployment and documentation @gianmarco-motional @michael-motional New advanced tutorial @mspryn-motional

    Source code(tar.gz)
    Source code(zip)
  • nuplan-devkit-v0.5(Aug 24, 2022)

    • Map API improvements including adjacent_edges() for getting adjacent lanes @Daniel.Ahn
    • Metrics improvements and documentation @shakiba-motional @Noushin.Mehdipour
    • Closed-loop with reactive agents now includes open-loop detections @patk-motional
    • iLQR was introduced to improve trajectory tracking @Vijay.Govindarajan
    Source code(tar.gz)
    Source code(zip)
  • nuplan-devkit-v0.4(Aug 11, 2022)

    Update devkit to v0.4

    NuPlanDB optimization @mspryn-motional Metrics improvements @shakiba-motional @Noushin.Mehdipour Feature caching logging fixes @mspryn-motional Pygeos warning suppression @michael-noronha-motional nuBoard visual updates @kokseang-motional Enable scenario filtering during training @Hiok.Hian.Ong LogFuturePlanner bug fix @patk-motional

    Source code(tar.gz)
    Source code(zip)
  • nuplan-devkit-v0.3(Jul 25, 2022)

    Version bump to nuPlan devkit v0.3

    Feature list:

    Metrics run time improvements @shakiba-motional @Noushin.Mehdipour Refactored database models to improve test coverage @Rachel.Koh @Clarence.Chye Add lane boundary API to the maps @christopher-motional Model deployment pipeline @mspryn-motional Reduce RAM usage @mspryn-motional Devkit setup fixes @gianmarco-motional nuBoard improvements @kokseang-motional Improve simulation runtime @michael-noronha-motional Kinematic bicycle model improvements @shakiba-motional Enable LR schedulers @Hiok.Hian.Ong IDM smart agents bugfix @patk-motional

    Source code(tar.gz)
    Source code(zip)
Owner
Motional
We're making self-driving vehicles a safe, reliable, and accessible reality.
Motional
ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation.

ENet This work has been published in arXiv: ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation. Packages: train contains too

e-Lab 344 Nov 21, 2022
PyTorch reimplementation of Diffusion Models

PyTorch pretrained Diffusion Models A PyTorch reimplementation of Denoising Diffusion Probabilistic Models with checkpoints converted from the author'

Patrick Esser 265 Jan 01, 2023
Code + pre-trained models for the paper Keeping Your Eye on the Ball Trajectory Attention in Video Transformers

Motionformer This is an official pytorch implementation of paper Keeping Your Eye on the Ball: Trajectory Attention in Video Transformers. In this rep

Facebook Research 192 Dec 23, 2022
Tensors and neural networks in Haskell

Hasktorch Hasktorch is a library for tensors and neural networks in Haskell. It is an independent open source community project which leverages the co

hasktorch 920 Jan 04, 2023
Multiple Object Extraction from Aerial Imagery with Convolutional Neural Networks

This is an implementation of Volodymyr Mnih's dissertation methods on his Massachusetts road & building dataset and my original methods that are publi

Shunta Saito 255 Sep 07, 2022
Code for the paper: On Pathologies in KL-Regularized Reinforcement Learning from Expert Demonstrations

Non-Parametric Prior Actor-Critic (N-PPAC) This repository contains the code for On Pathologies in KL-Regularized Reinforcement Learning from Expert D

Cong Lu 5 May 13, 2022
This repository contains code and data for "On the Multimodal Person Verification Using Audio-Visual-Thermal Data"

trimodal_person_verification This repository contains the code, and preprocessed dataset featured in "A Study of Multimodal Person Verification Using

ISSAI 7 Aug 31, 2022
Pytorch Performace Tuning, WandB, AMP, Multi-GPU, TensorRT, Triton

Plant Pathology 2020 FGVC7 Introduction A deep learning model pipeline for training, experimentaiton and deployment for the Kaggle Competition, Plant

Bharat Giddwani 0 Feb 25, 2022
Multi agent DDPG algorithm written in Python + Pytorch

Multi agent DDPG algorithm written in Python + Pytorch. It also includes a Jupyter notebook, Tennis.ipynb, as a showcase.

Rogier Wachters 2 Feb 26, 2022
Attention for PyTorch with Linear Memory Footprint

Attention for PyTorch with Linear Memory Footprint Unofficially implements https://arxiv.org/abs/2112.05682 to get Linear Memory Cost on Attention (+

11 Jan 09, 2022
The code of Zero-shot learning for low-light image enhancement based on dual iteration

Zero-shot-dual-iter-LLE The code of Zero-shot learning for low-light image enhancement based on dual iteration. You can get the real night image tests

1 Mar 18, 2022
Repository containing the PhD Thesis "Formal Verification of Deep Reinforcement Learning Agents"

Getting Started This repository contains the code used for the following publications: Probabilistic Guarantees for Safe Deep Reinforcement Learning (

Edoardo Bacci 5 Aug 31, 2022
A no-BS, dead-simple training visualizer for tf-keras

A no-BS, dead-simple training visualizer for tf-keras TrainingDashboard Plot inter-epoch and intra-epoch loss and metrics within a jupyter notebook wi

Vibhu Agrawal 3 May 28, 2021
GoodNews Everyone! Context driven entity aware captioning for news images

This is the code for a CVPR 2019 paper, called GoodNews Everyone! Context driven entity aware captioning for news images. Enjoy! Model preview: Huge T

117 Dec 19, 2022
[ICCV 2021] Excavating the Potential Capacity of Self-Supervised Monocular Depth Estimation

EPCDepth EPCDepth is a self-supervised monocular depth estimation model, whose supervision is coming from the other image in a stereo pair. Details ar

Rui Peng 110 Dec 23, 2022
Utility tools for the "Divide and Remaster" dataset, introduced as part of the Cocktail Fork problem paper

Divide and Remaster Utility Tools Utility tools for the "Divide and Remaster" dataset, introduced as part of the Cocktail Fork problem paper The DnR d

Darius Petermann 46 Dec 11, 2022
Deep Reinforcement Learning for Keras.

Deep Reinforcement Learning for Keras What is it? keras-rl implements some state-of-the art deep reinforcement learning algorithms in Python and seaml

Keras-RL 0 Dec 15, 2022
The official implementation of paper "Finding the Task-Optimal Low-Bit Sub-Distribution in Deep Neural Networks" (IJCV under review).

DGMS This is the code of the paper "Finding the Task-Optimal Low-Bit Sub-Distribution in Deep Neural Networks". Installation Our code works with Pytho

Runpei Dong 3 Aug 28, 2022
This repository contains the code for our paper VDA (public in EMNLP2021 main conference)

Virtual Data Augmentation: A Robust and General Framework for Fine-tuning Pre-trained Models This repository contains the code for our paper VDA (publ

RUCAIBox 13 Aug 06, 2022
Face detection using deep learning.

Face Detection Docker Solution Using Faster R-CNN Dockerface is a deep learning face detector. It deploys a trained Faster R-CNN network on Caffe thro

Nataniel Ruiz 181 Dec 19, 2022