IDEA-Research / DN-DETR

[CVPR 2022 Oral] Official implementation of DN-DETR
Apache License 2.0
541 stars 62 forks source link

Parameters from the article #13

Open K-Mike opened 2 years ago

K-Mike commented 2 years ago

Hi,

First of all, thanks for uploading your code.

Please tell me with what parameters you need to run your code in order to repeat the results from the article.

FengLi-ust commented 2 years ago

Hi, you can refer to our model zoo and check the config.json files. In addition, our provided command in ReadMe covers the parameters you need to set, and you can change the backbone or add --dilation/--num_patterns to run other models.

tonysherbondy commented 2 years ago

Hi DN-DETR team, Thank you again for sharing your code! I am having problems repeating your training results. I do the following:

python -m torch.distributed.launch --nproc_per_node=8 \
    main.py -m dn_dab_detr \
  --output_dir "logs/my_dn_dab_detr_bs2" \
  --batch_size 2 \
  --epochs 50 \
  --lr_drop 40 \
  --coco_path "data/coco17" \
  --transformer_activation relu \
  --use_dn

But I only get up to 41.7, which seems like the value of DAB without DN, yet I have --use_dn. Are there any other tricks? Similarly, I have tried to train dn_deformable_detr and only get 46.1.

When I use your golden weights, my eval produces your eval, but training seems to be missing something.

FengLi-ust commented 2 years ago

Hi, I think I use the same running command as you do. I am not sure why you get this result, can you give more information, like the training log?

Please make sure you did not change the default parameters, like the learning rate.

tonysherbondy commented 2 years ago

Here is the info.txt that logs the exact args and other model info. Here is the log.txt of loss info during training.

Eval Result: Accumulating evaluation results... DONE (t=23.92s). IoU metric: bbox Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.419 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.632 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.446 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.221 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.456 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.613 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.341 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.560 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.613 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.375 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.678 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.846

Thank you for your help replicating this fascinating work!

FengLi-ust commented 2 years ago

Hey, I cannot find the problem from these logs. I suggest you clone our clean code again and rerun it to see if you encounter the same problem. As no other people have reproducing problems, I think you might change some code by accident.