Tsinghua-MARS-Lab/DenseTNT

MinFDE optimization error

owoshch opened this issue · 2 comments

Thank you for your wonderful work!

I'm trying to reproduce your results on Argoverse dataset and encountering the following problem.
Let's say I have a dataset stored in folders /datasets/argoverse/train/data and /datasets/argoverse/val/data. I want to optimize minFDE, so I add the following line to my command: --do_eval --eval_params optimization MRminFDE=0.0 cnt_sample=9 opti_time=0.1

OUTPUT_DIR=models.densetnt.1; GPU_NUM=8; CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python src/run.py --argoverse --future_frame_num 30 --do_train --data_dir /datasets/argoverse/train/data --output_dir ${OUTPUT_DIR} --hidden_size 128 --train_batch_size 64 --sub_graph_batch_size 4096 --use_map --core_num 16 --use_centerline --distributed_training ${GPU_NUM} --other_params semantic_lane direction l1_loss goals_2D enhance_global_graph subdivide lazy_points new laneGCN point_sub_graph stage_one stage_one_dynamic=0.95 laneGCN-4 point_level point_level-4 point_level-4-3 complete_traj complete_traj-3 --do_eval --eval_params optimization MRminFDE=0.0 cnt_sample=9 opti_time=0.1 --do_eval --eval_params optimization MRminFDE=0.0 cnt_sample=9 opti_time=0.1

This command will fail due to this assertion https://github.com/Tsinghua-MARS-Lab/DenseTNT/blob/main/src/utils.py#L276 because the models.densetnt.1 folder is not created yet and my validation is not in val/data folder.

This brings me to three questions:

  1. Which command should I use to reproduce the experiment?
  2. Should I firstly run the command without --do_eval --eval_params optimization MRminFDE=0.0 cnt_sample=9 opti_time=0.1 and then run the command with it? What is the intended use case?
  3. Is there a way to specify folders for train and validation in one command? It seems that the path for validation is just hard-coded in the line https://github.com/Tsinghua-MARS-Lab/DenseTNT/blob/main/src/utils.py#L318

Thank you!

  1. You need first run the training command before evaluation. The training command will automatically create the folder.
  2. Yes, do_eval means evaluation.
  3. You can use ln -s to create a soft link from ./train/data to your dataset folder /datasets/argoverse/train/data

Thank you!