1 Project Structure
This page provides a detailed overview of the LEAD project’s directory structure and organization.
1.1 Main Python Package (lead/)
1.1.1 lead/common/
Core utilities used across the project:
Configuration management
Logging and visualization utilities
Geometric transformations and coordinate systems
Data preprocessing helpers
1.1.2 lead/data_buckets/
Manages data organization into buckets for efficient training:
Bucket creation and validation
Data sampling strategies
Dataset statistics and metadata
1.1.3 lead/data_loader/
PyTorch data loading pipeline:
Dataset implementations for different benchmarks
Data augmentation strategies
Efficient batch loading and caching
1.1.4 lead/expert/
Expert driver implementation:
Privileged ground-truth planning
Data collection orchestration
1.1.5 lead/inference/
Closed-loop evaluation pipeline:
Model inference wrapper
Sensor data preprocessing
Metric computation
Visualization and logging
1.1.6 lead/infraction_webapp/
Interactive web dashboard for analyzing driving failures:
Video playback of driving runs
Infraction highlighting and annotation
1.1.7 lead/tfv6/
TransFuser V6 model architecture:
Vision encoder networks (ResNet, RegNet)
LiDAR/Radar feature extraction
Multi-modal fusion transformer
Trajectory prediction heads
Control output layers
1.1.8 lead/training/
Training pipeline and utilities:
PyTorch Lightning training modules
Loss functions and metrics
Optimizer and scheduler configurations
Checkpointing and logging
Distributed training support
1.2 Top-Level Structure
lead/ # Main Python package
├── common/ # Shared utilities and helpers
├── data_buckets/ # Data bucket management
├── data_loader/ # PyTorch data loading
├── expert/ # Expert driver implementation
├── inference/ # Closed-loop evaluation
├── infraction_webapp/ # Interactive infraction viewer
├── tfv6/ # TransFuser V6 model architecture
└── training/ # Training pipeline
3rd_party/ # Third-party dependencies
├── alpamayo/ # NVIDIA Alpamayo model
├── Bench2Drive/ # Bench2Drive benchmark tools
├── CARLA_0915/ # CARLA simulator
├── carla_route_generator/ # Route generation tools
├── leaderboard/ # CARLA Leaderboard 2.0
├── leaderboard_autopilot/ # Autopilot-specific leaderboard
├── navsim_workspace/ # NAVSIM evaluation
├── scenario_runner/ # CARLA scenario execution
└── scenario_runner_autopilot/ # Autopilot scenario runner
data/ # Route definitions and debug data
├── benchmark_routes/ # Official benchmark routes
├── carla_leaderboard2/ # Sensor data
├── data_routes/ # Training data collection routes
├── debug_routes/ # Debugging routes
└── expert_debug/ # Expert driver debug data
docs/ # Documentation source
├── source/ # Sphinx documentation files
├── build/ # Built documentation (generated)
└── assets/ # Images and media
outputs/ # Training and evaluation outputs
├── checkpoints/ # Model checkpoints
├── evaluation/ # SLURM evaluation results
├── local_evaluation/ # Local evaluation results
├── local_training/ # Local training outputs
├── training/ # SLURM training outputs
├── training_viz/ # Training visualizations
└── visualization/ # General visualizations
scripts/ # Utility scripts
├── build_buckets_pretrain.py # Pre-training data buckets
├── build_buckets_posttrain.py # Post-training data buckets
├── build_cache.py # Data cache generation
├── setup_carla.sh # CARLA installation
├── start_carla.sh # CARLA startup
├── eval_bench2drive.sh # Bench2Drive evaluation
├── eval_longest6.sh # Longest6 evaluation
├── eval_town13.sh # Town13 evaluation
└── ... # More utility scripts
slurm/ # SLURM job scripts
├── init.sh # Bash constructor for a SLURM job
├── experiments/ # Jobs description
└── evaluation/ # Evaluation helper scripts
notebooks/ # Jupyter notebooks
├── carla_offline_inference.ipynb
├── data_format.ipynb
├── inspect_expert_output.ipynb
└── ...
tests/ # Unit and integration tests