Sharpiless / 2024-Ruanjianbei-baseline

2024“中国软件杯”大学生软件设计大赛飞桨小汪赛道-基线 Baseline 配置文件
GNU General Public License v3.0
7 stars 0 forks source link

您好, baseline的PaddleDetection版本可以更新一下, 或者在测评环境里多装个依赖库吗? #1

Open OPlincn opened 1 month ago

OPlincn commented 1 month ago

如果使用导出好的yolox作为model, 会报错Pad未导入

image

如果我导入了ppdet中Pad这个类, 又会报别的错误如下:

image

但是我看predict.py中get_ops的实现和tools/infer.py里的差不多

image

我使用tools/infer.py来推理,是可以正常运行的. 所以不知道问题出在哪里, 如果我想使用predict.py来使用yolox等模型, 需要自己改写吗?希望您能解答我的问题, 非常感谢!

这是baseline 模型的infer_cfg

image

这是我自己训练的YoloX的infer_cfg

image
OPlincn commented 1 month ago

问题找到了, 您baseline里带的paddledetection包比较老: 在export_model的时候会出现报错,参考以下这个issue解决的 https://github.com/PaddlePaddle/PaddleDetection/issues/8692 新版本的PaddleDetection已经整合了这个PR,不会出现这个问题 同时新版本的PaddleDetection改写了deploy/python/preprocess.py这个文件: 可以看见有Pad类的定义了 (为什么我会发现不同呢,因为看了上面那个issue,发现我用的版本里这个问题没解决, 是不是有机会提个PR呢, 结果翻来翻去发现版本不一样)

image

也就是说,如果我要尝试新的模型,得使用新的PaddleDetection, 而新的PaddleDetection依赖了 imgaug 这个库. 在测试环境中可能没有这个imgaug这个库, 您有时间可以检查一下这个库安装了吗?

2024.5.24 更新 发现fork下来的baseline paddlepaddle-gpu 版本2.2,paddle版本太老了也会报错,必须 python -m pip install --upgrade paddlepaddle-gpu 自动升级到2.5.2才可以,抽象的是nvidia-smi显示驱动版本为12.0 以上结论来自: 将submission.zip拖去fork的环境里跑了一下