文章目录
- 参考链接
- 1 配置环境
- 2 配置数据路径
- 3 配置训练参数
- 4 可能的报错
- AttributeError: module 'torchvision' has no attribute 'disable_beta_transforms_warning'
参考链接
- 源码:https://github.com/lyuwenyu/RT-DETR
- 详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署
1 配置环境
pip install -r requirements.txt
2 配置数据路径
在rtdetr_pytorch/configs/dataset/coco_detection.yml
中修改
补充:第3
行的num_classes
改为自己的类别数
!
不知道会不会有影响,但代码确实是跑到这里来的,但是官方代码没有给这一个步骤:
在rtdetr_pytorch/src/data/coco/coco_dataset.py
里面,定位到第一个mscoco_category2name
做如下更改,改为自己的类别名,因为我的标签里面类别顺序是从0开始的,所以这里我也改成了从0开始:
3 配置训练参数
- 训练命令:
python tools/train.py -c configs/rtdetr/rtdetr_r18vd_6x_coco.yml
- 虽然
rtdetr_pytorch/tools/train.py
导包有种红色的,但是别管!直接运行上面的命令就能成了!
猜测是rtdetr_pytorch/tools/train.py
中的sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))
在发挥作用,所以能够成功导包!
- 如果不想使用预训练权重,可能可以在以
rtdetr_pytorch/src/nn/backbone/presnet.py
将下面的代码注释了,因为代码太复杂了还没看懂是怎么设置是否使用的,但是根据调试结果,默认是开启了使用预训练权重的:
- 默认跑
72
轮,如果想要自己设定轮数,可以在rtdetr_pytorch/src/core/yaml_config.py
里面直接设定self.epoches = 150
- 同理,可以自行设定其他参数,例如
output_dir
4 可能的报错
AttributeError: module ‘torchvision’ has no attribute ‘disable_beta_transforms_warning’
解决方法:有可能是torchvision版本过低,在pycharm终端输入
pip install --upgrade torchvision