Skip to content

Latest commit

 

History

History
84 lines (68 loc) · 2.71 KB

GETTING_STARTED.md

File metadata and controls

84 lines (68 loc) · 2.71 KB

Getting Started

Dataset Download

You can download point clouds, images and other information from the ONCE website. Please follow the instructions to unzip and organize the data.

If you only need labeled data to train 3D detectors, you can download files (about 50GB) with the prefix train/val/test.

If you want to perform self/semi-supervised learning on the unlabeled data, you can additionally download files (about 2TB) with the prefix raw.

Dataset Preparation

  • Please organize the data as follows:
ONCE_Benchmark
├── data
│   ├── once
│   │   │── ImageSets
|   |   |   ├──train.txt
|   |   |   ├──val.txt
|   |   |   ├──test.txt
|   |   |   ├──raw_small.txt (100k unlabeled)
|   |   |   ├──raw_medium.txt (500k unlabeled)
|   |   |   ├──raw_large.txt (1M unlabeled)
│   │   │── data
│   │   │   ├──000000
|   |   |   |   |──000000.json (infos)
|   |   |   |   |──lidar_roof (point clouds)
|   |   |   |   |   |──frame_timestamp_1.bin
|   |   |   |   |  ...
|   |   |   |   |──cam0[1-9] (images)
|   |   |   |   |   |──frame_timestamp_1.jpg
|   |   |   |   |  ...
|   |   |   |  ...
├── pcdet
├── tools
  • Generate the data infos by running the following command:
python -m pcdet.datasets.once.once_dataset --func create_once_infos --cfg_file tools/cfgs/dataset_configs/once_dataset.yaml

Training & Testing

Train a model

You could optionally add extra command line parameters --batch_size ${BATCH_SIZE} and --epochs ${EPOCHS} to specify your preferred parameters.

  • Train with multiple GPUs or multiple machines
sh scripts/dist_train.sh ${NUM_GPUS} --cfg_file ${CONFIG_FILE}
  • Train with a single GPU:
python train.py --cfg_file ${CONFIG_FILE}
  • Semi-supervised training with multiple GPUs or multiple machines
sh scripts/dist_semi_train.sh ${NUM_GPUS} --cfg_file ${CONFIG_FILE}
  • Semi-supervised training with a single GPU:
python semi_train.py --cfg_file ${CONFIG_FILE}

Test and evaluate the pretrained models

  • Test with a pretrained model:
python test.py --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE} --ckpt ${CKPT}
  • To test all the saved checkpoints of a specific training setting and draw the performance curve on the Tensorboard, add the --eval_all argument:
python test.py --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE} --eval_all
  • To test with multiple GPUs:
sh scripts/dist_test.sh ${NUM_GPUS} \
    --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE}