???? Welcome to Aedream同学 's blog! ????
文章目录
- 前言
- 基本操作
- YAML文件解析
- 注意事项❗❗❗
- 'gbk' codec can't decode byte 0x80 in position 238: illegal multibyte sequence
- , train_dual.py or train_triple.py
- AttributeError: 'list' object has no attribute 'view'
✨✨✨✨立志真正解决大家问题,只写精品博客文章,感谢关注,共同进步✨✨✨✨
前言
YOLOv9提出后部分博主发布了训练教程,但真的质量堪忧,甚至, train_dual.py or train_triple.py该使用哪个都不对,因此报错❗❗。
所以制作本期教程以供大家参考,如有错误欢迎指正交流????????
基本操作
代码链接:???? /WongKinYiu/yolov9
- 配置环境
- 下载代码
- 解压,如果训练models/detect/,配置train_dual.py。
YAML文件解析
部分人疑惑中的Silence是什么
根据models/
class Silence(nn.Module):
def __init__(self):
super(Silence, self).__init__()
def forward(self, x):
return x
Silence 就是无操作,输入x,输出还是x
主要是为了在后续调用原输入
注意事项❗❗❗
‘gbk’ codec can’t decode byte 0x80 in position 238: illegal multibyte sequence
检测数据集配置文件的yaml文件中是否存在中文或表情符号等,将其删除。
, train_dual.py or train_triple.py
tran_dual.py train_triple.py The relationship and difference between the three · Issue #1 · WongKinYiu/yolov9 ()
提供作者的原回复做参考。
- train_dual:1 个辅助分支 + 1 个主分支。
- Triple_branch:两个辅助分支 + 一个主分支
我们提供这些代码来展示如何扩展辅助分支进行训练。 大家可以按照规则进行相关研究。 例如,我们还扩展了train_multiple来实现类似于Co-DETR的训练策略。
所以理论上可根据train_dual.py和 train_triple.py自己研究n个辅助分支 + 一个主分支如何训练。
AttributeError: ‘list’ object has no attribute ‘view’
使用训练就会报错
AttributeError: ‘list’ object has no attribute ‘view’ · Issue #22 · WongKinYiu/yolov9 ()
问题描述:
In loss_tal.py: pred_distri, pred_scores = ([(feats[0].shape[0], , -1) for xi in feats], 2).split(
(self.reg_max * 4, ), 1)
The error is as follows:
AttributeError: 'list' object has no attribute 'view'
作者回复:
YOLOv9 models should be trained with train_dual.py