Skip to content

Latest commit

 

History

History
132 lines (116 loc) · 6.85 KB

File metadata and controls

132 lines (116 loc) · 6.85 KB

Evaluation

Open-loop Evaluation

Open-loop evaluation validates the model's predictive capabilities under fixed historical conditions.

Configuration

  1. Update the drivepi config file and drivemoe config file
  2. Important: The model must be trained with horizon=20 (predicting the next 20 trajectory points)

Run Evaluation

bash script/evaluation/open_loop_drivepi0.sh
bash script/evaluation/open_loop_drivemoe.sh
Table 1: Statistics of Dataset Distribution and Camera Router Performance.
Camera Position Training Set Evaluation Results (Test Set)
Samples Ratio (%) Precision Recall F1-score Support
Front Left35,10515.580.830.890.861,300
Front Right8,8653.930.790.810.80666
Back161,71771.760.950.920.938,996
Back Left13,6716.070.770.720.751,120
Back Right5,9902.660.390.900.54226
Total / Macro Avg225,348100.000.750.850.7812,308
Overall Accuracy0.89
Table 2: Statistics of Dataset Distribution and Action Router Performance.
Scenario Training Set Evaluation Results (Test Set)
Samples Ratio (%) Precision Recall F1-score Support
Merging13,3045.020.800.760.78670
Parking Exit1,0360.461.001.001.0040
Overtaking29,92113.280.870.910.891,377
Emergency Brake12,0645.350.760.670.71690
Giveway5,2002.310.960.380.54482
Traffic Sign45,33220.120.750.960.842,045
Normal118,49152.580.880.850.867,004
Total / Macro Avg 225,348 100.00 0.86 0.79 0.80 12,308
Overall Accuracy 0.84

Closed-loop evaluation

For closed-loop testing, configure the drivepi config file and drivemoe config file (update paths, etc.). You can download our DrivePi0 and DriveMoE checkpoint here.

The following are our evaluation results on 8*H200 GPUs.

Model DS SR Json
DrivePi0-Base-bf16 55.85 30.00 DrivePi0-Base-bf16
DrivePi0-Base-fp32 65.85 42.27 DrivePi0-Base-fp32
DrivePi0-Full-fp32 67.41 44.09 DrivePi0-Full-fp32
DriveMoE-Base-bf16 74.22 48.64 DriveMoE-Base-bf16

To properly set up the evaluation environment, please clone the Bench2Drive repository at the same directory level as your DriveMoE repository

cd ..
git clone https://github.com/Thinklab-SJTU/Bench2Drive.git

This will result in the following directory structure:

/parent_directory/
├── DriveMoE/
│   ├── ... (DriveMoE contents)
└── Bench2Drive/
    ├── ... (Bench2Drive contents)

Download and setup CARLA 0.9.15, you can skip if you have already downloaded CARLA on your device.

mkdir carla
cd carla
wget https://carla-releases.s3.us-east-005.backblazeb2.com/Linux/CARLA_0.9.15.tar.gz
tar -xvf CARLA_0.9.15.tar.gz
cd Import && wget https://carla-releases.s3.us-east-005.backblazeb2.com/Linux/AdditionalMaps_0.9.15.tar.gz
cd .. && bash ImportAssets.sh

Then link team_code like this:

cp DriveMoE/script/evaluation/closed_loop_drivepi0.sh Bench2Drive/leaderboard/scripts
cp DriveMoE/script/evaluation/closed_loop_drivemoe.sh Bench2Drive/leaderboard/scripts
cp DriveMoE/script/evaluation/requirements.txt Bench2Drive
mkdir Bench2Drive/leaderboard/team_code
cd Bench2Drive/leaderboard/team_code
ln -s ../../../DriveMoE/src/agent/team_code/*  ./
cd ../../   # Now you are in the Bench2Drive directory

Then set up eval environment

conda create -n DriveMoE_eval python=3.8
conda activate DriveMoE_eval
export CARLA_ROOT=YOUR_CARLA_PATH
echo "$CARLA_ROOT/PythonAPI/carla/dist/carla-0.9.15-py3.7-linux-x86_64.egg" >> YOUR_CONDA_PATH/envs/DriveMoE_eval/lib/python3.8/site-packages/carla.pth
pip install -r requirements.txt

Set closed_loop_drivepi0.sh basing on your device and then run:

bash leaderboard/scripts/closed_loop_drivepi0.sh
bash leaderboard/scripts/closed_loop_drivemoe.sh

Follow this to use evaluation tools of Bench2Drive.

Further Assistance

For questions regarding:

  • Benchmark implementation details
  • Dataset specifications
  • Evaluation metrics

Please refer to the Bench2Drive Documentation or open an issue in the Bench2Drive Issues tracker.