Skip to content

lazyn1997/YOLOX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

学习 YOLOX: Exceeding YOLO Series in 2021 论文,跑通原文demo代码及验证代码,并尝试使用飞桨框架复现。

复现赛流程

复现赛流程

原论文代码实现

评估

  • YOLOX-s 模型评估
python tools/eval.py -n  yolox-s -c weights/yolox_s.pth -b 1 -d 1 --conf 0.001 --fp16 --fuse

yolox-s

  • YOLOX-Darknet53 模型评估
python tools/eval.py -n  yolov3 -c weights/yolox_darknet.pth -b 32 -d 1 --conf 0.001 [--fp16] [--fuse]

YOLOX-Darknet53

  • 原论文结果
Model size mAPval
0.5:0.95
mAPtest
0.5:0.95
Speed V100
(ms)
Params
(M)
FLOPs
(G)
weights
YOLOX-s 640 40.5 40.5 9.8 9.0 26.8 github
YOLOX-m 640 46.9 47.2 12.3 25.3 73.8 github
YOLOX-l 640 49.7 50.1 14.5 54.2 155.6 github
YOLOX-x 640 51.1 51.5 17.3 99.1 281.9 github
YOLOX-Darknet53 640 47.7 48.0 11.1 63.7 185.3 github

对比发现模型成功跑通,AP 值符合原论文结果。

预测

python tools/demo.py image -n yolov3 -c weights/yolox_darknet.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu

predict

  • 预测结果
dog

从预测图可以看出,不同类别被正确框选出来,且预测正确,具有较高的置信度。

复现结果

  • 复现网络结构与原论文基本一致,结果保存在 compare 文件夹下的 paddle_model.txt 和 torch_model.txt 文件中

  • 单卡训练命令可以运行,随着 iter 的迭代 loss 会下降,训练命令如下

python tools/train.py -n yolox-s -d 1 -b 8
                         yolox-m
                         yolox-l
                         yolox-x
  • 前向对齐存在问题,目前尚不清楚原因

应用 reprod_log 进行前向对齐测试,过程中发现 CSPDarknet 的 stem.BaseConv 和 dark2.BaseConv 具有同样的网络结构,如下图所示

网络结构对比

然而 stem.BaseConv 部分前向对齐通过,比对结果如下图所示

stem.BaseConv_diff

dark2.BaseConv 部分前向对齐并未通过,比对结果如下图所示

dark2.BaseConv_diff

AI Studio 链接

YOLOX_convert - 飞桨AI Studio - 人工智能学习实训社区 (baidu.com)

Reference

致谢

十分感谢百度飞桨提供的平台,感谢各位工作人员的耐心解答,同时也感谢互联网上的每个人提供的各种教程,下面列举一些参考链接,希望对后续论文复现的选手以及平台切换的开发者有所帮助。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages