WongKinYiu / yolov9

Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
GNU General Public License v3.0
8.97k stars 1.42k forks source link

Why don't the parameters match? #122

Closed zrg0712 closed 8 months ago

zrg0712 commented 8 months ago

yolov9-c The table shows 25.3M, but myself tested results is 51.3M use thop packages

WongKinYiu commented 8 months ago

Please use yolov9-c-converted.pt for testing.

51.3M is model for training, 25.3M is model for inference. You could get model for inference using https://github.com/WongKinYiu/yolov9?tab=readme-ov-file#re-parameterization.

lifeternity commented 8 months ago

how can I use the reparam script to rebuild the new .pt training on other datasets,could you please tell me that?

WongKinYiu commented 8 months ago

Follow yolov9-c.yaml and gelan-c.yaml to create your model for inference. And modify the .pt and .yaml in the script. If you design your own architecture, please check if the idx mapping is correct.

wgqhandsome commented 8 months ago

yolov9-c The table shows 25.3M, but myself tested results is 51.3M use thop packages

我也遇到了这个问题,请问你解决了吗

naruto123sdo commented 3 weeks ago

Please use yolov9-c-converted.pt for testing.

51.3M is model for training, 25.3M is model for inference. You could get model for inference using https://github.com/WongKinYiu/yolov9?tab=readme-ov-file#re-parameterization.

Hi @WongKinYiu, what does re-parameterization do exactly? Is it mainly used to remove the auxiliary branch so that the correct latency and model size can be measured?