PaddlePaddle 复现 YOLOX

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

GitHub 链接

PaddlePaddle 复现 YOLOX 的 GitHub 链接

复现结果

  • 复现网络结构与原论文基本一致,结果保存在 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 具有同样的网络结构,如下图所示。

PaddlePaddle 复现 YOLOX_第1张图片
然而 stem.BaseConv 部分前向对齐通过,比对结果如下图所示

PaddlePaddle 复现 YOLOX_第2张图片

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

PaddlePaddle 复现 YOLOX_第3张图片

Reference

  • 原作者代码

    Megvii-BaseDetection/YOLOX: YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/ (github.com)

  • 参考代码

    jesse01/paddle-yolox: yolox的paddle实现 (github.com)

    bubbliiiing/yolox-pytorch: 这是一个yolox-pytorch的源码,可以用于训练自己的模型。 (github.com)

    基于飞桨复现目标检测算法yolox - 飞桨AI Studio - 人工智能学习实训社区 (baidu.com)

致谢

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

  • PyTorch-PaddlePaddle API映射表-API文档-PaddlePaddle深度学习平台
  • pytorch版代码修改为paddle版代码总结 (baidu.com)
  • X2Paddle:手把手教你迁移代码——论文复现方法论_zbp_12138的博客-CSDN博客
  • 模型转换论文复现_潜沉10的博客-CSDN博客
  • Issues · PaddlePaddle/Paddle (github.com)
  • Issues · PaddlePaddle/X2Paddle (github.com)

你可能感兴趣的:(计算机视觉,论文复现,paddlepaddle,计算机视觉,深度学习,论文复现)