Skip to content

Repository files navigation

DI-drive

icon

TwitterStyleDocsLocComments

GitHub Org's starsGitHub starsGitHub forksGitHub commit activityGitHub license

Introduction

DI-drive doc

DI-drive is an open-source Decision Intelligence Platform for Autonomous Driving simulation. DI-drive applies different simulators/datasets/cases in Decision Intelligence Training & Testing for Autonomous Driving Policy. It aims to

  • run Imitation Learning, Reinforcement Learning, GAIL etc. in a single platform and simple unified entry
  • apply Decision Intelligence in any part of the driving simulation
  • suit most of the driving simulators input & output
  • run designed driving cases and scenarios

and most importantly, to put these all together!

DI-drive uses DI-engine, a Reinforcement Learning platform to build most of the running modules and demos. DI-drive currently supports Carla, an open-source Autonomous Driving simulator to operate driving simulation, and MetaDrive, a diverse driving scenarios for Generalizable Reinforcement Learning. DI-drive is an application platform under OpenDILab

icon

Visualization of Carla driving in DI-drive

Outline

Installation

DI-drive runs with Python >= 3.5 and DI-engine >= 0.3.1 (Pytorch is needed in DI-engine). You can install DI-drive from the source code:

git clone https://github.com/opendilab/DI-drive.git
cd DI-drive
pip install -e .

DI-engine and Pytorch will be installed automatically.

In addition, at least one simulator in Carla and MetaDrive need to be installed to run in DI-drive. MetaDrive can be easily installed via pip. If Carla server is used for simulation, users need to install 'Carla Python API' in addition. You can use either one of them or both. Make sure to modify the activated simulators in core.__init__.py to avoid import error.

Please refer to the installation guide for details about the installation of DI-drive.

Quick Start

Carla

Users can check the installation of Carla and watch the visualization by running an 'auto' policy in provided town map. You need to start a Carla server first and modify the Carla host and port in auto_run.py into yours. Then run:

cd demo/auto_run
python auto_run.py

MetaDrive

After installation of MetaDrive, you can start an RL training in MetaDrive Macro Environment by running the following code:

cd demo/metadrive
python macro_env_dqn_train.py.

We provide detail guidance for IL and RL experiments in all simulators and quick run of existing policy for beginners in our documentation. Please refer to it if you have further questions.

Model Zoo

Imitation Learning

Reinforcement Learning

Other Method

DI-drive Casezoo

DI-drive Casezoo is a scenario set for training and testing the Autonomous Driving policy in simulator. Casezoo combines data collected from actual vehicles and Shanghai Lingang road license test Scenarios. Casezoo supports both evaluating and training, which makes the simulation closer to real driving.

Please see casezoo instruction for details about Casezoo.

File Structure

DI-drive
|-- .gitignore
|-- .style.yapf
|-- CHANGELOG
|-- LICENSE
|-- README.md
|-- format.sh
|-- setup.py
|-- core
| |-- data
| | |-- base_collector.py
| | |-- benchmark_dataset_saver.py
| | |-- bev_vae_dataset.py
| | |-- carla_benchmark_collector.py
| | |-- cict_dataset.py
| | |-- cilrs_dataset.py
| | |-- lbc_dataset.py
| | |-- benchmark
| | |-- casezoo
| | |-- srunner
| |-- envs
| | |-- base_drive_env.py
| | |-- drive_env_wrapper.py
| | |-- md_macro_env.py
| | |-- md_traj_env.py
| | |-- scenario_carla_env.py
| | |-- simple_carla_env.py
| |-- eval
| | |-- base_evaluator.py
| | |-- carla_benchmark_evaluator.py
| | |-- serial_evaluator.py
| | |-- single_carla_evaluator.py
| |-- models
| | |-- bev_speed_model.py
| | |-- cilrs_model.py
| | |-- common_model.py
| | |-- lbc_model.py
| | |-- model_wrappers.py
| | |-- mpc_controller.py
| | |-- pid_controller.py
| | |-- vae_model.py
| | |-- vehicle_controller.py
| |-- policy
| | |-- traj_policy
| | |-- auto_policy.py
| | |-- base_carla_policy.py
| | |-- cilrs_policy.py
| | |-- lbc_policy.py
| |-- simulators
| | |-- base_simulator.py
| | |-- carla_data_provider.py
| | |-- carla_scenario_simulator.py
| | |-- carla_simulator.py
| | |-- fake_simulator.py
| | |-- srunner
| |-- utils
| |-- data_utils
| |-- env_utils
| |-- learner_utils
| |-- model_utils
| |-- others
| |-- planner
| |-- simulator_utils
|-- demo
| |-- auto_run
| |-- cict
| |-- cilrs
| |-- implicit
| |-- latent_rl
| |-- lbc
| |-- metadrive
| |-- simple_rl
|-- docs
| |-- casezoo_instruction.md
| |-- figs
| |-- source

Join and Contribute

We appreciate all contributions to improve DI-drive, both algorithms and system designs. Welcome to OpenDILab community! Scan the QR code and add us on Wechat:

qr

Or you can contact us with slack or email (opendilab@pjlab.org.cn).

License

DI-engine released under the Apache 2.0 license.

Citation

