Sharpiless / yolov5-distillation-5.0

yolov5 5.0 version distillation || yolov5 5.0版本知识蒸馏,yolov5l >> yolov5s
GNU General Public License v3.0
153 stars 27 forks source link

train.py中的一点问题 #2

Open 15050188022 opened 3 years ago

15050188022 commented 3 years ago

image 运行到这里的check_anchors时会报错,看了一下原函数,是不是因为你这里只传入了一个model参数,没有传入别的参数

Agnets commented 3 years ago

image 运行到这里的check_anchors时会报错,看了一下原函数,是不是因为你这里只传入了一个model参数,没有传入别的参数

我也是遇到了同样的问题,请问您解决了这个问题了吗?

verages commented 2 years ago

image 运行到这里的check_anchors时会报错,看了一下原函数,是不是因为你这里只传入了一个model参数,没有传入别的参数

我也是遇到了同样的问题,请问您解决了这个问题了吗?

check_anchors(dataset, model=model, thr=hyp['anchor_t'], imgsz=imgsz)

CompliceU commented 2 years ago

@15050188022 @Agnets @verages @Sharpiless 不知道你们有遇到这个问题吗?RuntimeError: Boolean value of Tensor with more than one value is ambiguous,这是我在计算蒸馏损失的时候那个reg_norm位置报错,不知道这个怎么解决

cumtb-zyh commented 2 years ago

@CompliceU 这个问题你解决了吗,我也遇到了

CompliceU commented 2 years ago

@cumtb-zyh 我修改了一下在loss部分这个代码,判断条件更改成了 if reg_norm is None,你可以自己试一下

cumtb-zyh commented 2 years ago

@CompliceU 嗯嗯,改了之后这块是不报错了,但是里边的t_lbox又报了一个张量维度不匹配的错误,我把张量输出了一下,维度是一样的,你遇到这个问题了吗 image

CompliceU commented 2 years ago

@cumtb-zyh 我没有 或者我之前有但是我调整过了 因为我是借鉴这个进行的修改 所以也不知道跟你的差异是什么

cumtb-zyh commented 2 years ago

@CompliceU 嗯嗯,我再调试一下,感谢~

cumtb-zyh commented 2 years ago

经过调试,发现是b_obj_scale初始化的维度错误,将4改为2就可以了,在这里记录一下 image

CompliceU commented 2 years ago

@cumtb-zyh 我的是4呀,是不是你前面也修改了一些什么呀

cumtb-zyh commented 2 years ago

@CompliceU 前边的代码没有动过,这个代码是今天克隆的,就动了这两处,我这边前边部分的结果最后一个维度都是2,然后这个b_obj_scale最后一个是4 image zhe'ku这块走的是else这个分支,这个分支最后一个维度明显是2啊

cumtb-zyh commented 2 years ago

@CompliceU 前边的代码没有动过,这个代码是今天克隆的,就动了这两处,我这边前边部分的结果最后一个维度都是2,然后这个b_obj_scale最后一个是4 image 我这块走的是else这个分支,这个分支最后一个维度明显是2啊

CompliceU commented 2 years ago

好的,我想起来了,我是改了后面因为不改的话if为true就是错的,我改了后面的部分

cumtb-zyh commented 2 years ago

@CompliceU 嗯嗯,不过你训的模型效果怎么样,我这个怎么准确率在下降

CompliceU commented 2 years ago

@cumtb-zyh 我跟你不太一样,下降是正常的,我是在蒸馏res50->res18

UnityBoy commented 2 years ago

请问 teacher 权重百度链接可以 分享下 吗 ,作者挂出来的已经失效了

cumtb-zyh commented 2 years ago

@UnityBoy 我没用作者的权重,自己重新训了一个 s 和 l 的模型

UnityBoy commented 2 years ago

OK,谢谢

------------------ 原始邮件 ------------------ 发件人: "Sharpiless/yolov5-distillation-5.0" @.>; 发送时间: 2021年12月10日(星期五) 下午4:12 @.>; @.**@.>; 主题: Re: [Sharpiless/yolov5-distillation-5.0] train.py中的一点问题 (#2)

@UnityBoy 我没用作者的权重,自己重新训了一个 s 和 l 的模型

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

Xiyuqiao commented 2 years ago

大家也太棒了,真的可以了,总结一下: train.py: 247行 check_anchors(model) 改成 check_anchors(dataset, model=model, thr=hyp['anchor_t'], imgsz=imgsz)

utils/loss.py: 35行 改成 b_obj_scale = t_obj_scale.unsqueeze(-1).repeat(1, 1, 1, 1, 2) 37行 改成 if reg_norm is None

yycone commented 2 years ago

都解决了,谢谢大家!

Michael-OvO commented 2 years ago

nbnb!!! 感谢大家

wuzuowuyou commented 2 years ago

你有这个模型文件吗 发我一份可以吗? 837007389@qq.com