Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to reproduce performance in standard models? #735

Open
lucienne999 opened this issue Sep 24, 2021 · 11 comments
Open

How to reproduce performance in standard models? #735

lucienne999 opened this issue Sep 24, 2021 · 11 comments

Comments

@lucienne999
Copy link

lucienne999 commented Sep 24, 2021

Hi, the code I run according to the quick start in README.md.

python tools/train.py -n yolox-s -d 8 -b 64 --fp16 -o 

However, I get 39.6 mAP which is the performance of legacy models(also showed in paper) .

How to reproduce the 40.5 mAP? Should I update some args?

@hhaAndroid
Copy link

@LicharYuan The accuracy of my run is also 39.5.

@Joker316701882
Copy link
Member

@LicharYuan @hhaAndroid Hi, the reported results are trained with batch size 128. We try batch size 64 and get the same results (39.5mAP) as you mentioned. However, the 40.5 mAP can be obtained under batch size 64 when you change the decay factor for the ema model from 0.9998 to 0.9999.

self.ema_model = ModelEMA(model, 0.9998)

We will soon make an official PR. If you want to achieve the reported with batch size 64, try to modify this line.

@hhaAndroid
Copy link

@Joker316701882 Thank you! I will try.

@RangiLyu
Copy link
Contributor

@LicharYuan @hhaAndroid Hi, the reported results are trained with batch size 128. We try batch size 64 and get the same results (39.5mAP) as you mentioned. However, the 40.5 mAP can be obtained under batch size 64 when you change the decay factor for the ema model from 0.9998 to 0.9999.

self.ema_model = ModelEMA(model, 0.9998)

We will soon make an official PR. If you want to achieve the reported with batch size 64, try to modify this line.

Would you like to upload detailed training settings and logs together with the models? It would be greatly helpful for those who want to reproduce the results.

@Joker316701882
Copy link
Member

@RangiLyu Make sense. We will upload the training log for yolox-s model. The only difference between the setting for this log and the current open-source code is the value of this decay factor (0.9999).

@Joker316701882
Copy link
Member

For now, the training log for training yolox-s is available here:

Baidu Cloud:
url:https://pan.baidu.com/s/1DWzdVRPadLed0Z2nxdSg3g
password:gjk1

Google Drive:
https://drive.google.com/file/d/18AiPo8Bp-SacSEAyXVnZ9bVI9FtKa7Co/view?usp=sharing

@lucienne999
Copy link
Author

lucienne999 commented Oct 12, 2021

For now, the training log for training yolox-s is available here:

Baidu Cloud: url:https://pan.baidu.com/s/1DWzdVRPadLed0Z2nxdSg3g password:gjk1

Google Drive: https://drive.google.com/file/d/18AiPo8Bp-SacSEAyXVnZ9bVI9FtKa7Co/view?usp=sharing

Thanks, I will try the decay factor = 0.9999 :).

@Joker316701882
Copy link
Member

@LicharYuan Hi, 0.9998 is the current value. You need to change it to 0.9999 to reproduce our result.

@ajtvsv07
Copy link

Thanks for the logs @Joker316701882

can you please confirm that training has been done on 8 Nvidia V100 GPUs ?

@Xielihao
Copy link

Xielihao commented Jan 6, 2022

@Joker316701882 Every version of YOLOX has to change 0.9998 to 0.9999?

@Joker316701882
Copy link
Member

@Xielihao Yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants