StandardE2E provides a consistent interface for preprocessing, loading, and training with multimodal data from various end-to-end autonomous driving datasets. It standardizes the complex process of working with different dataset formats, allowing researchers to focus on model development rather than data engineering.
- Latest docs: https://standarde2e.readthedocs.io/en/latest/
pip install standard-e2e# Install uv: https://docs.astral.sh/uv/
git clone https://github.com/stepankonev/StandardE2E.git
cd StandardE2E
uv sync --all-extras # installs deps and dev deps from uv.lock
uv run pytest tests/ # run testsconda create -n standard_e2e python=3.12
conda activate standard_e2e
pip install -e ".[dev]"| Dataset | Cameras | Lidar | HD Map | Detections | Driving Command | Preference Trajectories |
|---|---|---|---|---|---|---|
| Waymo End-to-end |
β | β | β | β | β | |
| Waymo Perception |
β | β | β | β | β | |
| Navsim |
β | β | β | β | β | |
| WayveScenes101 |
β | β | β | β | β | |
| Argoverse 2 Sensor |
β | β | β | β | β | |
| Argoverse 2 Lidar |
β | β | β | β | β | β |
| Argoverse 2 Map Change |
β | β | β | β | β | β |
| KITTI |
β | β | β | β | β | |
| KITTI-360 |
β | β | β | β | β | |
| Waymo Motion Prediction |
β | β | β | β | β | β |
| Argoverse 2 Motion Forecasting [?] |
β | β | β | β | β | β |
- Unified Dataset Interface: Work with multiple datasets through a single API
- Multimodal Support: Cameras, LiDAR
, HD maps
, trajectories, detections and more
- Flexible Preprocessing: Configurable pipelines with standardization and augmentation
- Trajectory Management: Advanced handling of time-series vehicle data
- PyTorch Integration: Ready-to-use datasets and dataloaders
- intro_tutorial.ipynb - Introduction to StandardE2E framework
- containers.ipynb - Working with data containers
- multi_dataset_training_and_filtering.ipynb - Multi-dataset training and filtering
- creating_custom_adapter.ipynb - Creating custom dataset adapters
Run from the project root so uv run uses the project environment. If you use pip/conda instead, activate your env and use python in place of uv run python.
-
Preprocess Waymo End-to-end dataset - Convert raw dataset to standardized format (
dataset_preprocessing.py)uv run python examples/dataset_preprocessing.py \ --e2e_dataset_path E2E_DATASET_PATH \ --split {training,val,test} \ --processed_data_path PROCESSED_DATA_PATH -
Train your model - End-to-end training with multimodal data (
very_simple_training.py). This example illustrates iteration over the preprocessed dataset. Also, in this example for validation we use 2 DataLoaders - full validation split and filtered validation split that only contains samples with preferred trajectories.uv run python examples/very_simple_training.py --processed_data_path PROCESSED_DATA_PATH
-
Create a unified DataLoader: This example shows how to process 2 different datasets within same DataLoader. First, please do preprocessing for
Waymo E2EandWaymo Perceptiondatasets in order to utilize them in the DataLoader with the script (prepare_datasets_waymo_e2e_perception.sh).The script
creating_unified_dataloader.pycreated a unified dataloader that iterates over bothWaymo E2EandWaymo Perceptionin one epoch providing consistent data structure.uv run python examples/creating_unified_dataloader.py --processed_data_path PROCESSED_DATA_PATH
-
Add a new dataset adapter - Guide for adding support for new datasets (
adding_new_dataset.md)
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project useful, you can support it by giving it a β, or by contributing with your PRs / issues / feature requests. Also, if you use this project, you can greatly support it by citing
@software{standarde2e,
title={StandardE2E: A Unified Framework for Autonomous Driving Dataset Management},
author={stepankonev},
year={2025},
url={https://github.com/stepankonev/StandardE2E}
}Markdown
[](https://github.com/stepankonev/StandardE2E)HTML
<a href="https://github.com/stepankonev/StandardE2E">
<img src="https://raw.githubusercontent.com/stepankonev/StandardE2E/refs/heads/main/assets/StandardE2E_gh_badge_dark.svg" alt="StandardE2E"/>
</a>
