sshaoshuai / PointRCNN

PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud, CVPR 2019.
MIT License
1.7k stars 425 forks source link

what should I do when I train and eval in offline GT augmentation mode? #210

Open Ailiennl opened 2 years ago

Ailiennl commented 2 years ago

There is a operation manual about train with offline GT augmentation mode in "read me", but I don't know how to vertify it. 1. I guess that I should choose the 'rcnn_offline' mode, but I don't know where are the "--rcnn_eval_feature_dir " and "--rcnn_eval_roi_dir". 2. I accidentally found two folders: ../output/rcnn/default/eval/epoch_30/val/final_result/data and ../output/rpn/default/eval/epoch_200/train_aug/features. I used the following command to verfity, but I got a error.

python eval_rcnn.py --cfg_file cfgs/default.yaml --ckpt ../output/rcnn/default/ckpt/checkpoint_epoch_30.pth --batch_size 1 --eval_mode rcnn_offline --rcnn_eval_roi_dir ../output/rcnn/default/eval/epoch_30/val/final_result/data --rcnn_eval_feature_dir ../output/rpn/default/eval/epoch_200/train_aug/features

  File "eval_rcnn.py", line 902, in <module>
    eval_single_ckpt(root_result_dir)
  File "eval_rcnn.py", line 765, in eval_single_ckpt
    eval_one_epoch(model, test_loader, epoch_id, root_result_dir, logger)
  File "eval_rcnn.py", line 690, in eval_one_epoch
    ret_dict = eval_one_epoch_rcnn(model, dataloader, epoch_id, result_dir, logger)
  File "eval_rcnn.py", line 280, in eval_one_epoch_rcnn
    for data in dataloader:
  File "/home/hello/anaconda3/envs/PointRCNN/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 637, in __next__
    return self._process_next_batch(batch)
  File "/home/hello/anaconda3/envs/PointRCNN/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 658, in _process_next_batch
    raise batch.exc_type(batch.exc_msg)
ValueError: Traceback (most recent call last):
  File "/home/hello/anaconda3/envs/PointRCNN/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 138, in _worker_loop
    samples = collate_fn([dataset[i] for i in batch_indices])
  File "/home/hello/anaconda3/envs/PointRCNN/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 138, in <listcomp>
    samples = collate_fn([dataset[i] for i in batch_indices])
  File "/home/hello/ljXu/PointRCNN/PointRCNN-320_V1/tools/../lib/datasets/kitti_rcnn_dataset.py", line 245, in __getitem__
    return self.get_proposal_from_file(index)
  File "/home/hello/ljXu/PointRCNN/PointRCNN-320_V1/tools/../lib/datasets/kitti_rcnn_dataset.py", line 821, in get_proposal_from_file
    roi_boxes3d = np.concatenate(roi_box3d_list, axis=0)  # (N, 7)
  File "<__array_function__ internals>", line 6, in concatenate
ValueError: need at least one array to concatenate

../output/rcnn/default/eval/epoch_30/val/final_result/data/000020.txt

Finally, I found that all the files in "../output/rcnn/default/eval/epoch_30/val/final_result/data" were empty.