Eddiespade / yolov5-kd

知识蒸馏复现相关
GNU General Public License v3.0
25 stars 0 forks source link

训练报错:IndexError: index 27 is out of range #1

Open SunYiLing123 opened 2 years ago

SunYiLing123 commented 2 years ago

image

Eddiespade commented 2 years ago

你好,这是因为我加了CA注意力模块后的教师网络层数变多,而如果你使用原始的yolov5m/l/x这些的话 最多只有24层。是需要在/models/experimental.py中修改下。将注释为m的打开,为ca的关闭 图片

SunYiLing123 commented 2 years ago

image 改完之后报错如上图,我的训练脚本如下: python train_kd.py --kd --teacher_weight best_yolov5m.pt --weights /root/hanyong/yolov5_6/yolov5/runs/train/exp5/weights/best.pt --data /root/hanyong/yolov5_6/yolov5/data/Tube.yaml --epochs 100

Eddiespade commented 2 years ago

image 改完之后报错如上图,我的训练脚本如下: python train_kd.py --kd --teacher_weight best_yolov5m.pt --weights /root/hanyong/yolov5_6/yolov5/runs/train/exp5/weights/best.pt --data /root/hanyong/yolov5_6/yolov5/data/Tube.yaml --epochs 100

这是因为我最后采用的训练是 yolov5l 对 s的知识蒸馏(代码写死了其通道数) 而l和m的各层通道数不一致, 现已修复该bug,可以根据参数 --isL 选择采用的教师网络是m还是l。 你可以选择重新clone下代码

有问题随时咨询

SunYiLing123 commented 2 years ago

好的,多谢