@misc{didrive,
title={{DI-drive: OpenDILab} Decision Intelligence platform for Autonomous Driving simulation},
author={DI-drive Contributors},
publisher = {GitHub},
howpublished = {\url{https://github.com/opendilab/DI-drive}},
year={2021},
}

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - opendilab/DI-drive: Decision Intelligence Platform for Autonomous Driving simulation. · GitHub
Skip to content

Repository files navigation

DI-drive

icon

TwitterStyleDocsLocComments

GitHub Org's starsGitHub starsGitHub forksGitHub commit activityGitHub license

Introduction

DI-drive doc

DI-drive is an open-source Decision Intelligence Platform for Autonomous Driving simulation. DI-drive applies different simulators/datasets/cases in Decision Intelligence Training & Testing for Autonomous Driving Policy. It aims to

  • run Imitation Learning, Reinforcement Learning, GAIL etc. in a single platform and simple unified entry
  • apply Decision Intelligence in any part of the driving simulation
  • suit most of the driving simulators input & output
  • run designed driving cases and scenarios

and most importantly, to put these all together!

DI-drive uses DI-engine, a Reinforcement Learning platform to build most of the running modules and demos. DI-drive currently supports Carla, an open-source Autonomous Driving simulator to operate driving simulation, and MetaDrive, a diverse driving scenarios for Generalizable Reinforcement Learning. DI-drive is an application platform under OpenDILab

icon

Visualization of Carla driving in DI-drive

Outline

Installation

DI-drive runs with Python >= 3.5 and DI-engine >= 0.3.1 (Pytorch is needed in DI-engine). You can install DI-drive from the source code:

git clone https://github.com/opendilab/DI-drive.git
cd DI-drive
pip install -e .

DI-engine and Pytorch will be installed automatically.

In addition, at least one simulator in Carla and MetaDrive need to be installed to run in DI-drive. MetaDrive can be easily installed via pip. If Carla server is used for simulation, users need to install 'Carla Python API' in addition. You can use either one of them or both. Make sure to modify the activated simulators in core.__init__.py to avoid import error.

Please refer to the installation guide for details about the installation of DI-drive.

Quick Start

Carla

Users can check the installation of Carla and watch the visualization by running an 'auto' policy in provided town map. You need to start a Carla server first and modify the Carla host and port in auto_run.py into yours. Then run:

cd demo/auto_run
python auto_run.py

MetaDrive

After installation of MetaDrive, you can start an RL training in MetaDrive Macro Environment by running the following code:

cd demo/metadrive
python macro_env_dqn_train.py.

We provide detail guidance for IL and RL experiments in all simulators and quick run of existing policy for beginners in our documentation. Please refer to it if you have further questions.

Model Zoo

Imitation Learning

Reinforcement Learning

Other Method

DI-drive Casezoo

DI-drive Casezoo is a scenario set for training and testing the Autonomous Driving policy in simulator. Casezoo combines data collected from actual vehicles and Shanghai Lingang road license test Scenarios. Casezoo supports both evaluating and training, which makes the simulation closer to real driving.

Please see casezoo instruction for details about Casezoo.

File Structure

DI-drive
|-- .gitignore
|-- .style.yapf
|-- CHANGELOG
|-- LICENSE
|-- README.md
|-- format.sh
|-- setup.py
|-- core
| |-- data
| | |-- base_collector.py
| | |-- benchmark_dataset_saver.py
| | |-- bev_vae_dataset.py
| | |-- carla_benchmark_collector.py
| | |-- cict_dataset.py
| | |-- cilrs_dataset.py
| | |-- lbc_dataset.py
| | |-- benchmark
| | |-- casezoo
| | |-- srunner
| |-- envs
| | |-- base_drive_env.py
| | |-- drive_env_wrapper.py
| | |-- md_macro_env.py
| | |-- md_traj_env.py
| | |-- scenario_carla_env.py
| | |-- simple_carla_env.py
| |-- eval
| | |-- base_evaluator.py
| | |-- carla_benchmark_evaluator.py
| | |-- serial_evaluator.py
| | |-- single_carla_evaluator.py
| |-- models
| | |-- bev_speed_model.py
| | |-- cilrs_model.py
| | |-- common_model.py
| | |-- lbc_model.py
| | |-- model_wrappers.py
| | |-- mpc_controller.py
| | |-- pid_controller.py
| | |-- vae_model.py
| | |-- vehicle_controller.py
| |-- policy
| | |-- traj_policy
| | |-- auto_policy.py
| | |-- base_carla_policy.py
| | |-- cilrs_policy.py
| | |-- lbc_policy.py
| |-- simulators
| | |-- base_simulator.py
| | |-- carla_data_provider.py
| | |-- carla_scenario_simulator.py
| | |-- carla_simulator.py
| | |-- fake_simulator.py
| | |-- srunner
| |-- utils
| |-- data_utils
| |-- env_utils
| |-- learner_utils
| |-- model_utils
| |-- others
| |-- planner
| |-- simulator_utils
|-- demo
| |-- auto_run
| |-- cict
| |-- cilrs
| |-- implicit
| |-- latent_rl
| |-- lbc
| |-- metadrive
| |-- simple_rl
|-- docs
| |-- casezoo_instruction.md
| |-- figs
| |-- source

Join and Contribute

We appreciate all contributions to improve DI-drive, both algorithms and system designs. Welcome to OpenDILab community! Scan the QR code and add us on Wechat:

qr

Or you can contact us with slack or email (opendilab@pjlab.org.cn).

License

DI-engine released under the Apache 2.0 license.

Citation

@misc{didrive,
title={{DI-drive: OpenDILab} Decision Intelligence platform for Autonomous Driving simulation},
author={DI-drive Contributors},
publisher = {GitHub},
howpublished = {\url{https://github.com/opendilab/DI-drive}},
year={2021},
}

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - opendilab/DI-drive: Decision Intelligence Platform for Autonomous Driving simulation. · GitHub
Skip to content

Repository files navigation

DI-drive

icon

TwitterStyleDocsLocComments

GitHub Org's starsGitHub starsGitHub forksGitHub commit activityGitHub license

Introduction

DI-drive doc

DI-drive is an open-source Decision Intelligence Platform for Autonomous Driving simulation. DI-drive applies different simulators/datasets/cases in Decision Intelligence Training & Testing for Autonomous Driving Policy. It aims to

  • run Imitation Learning, Reinforcement Learning, GAIL etc. in a single platform and simple unified entry
  • apply Decision Intelligence in any part of the driving simulation
  • suit most of the driving simulators input & output
  • run designed driving cases and scenarios

and most importantly, to put these all together!

DI-drive uses DI-engine, a Reinforcement Learning platform to build most of the running modules and demos. DI-drive currently supports Carla, an open-source Autonomous Driving simulator to operate driving simulation, and MetaDrive, a diverse driving scenarios for Generalizable Reinforcement Learning. DI-drive is an application platform under OpenDILab

icon

Visualization of Carla driving in DI-drive

Outline

Installation

DI-drive runs with Python >= 3.5 and DI-engine >= 0.3.1 (Pytorch is needed in DI-engine). You can install DI-drive from the source code:

git clone https://github.com/opendilab/DI-drive.git
cd DI-drive
pip install -e .

DI-engine and Pytorch will be installed automatically.

In addition, at least one simulator in Carla and MetaDrive need to be installed to run in DI-drive. MetaDrive can be easily installed via pip. If Carla server is used for simulation, users need to install 'Carla Python API' in addition. You can use either one of them or both. Make sure to modify the activated simulators in core.__init__.py to avoid import error.

Please refer to the installation guide for details about the installation of DI-drive.

Quick Start

Carla

Users can check the installation of Carla and watch the visualization by running an 'auto' policy in provided town map. You need to start a Carla server first and modify the Carla host and port in auto_run.py into yours. Then run:

cd demo/auto_run
python auto_run.py

MetaDrive

After installation of MetaDrive, you can start an RL training in MetaDrive Macro Environment by running the following code:

cd demo/metadrive
python macro_env_dqn_train.py.

We provide detail guidance for IL and RL experiments in all simulators and quick run of existing policy for beginners in our documentation. Please refer to it if you have further questions.

Model Zoo

Imitation Learning

Reinforcement Learning

Other Method

DI-drive Casezoo

DI-drive Casezoo is a scenario set for training and testing the Autonomous Driving policy in simulator. Casezoo combines data collected from actual vehicles and Shanghai Lingang road license test Scenarios. Casezoo supports both evaluating and training, which makes the simulation closer to real driving.

Please see casezoo instruction for details about Casezoo.

File Structure

DI-drive
|-- .gitignore
|-- .style.yapf
|-- CHANGELOG
|-- LICENSE
|-- README.md
|-- format.sh
|-- setup.py
|-- core
| |-- data
| | |-- base_collector.py
| | |-- benchmark_dataset_saver.py
| | |-- bev_vae_dataset.py
| | |-- carla_benchmark_collector.py
| | |-- cict_dataset.py
| | |-- cilrs_dataset.py
| | |-- lbc_dataset.py
| | |-- benchmark
| | |-- casezoo
| | |-- srunner
| |-- envs
| | |-- base_drive_env.py
| | |-- drive_env_wrapper.py
| | |-- md_macro_env.py
| | |-- md_traj_env.py
| | |-- scenario_carla_env.py
| | |-- simple_carla_env.py
| |-- eval
| | |-- base_evaluator.py
| | |-- carla_benchmark_evaluator.py
| | |-- serial_evaluator.py
| | |-- single_carla_evaluator.py
| |-- models
| | |-- bev_speed_model.py
| | |-- cilrs_model.py
| | |-- common_model.py
| | |-- lbc_model.py
| | |-- model_wrappers.py
| | |-- mpc_controller.py
| | |-- pid_controller.py
| | |-- vae_model.py
| | |-- vehicle_controller.py
| |-- policy
| | |-- traj_policy
| | |-- auto_policy.py
| | |-- base_carla_policy.py
| | |-- cilrs_policy.py
| | |-- lbc_policy.py
| |-- simulators
| | |-- base_simulator.py
| | |-- carla_data_provider.py
| | |-- carla_scenario_simulator.py
| | |-- carla_simulator.py
| | |-- fake_simulator.py
| | |-- srunner
| |-- utils
| |-- data_utils
| |-- env_utils
| |-- learner_utils
| |-- model_utils
| |-- others
| |-- planner
| |-- simulator_utils
|-- demo
| |-- auto_run
| |-- cict
| |-- cilrs
| |-- implicit
| |-- latent_rl
| |-- lbc
| |-- metadrive
| |-- simple_rl
|-- docs
| |-- casezoo_instruction.md
| |-- figs
| |-- source

Join and Contribute

We appreciate all contributions to improve DI-drive, both algorithms and system designs. Welcome to OpenDILab community! Scan the QR code and add us on Wechat:

qr

Or you can contact us with slack or email (opendilab@pjlab.org.cn).

License

DI-engine released under the Apache 2.0 license.

Citation

@misc{didrive,
title={{DI-drive: OpenDILab} Decision Intelligence platform for Autonomous Driving simulation},
author={DI-drive Contributors},
publisher = {GitHub},
howpublished = {\url{https://github.com/opendilab/DI-drive}},
year={2021},
}

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - opendilab/DI-drive: Decision Intelligence Platform for Autonomous Driving simulation. · GitHub
Skip to content

Repository files navigation

DI-drive

icon

TwitterStyleDocsLocComments

GitHub Org's starsGitHub starsGitHub forksGitHub commit activityGitHub license

Introduction

DI-drive doc

DI-drive is an open-source Decision Intelligence Platform for Autonomous Driving simulation. DI-drive applies different simulators/datasets/cases in Decision Intelligence Training & Testing for Autonomous Driving Policy. It aims to

  • run Imitation Learning, Reinforcement Learning, GAIL etc. in a single platform and simple unified entry
  • apply Decision Intelligence in any part of the driving simulation
  • suit most of the driving simulators input & output
  • run designed driving cases and scenarios

and most importantly, to put these all together!

DI-drive uses DI-engine, a Reinforcement Learning platform to build most of the running modules and demos. DI-drive currently supports Carla, an open-source Autonomous Driving simulator to operate driving simulation, and MetaDrive, a diverse driving scenarios for Generalizable Reinforcement Learning. DI-drive is an application platform under OpenDILab

icon

Visualization of Carla driving in DI-drive

Outline

Installation

DI-drive runs with Python >= 3.5 and DI-engine >= 0.3.1 (Pytorch is needed in DI-engine). You can install DI-drive from the source code:

git clone https://github.com/opendilab/DI-drive.git
cd DI-drive
pip install -e .

DI-engine and Pytorch will be installed automatically.

In addition, at least one simulator in Carla and MetaDrive need to be installed to run in DI-drive. MetaDrive can be easily installed via pip. If Carla server is used for simulation, users need to install 'Carla Python API' in addition. You can use either one of them or both. Make sure to modify the activated simulators in core.__init__.py to avoid import error.

Please refer to the installation guide for details about the installation of DI-drive.

Quick Start

Carla

Users can check the installation of Carla and watch the visualization by running an 'auto' policy in provided town map. You need to start a Carla server first and modify the Carla host and port in auto_run.py into yours. Then run:

cd demo/auto_run
python auto_run.py

MetaDrive

After installation of MetaDrive, you can start an RL training in MetaDrive Macro Environment by running the following code:

cd demo/metadrive
python macro_env_dqn_train.py.

We provide detail guidance for IL and RL experiments in all simulators and quick run of existing policy for beginners in our documentation. Please refer to it if you have further questions.

Model Zoo

Imitation Learning

Reinforcement Learning

Other Method

DI-drive Casezoo

DI-drive Casezoo is a scenario set for training and testing the Autonomous Driving policy in simulator. Casezoo combines data collected from actual vehicles and Shanghai Lingang road license test Scenarios. Casezoo supports both evaluating and training, which makes the simulation closer to real driving.

Please see casezoo instruction for details about Casezoo.

File Structure

DI-drive
|-- .gitignore
|-- .style.yapf
|-- CHANGELOG
|-- LICENSE
|-- README.md
|-- format.sh
|-- setup.py
|-- core
| |-- data
| | |-- base_collector.py
| | |-- benchmark_dataset_saver.py
| | |-- bev_vae_dataset.py
| | |-- carla_benchmark_collector.py
| | |-- cict_dataset.py
| | |-- cilrs_dataset.py
| | |-- lbc_dataset.py
| | |-- benchmark
| | |-- casezoo
| | |-- srunner
| |-- envs
| | |-- base_drive_env.py
| | |-- drive_env_wrapper.py
| | |-- md_macro_env.py
| | |-- md_traj_env.py
| | |-- scenario_carla_env.py
| | |-- simple_carla_env.py
| |-- eval
| | |-- base_evaluator.py
| | |-- carla_benchmark_evaluator.py
| | |-- serial_evaluator.py
| | |-- single_carla_evaluator.py
| |-- models
| | |-- bev_speed_model.py
| | |-- cilrs_model.py
| | |-- common_model.py
| | |-- lbc_model.py
| | |-- model_wrappers.py
| | |-- mpc_controller.py
| | |-- pid_controller.py
| | |-- vae_model.py
| | |-- vehicle_controller.py
| |-- policy
| | |-- traj_policy
| | |-- auto_policy.py
| | |-- base_carla_policy.py
| | |-- cilrs_policy.py
| | |-- lbc_policy.py
| |-- simulators
| | |-- base_simulator.py
| | |-- carla_data_provider.py
| | |-- carla_scenario_simulator.py
| | |-- carla_simulator.py
| | |-- fake_simulator.py
| | |-- srunner
| |-- utils
| |-- data_utils
| |-- env_utils
| |-- learner_utils
| |-- model_utils
| |-- others
| |-- planner
| |-- simulator_utils
|-- demo
| |-- auto_run
| |-- cict
| |-- cilrs
| |-- implicit
| |-- latent_rl
| |-- lbc
| |-- metadrive
| |-- simple_rl
|-- docs
| |-- casezoo_instruction.md
| |-- figs
| |-- source

Join and Contribute

We appreciate all contributions to improve DI-drive, both algorithms and system designs. Welcome to OpenDILab community! Scan the QR code and add us on Wechat:

qr

Or you can contact us with slack or email (opendilab@pjlab.org.cn).

License

DI-engine released under the Apache 2.0 license.

Citation

@misc{didrive,
title={{DI-drive: OpenDILab} Decision Intelligence platform for Autonomous Driving simulation},
author={DI-drive Contributors},
publisher = {GitHub},
howpublished = {\url{https://github.com/opendilab/DI-drive}},
year={2021},
}

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - opendilab/DI-drive: Decision Intelligence Platform for Autonomous Driving simulation. · GitHub
Skip to content

Repository files navigation

DI-drive

icon

TwitterStyleDocsLocComments

GitHub Org's starsGitHub starsGitHub forksGitHub commit activityGitHub license

Introduction

DI-drive doc

DI-drive is an open-source Decision Intelligence Platform for Autonomous Driving simulation. DI-drive applies different simulators/datasets/cases in Decision Intelligence Training & Testing for Autonomous Driving Policy. It aims to

  • run Imitation Learning, Reinforcement Learning, GAIL etc. in a single platform and simple unified entry
  • apply Decision Intelligence in any part of the driving simulation
  • suit most of the driving simulators input & output
  • run designed driving cases and scenarios

and most importantly, to put these all together!

DI-drive uses DI-engine, a Reinforcement Learning platform to build most of the running modules and demos. DI-drive currently supports Carla, an open-source Autonomous Driving simulator to operate driving simulation, and MetaDrive, a diverse driving scenarios for Generalizable Reinforcement Learning. DI-drive is an application platform under OpenDILab

icon

Visualization of Carla driving in DI-drive

Outline

Installation

DI-drive runs with Python >= 3.5 and DI-engine >= 0.3.1 (Pytorch is needed in DI-engine). You can install DI-drive from the source code:

git clone https://github.com/opendilab/DI-drive.git
cd DI-drive
pip install -e .

DI-engine and Pytorch will be installed automatically.

In addition, at least one simulator in Carla and MetaDrive need to be installed to run in DI-drive. MetaDrive can be easily installed via pip. If Carla server is used for simulation, users need to install 'Carla Python API' in addition. You can use either one of them or both. Make sure to modify the activated simulators in core.__init__.py to avoid import error.

Please refer to the installation guide for details about the installation of DI-drive.

Quick Start

Carla

Users can check the installation of Carla and watch the visualization by running an 'auto' policy in provided town map. You need to start a Carla server first and modify the Carla host and port in auto_run.py into yours. Then run:

cd demo/auto_run
python auto_run.py

MetaDrive

After installation of MetaDrive, you can start an RL training in MetaDrive Macro Environment by running the following code:

cd demo/metadrive
python macro_env_dqn_train.py.

We provide detail guidance for IL and RL experiments in all simulators and quick run of existing policy for beginners in our documentation. Please refer to it if you have further questions.

Model Zoo

Imitation Learning

Reinforcement Learning

Other Method

DI-drive Casezoo

DI-drive Casezoo is a scenario set for training and testing the Autonomous Driving policy in simulator. Casezoo combines data collected from actual vehicles and Shanghai Lingang road license test Scenarios. Casezoo supports both evaluating and training, which makes the simulation closer to real driving.

Please see casezoo instruction for details about Casezoo.

File Structure

DI-drive
|-- .gitignore
|-- .style.yapf
|-- CHANGELOG
|-- LICENSE
|-- README.md
|-- format.sh
|-- setup.py
|-- core
| |-- data
| | |-- base_collector.py
| | |-- benchmark_dataset_saver.py
| | |-- bev_vae_dataset.py
| | |-- carla_benchmark_collector.py
| | |-- cict_dataset.py
| | |-- cilrs_dataset.py
| | |-- lbc_dataset.py
| | |-- benchmark
| | |-- casezoo
| | |-- srunner
| |-- envs
| | |-- base_drive_env.py
| | |-- drive_env_wrapper.py
| | |-- md_macro_env.py
| | |-- md_traj_env.py
| | |-- scenario_carla_env.py
| | |-- simple_carla_env.py
| |-- eval
| | |-- base_evaluator.py
| | |-- carla_benchmark_evaluator.py
| | |-- serial_evaluator.py
| | |-- single_carla_evaluator.py
| |-- models
| | |-- bev_speed_model.py
| | |-- cilrs_model.py
| | |-- common_model.py
| | |-- lbc_model.py
| | |-- model_wrappers.py
| | |-- mpc_controller.py
| | |-- pid_controller.py
| | |-- vae_model.py
| | |-- vehicle_controller.py
| |-- policy
| | |-- traj_policy
| | |-- auto_policy.py
| | |-- base_carla_policy.py
| | |-- cilrs_policy.py
| | |-- lbc_policy.py
| |-- simulators
| | |-- base_simulator.py
| | |-- carla_data_provider.py
| | |-- carla_scenario_simulator.py
| | |-- carla_simulator.py
| | |-- fake_simulator.py
| | |-- srunner
| |-- utils
| |-- data_utils
| |-- env_utils
| |-- learner_utils
| |-- model_utils
| |-- others
| |-- planner
| |-- simulator_utils
|-- demo
| |-- auto_run
| |-- cict
| |-- cilrs
| |-- implicit
| |-- latent_rl
| |-- lbc
| |-- metadrive
| |-- simple_rl
|-- docs
| |-- casezoo_instruction.md
| |-- figs
| |-- source

Join and Contribute

We appreciate all contributions to improve DI-drive, both algorithms and system designs. Welcome to OpenDILab community! Scan the QR code and add us on Wechat:

qr

Or you can contact us with slack or email (opendilab@pjlab.org.cn).

License

DI-engine released under the Apache 2.0 license.

Citation

@misc{didrive,
title={{DI-drive: OpenDILab} Decision Intelligence platform for Autonomous Driving simulation},
author={DI-drive Contributors},
publisher = {GitHub},
howpublished = {\url{https://github.com/opendilab/DI-drive}},
year={2021},
}

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - opendilab/DI-drive: Decision Intelligence Platform for Autonomous Driving simulation. · GitHub
Skip to content

Repository files navigation

DI-drive

icon

TwitterStyleDocsLocComments

GitHub Org's starsGitHub starsGitHub forksGitHub commit activityGitHub license

Introduction

DI-drive doc

DI-drive is an open-source Decision Intelligence Platform for Autonomous Driving simulation. DI-drive applies different simulators/datasets/cases in Decision Intelligence Training & Testing for Autonomous Driving Policy. It aims to

  • run Imitation Learning, Reinforcement Learning, GAIL etc. in a single platform and simple unified entry
  • apply Decision Intelligence in any part of the driving simulation
  • suit most of the driving simulators input & output
  • run designed driving cases and scenarios

and most importantly, to put these all together!

DI-drive uses DI-engine, a Reinforcement Learning platform to build most of the running modules and demos. DI-drive currently supports Carla, an open-source Autonomous Driving simulator to operate driving simulation, and MetaDrive, a diverse driving scenarios for Generalizable Reinforcement Learning. DI-drive is an application platform under OpenDILab

icon

Visualization of Carla driving in DI-drive

Outline

Installation

DI-drive runs with Python >= 3.5 and DI-engine >= 0.3.1 (Pytorch is needed in DI-engine). You can install DI-drive from the source code:

git clone https://github.com/opendilab/DI-drive.git
cd DI-drive
pip install -e .

DI-engine and Pytorch will be installed automatically.

In addition, at least one simulator in Carla and MetaDrive need to be installed to run in DI-drive. MetaDrive can be easily installed via pip. If Carla server is used for simulation, users need to install 'Carla Python API' in addition. You can use either one of them or both. Make sure to modify the activated simulators in core.__init__.py to avoid import error.

Please refer to the installation guide for details about the installation of DI-drive.

Quick Start

Carla

Users can check the installation of Carla and watch the visualization by running an 'auto' policy in provided town map. You need to start a Carla server first and modify the Carla host and port in auto_run.py into yours. Then run:

cd demo/auto_run
python auto_run.py

MetaDrive

After installation of MetaDrive, you can start an RL training in MetaDrive Macro Environment by running the following code:

cd demo/metadrive
python macro_env_dqn_train.py.

We provide detail guidance for IL and RL experiments in all simulators and quick run of existing policy for beginners in our documentation. Please refer to it if you have further questions.

Model Zoo

Imitation Learning

Reinforcement Learning

Other Method

DI-drive Casezoo

DI-drive Casezoo is a scenario set for training and testing the Autonomous Driving policy in simulator. Casezoo combines data collected from actual vehicles and Shanghai Lingang road license test Scenarios. Casezoo supports both evaluating and training, which makes the simulation closer to real driving.

Please see casezoo instruction for details about Casezoo.

File Structure

DI-drive
|-- .gitignore
|-- .style.yapf
|-- CHANGELOG
|-- LICENSE
|-- README.md
|-- format.sh
|-- setup.py
|-- core
| |-- data
| | |-- base_collector.py
| | |-- benchmark_dataset_saver.py
| | |-- bev_vae_dataset.py
| | |-- carla_benchmark_collector.py
| | |-- cict_dataset.py
| | |-- cilrs_dataset.py
| | |-- lbc_dataset.py
| | |-- benchmark
| | |-- casezoo
| | |-- srunner
| |-- envs
| | |-- base_drive_env.py
| | |-- drive_env_wrapper.py
| | |-- md_macro_env.py
| | |-- md_traj_env.py
| | |-- scenario_carla_env.py
| | |-- simple_carla_env.py
| |-- eval
| | |-- base_evaluator.py
| | |-- carla_benchmark_evaluator.py
| | |-- serial_evaluator.py
| | |-- single_carla_evaluator.py
| |-- models
| | |-- bev_speed_model.py
| | |-- cilrs_model.py
| | |-- common_model.py
| | |-- lbc_model.py
| | |-- model_wrappers.py
| | |-- mpc_controller.py
| | |-- pid_controller.py
| | |-- vae_model.py
| | |-- vehicle_controller.py
| |-- policy
| | |-- traj_policy
| | |-- auto_policy.py
| | |-- base_carla_policy.py
| | |-- cilrs_policy.py
| | |-- lbc_policy.py
| |-- simulators
| | |-- base_simulator.py
| | |-- carla_data_provider.py
| | |-- carla_scenario_simulator.py
| | |-- carla_simulator.py
| | |-- fake_simulator.py
| | |-- srunner
| |-- utils
| |-- data_utils
| |-- env_utils
| |-- learner_utils
| |-- model_utils
| |-- others
| |-- planner
| |-- simulator_utils
|-- demo
| |-- auto_run
| |-- cict
| |-- cilrs
| |-- implicit
| |-- latent_rl
| |-- lbc
| |-- metadrive
| |-- simple_rl
|-- docs
| |-- casezoo_instruction.md
| |-- figs
| |-- source

Join and Contribute

We appreciate all contributions to improve DI-drive, both algorithms and system designs. Welcome to OpenDILab community! Scan the QR code and add us on Wechat:

qr

Or you can contact us with slack or email (opendilab@pjlab.org.cn).

License

DI-engine released under the Apache 2.0 license.

Citation

@misc{didrive,
title={{DI-drive: OpenDILab} Decision Intelligence platform for Autonomous Driving simulation},
author={DI-drive Contributors},
publisher = {GitHub},
howpublished = {\url{https://github.com/opendilab/DI-drive}},
year={2021},
}

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - opendilab/DI-drive: Decision Intelligence Platform for Autonomous Driving simulation. · GitHub
Skip to content

Repository files navigation

DI-drive

icon

TwitterStyleDocsLocComments

GitHub Org's starsGitHub starsGitHub forksGitHub commit activityGitHub license

Introduction

DI-drive doc

DI-drive is an open-source Decision Intelligence Platform for Autonomous Driving simulation. DI-drive applies different simulators/datasets/cases in Decision Intelligence Training & Testing for Autonomous Driving Policy. It aims to

  • run Imitation Learning, Reinforcement Learning, GAIL etc. in a single platform and simple unified entry
  • apply Decision Intelligence in any part of the driving simulation
  • suit most of the driving simulators input & output
  • run designed driving cases and scenarios

and most importantly, to put these all together!

DI-drive uses DI-engine, a Reinforcement Learning platform to build most of the running modules and demos. DI-drive currently supports Carla, an open-source Autonomous Driving simulator to operate driving simulation, and MetaDrive, a diverse driving scenarios for Generalizable Reinforcement Learning. DI-drive is an application platform under OpenDILab

icon

Visualization of Carla driving in DI-drive

Outline

Installation

DI-drive runs with Python >= 3.5 and DI-engine >= 0.3.1 (Pytorch is needed in DI-engine). You can install DI-drive from the source code:

git clone https://github.com/opendilab/DI-drive.git
cd DI-drive
pip install -e .

DI-engine and Pytorch will be installed automatically.

In addition, at least one simulator in Carla and MetaDrive need to be installed to run in DI-drive. MetaDrive can be easily installed via pip. If Carla server is used for simulation, users need to install 'Carla Python API' in addition. You can use either one of them or both. Make sure to modify the activated simulators in core.__init__.py to avoid import error.

Please refer to the installation guide for details about the installation of DI-drive.

Quick Start

Carla

Users can check the installation of Carla and watch the visualization by running an 'auto' policy in provided town map. You need to start a Carla server first and modify the Carla host and port in auto_run.py into yours. Then run:

cd demo/auto_run
python auto_run.py

MetaDrive

After installation of MetaDrive, you can start an RL training in MetaDrive Macro Environment by running the following code:

cd demo/metadrive
python macro_env_dqn_train.py.

We provide detail guidance for IL and RL experiments in all simulators and quick run of existing policy for beginners in our documentation. Please refer to it if you have further questions.

Model Zoo

Imitation Learning

Reinforcement Learning

Other Method

DI-drive Casezoo

DI-drive Casezoo is a scenario set for training and testing the Autonomous Driving policy in simulator. Casezoo combines data collected from actual vehicles and Shanghai Lingang road license test Scenarios. Casezoo supports both evaluating and training, which makes the simulation closer to real driving.

Please see casezoo instruction for details about Casezoo.

File Structure

DI-drive
|-- .gitignore
|-- .style.yapf
|-- CHANGELOG
|-- LICENSE
|-- README.md
|-- format.sh
|-- setup.py
|-- core
| |-- data
| | |-- base_collector.py
| | |-- benchmark_dataset_saver.py
| | |-- bev_vae_dataset.py
| | |-- carla_benchmark_collector.py
| | |-- cict_dataset.py
| | |-- cilrs_dataset.py
| | |-- lbc_dataset.py
| | |-- benchmark
| | |-- casezoo
| | |-- srunner
| |-- envs
| | |-- base_drive_env.py
| | |-- drive_env_wrapper.py
| | |-- md_macro_env.py
| | |-- md_traj_env.py
| | |-- scenario_carla_env.py
| | |-- simple_carla_env.py
| |-- eval
| | |-- base_evaluator.py
| | |-- carla_benchmark_evaluator.py
| | |-- serial_evaluator.py
| | |-- single_carla_evaluator.py
| |-- models
| | |-- bev_speed_model.py
| | |-- cilrs_model.py
| | |-- common_model.py
| | |-- lbc_model.py
| | |-- model_wrappers.py
| | |-- mpc_controller.py
| | |-- pid_controller.py
| | |-- vae_model.py
| | |-- vehicle_controller.py
| |-- policy
| | |-- traj_policy
| | |-- auto_policy.py
| | |-- base_carla_policy.py
| | |-- cilrs_policy.py
| | |-- lbc_policy.py
| |-- simulators
| | |-- base_simulator.py
| | |-- carla_data_provider.py
| | |-- carla_scenario_simulator.py
| | |-- carla_simulator.py
| | |-- fake_simulator.py
| | |-- srunner
| |-- utils
| |-- data_utils
| |-- env_utils
| |-- learner_utils
| |-- model_utils
| |-- others
| |-- planner
| |-- simulator_utils
|-- demo
| |-- auto_run
| |-- cict
| |-- cilrs
| |-- implicit
| |-- latent_rl
| |-- lbc
| |-- metadrive
| |-- simple_rl
|-- docs
| |-- casezoo_instruction.md
| |-- figs
| |-- source

Join and Contribute

We appreciate all contributions to improve DI-drive, both algorithms and system designs. Welcome to OpenDILab community! Scan the QR code and add us on Wechat:

qr

Or you can contact us with slack or email (opendilab@pjlab.org.cn).

License

DI-engine released under the Apache 2.0 license.

Citation

@misc{didrive,
title={{DI-drive: OpenDILab} Decision Intelligence platform for Autonomous Driving simulation},
author={DI-drive Contributors},
publisher = {GitHub},
howpublished = {\url{https://github.com/opendilab/DI-drive}},
year={2021},
}

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - opendilab/DI-drive: Decision Intelligence Platform for Autonomous Driving simulation. · GitHub
Skip to content

Repository files navigation

DI-drive

icon

TwitterStyleDocsLocComments

GitHub Org's starsGitHub starsGitHub forksGitHub commit activityGitHub license

Introduction

DI-drive doc

DI-drive is an open-source Decision Intelligence Platform for Autonomous Driving simulation. DI-drive applies different simulators/datasets/cases in Decision Intelligence Training & Testing for Autonomous Driving Policy. It aims to

  • run Imitation Learning, Reinforcement Learning, GAIL etc. in a single platform and simple unified entry
  • apply Decision Intelligence in any part of the driving simulation
  • suit most of the driving simulators input & output
  • run designed driving cases and scenarios

and most importantly, to put these all together!

DI-drive uses DI-engine, a Reinforcement Learning platform to build most of the running modules and demos. DI-drive currently supports Carla, an open-source Autonomous Driving simulator to operate driving simulation, and MetaDrive, a diverse driving scenarios for Generalizable Reinforcement Learning. DI-drive is an application platform under OpenDILab

icon

Visualization of Carla driving in DI-drive

Outline

Installation

DI-drive runs with Python >= 3.5 and DI-engine >= 0.3.1 (Pytorch is needed in DI-engine). You can install DI-drive from the source code:

git clone https://github.com/opendilab/DI-drive.git
cd DI-drive
pip install -e .

DI-engine and Pytorch will be installed automatically.

In addition, at least one simulator in Carla and MetaDrive need to be installed to run in DI-drive. MetaDrive can be easily installed via pip. If Carla server is used for simulation, users need to install 'Carla Python API' in addition. You can use either one of them or both. Make sure to modify the activated simulators in core.__init__.py to avoid import error.

Please refer to the installation guide for details about the installation of DI-drive.

Quick Start

Carla

Users can check the installation of Carla and watch the visualization by running an 'auto' policy in provided town map. You need to start a Carla server first and modify the Carla host and port in auto_run.py into yours. Then run:

cd demo/auto_run
python auto_run.py

MetaDrive

After installation of MetaDrive, you can start an RL training in MetaDrive Macro Environment by running the following code:

cd demo/metadrive
python macro_env_dqn_train.py.

We provide detail guidance for IL and RL experiments in all simulators and quick run of existing policy for beginners in our documentation. Please refer to it if you have further questions.

Model Zoo

Imitation Learning

Reinforcement Learning

Other Method

DI-drive Casezoo

DI-drive Casezoo is a scenario set for training and testing the Autonomous Driving policy in simulator. Casezoo combines data collected from actual vehicles and Shanghai Lingang road license test Scenarios. Casezoo supports both evaluating and training, which makes the simulation closer to real driving.

Please see casezoo instruction for details about Casezoo.

File Structure

DI-drive
|-- .gitignore
|-- .style.yapf
|-- CHANGELOG
|-- LICENSE
|-- README.md
|-- format.sh
|-- setup.py
|-- core
| |-- data
| | |-- base_collector.py
| | |-- benchmark_dataset_saver.py
| | |-- bev_vae_dataset.py
| | |-- carla_benchmark_collector.py
| | |-- cict_dataset.py
| | |-- cilrs_dataset.py
| | |-- lbc_dataset.py
| | |-- benchmark
| | |-- casezoo
| | |-- srunner
| |-- envs
| | |-- base_drive_env.py
| | |-- drive_env_wrapper.py
| | |-- md_macro_env.py
| | |-- md_traj_env.py
| | |-- scenario_carla_env.py
| | |-- simple_carla_env.py
| |-- eval
| | |-- base_evaluator.py
| | |-- carla_benchmark_evaluator.py
| | |-- serial_evaluator.py
| | |-- single_carla_evaluator.py
| |-- models
| | |-- bev_speed_model.py
| | |-- cilrs_model.py
| | |-- common_model.py
| | |-- lbc_model.py
| | |-- model_wrappers.py
| | |-- mpc_controller.py
| | |-- pid_controller.py
| | |-- vae_model.py
| | |-- vehicle_controller.py
| |-- policy
| | |-- traj_policy
| | |-- auto_policy.py
| | |-- base_carla_policy.py
| | |-- cilrs_policy.py
| | |-- lbc_policy.py
| |-- simulators
| | |-- base_simulator.py
| | |-- carla_data_provider.py
| | |-- carla_scenario_simulator.py
| | |-- carla_simulator.py
| | |-- fake_simulator.py
| | |-- srunner
| |-- utils
| |-- data_utils
| |-- env_utils
| |-- learner_utils
| |-- model_utils
| |-- others
| |-- planner
| |-- simulator_utils
|-- demo
| |-- auto_run
| |-- cict
| |-- cilrs
| |-- implicit
| |-- latent_rl
| |-- lbc
| |-- metadrive
| |-- simple_rl
|-- docs
| |-- casezoo_instruction.md
| |-- figs
| |-- source

Join and Contribute

We appreciate all contributions to improve DI-drive, both algorithms and system designs. Welcome to OpenDILab community! Scan the QR code and add us on Wechat:

qr

Or you can contact us with slack or email (opendilab@pjlab.org.cn).

License

DI-engine released under the Apache 2.0 license.

Citation

@misc{didrive,
title={{DI-drive: OpenDILab} Decision Intelligence platform for Autonomous Driving simulation},
author={DI-drive Contributors},
publisher = {GitHub},
howpublished = {\url{https://github.com/opendilab/DI-drive}},
year={2021},
}

Releases

Packages

Used by

Contributors

Languages