Gumpest / YOLOv5-Multibackbone-Compression

YOLOv5 Series Multi-backbone(TPH-YOLOv5, Ghostnet, ShuffleNetv2, Mobilenetv3Small, EfficientNetLite, PP-LCNet, SwinTransformer YOLO), Module(CBAM, DCN), Pruning (EagleEye, Network Slimming), Quantization (MQBench) and Deployment (TensorRT, ncnn) Compression Tool Box.
994 stars 200 forks source link

项目报错问题报错问题 #58

Closed Sa-UpWorld closed 2 years ago

Sa-UpWorld commented 2 years ago

大佬您好,我在运行yolov5xP2-CBAM-Swin-BiFPN-SPP.yaml时报错RuntimeError: shape '[8, 3, 7, 2, 7, 256]' is invalid for input of size 860160,请问这要怎么解决啊

zkungithub commented 2 years ago

博主你好,我在运行yolov5xP2-CBAM-Swin-BiFPN-SPP.yaml时报错 x = (attn @ v).transpose(1, 2).reshape(B_, N, C) RuntimeError: expected scalar type Float but found Half,请问这个应该怎么解决

Sa-UpWorld commented 2 years ago

博主你好,我在运行yolov5xP2-CBAM-Swin-BiFPN-SPP.yaml时报错 x = (attn @ v).transpose(1, 2).reshape(B_, N, C) RuntimeError: expected scalar type Float but found Half,请问这个应该怎么解决

这个好像后边加nohalf命令,请问你拉去后跑该模型不报张量错误吗?比如我这种RuntimeError: shape '[8, 3, 7, 2, 7, 256]' is invalid for input of size 860160

Wanrui-account commented 2 years ago

感谢大佬提供代码 ! 也是出现了这个错误 ,把主干部分加上了focus头 换成v5.0版 其他没做改动,训练一个epoch报错

zaipinai commented 2 years ago

大佬您好,我在运行yolov5xP2-CBAM-Swin-BiFPN-SPP.yaml时报错RuntimeError: shape '[8, 3, 7, 2, 7, 256]' is invalid for input of size 860160,请问这要怎么解决啊

你是按照分辨率跑的吗?我开始608 384都试过好像是这个错后来640可以,其他的没试了

Sa-UpWorld commented 2 years ago

大佬您好,我在运行yolov5xP2-CBAM-Swin-BiFPN-SPP.yaml时报错RuntimeError: shape '[8, 3, 7, 2, 7, 256]' is invalid for input of size 860160,请问这要怎么解决啊

你是按照分辨率跑的吗?我开始608 384都试过好像是这个错后来640可以,其他的没试了

我按照608、640跑的5s,把那个5x修改了就报这个错,你640不报错吗兄弟

zaipinai commented 2 years ago

大佬您好,我在运行yolov5xP2-CBAM-Swin-BiFPN-SPP.yaml时报错RuntimeError: shape '[8, 3, 7, 2, 7, 256]' is invalid for input of size 860160,请问这要怎么解决啊

你是按照分辨率跑的吗?我开始608 384都试过好像是这个错后来640可以,其他的没试了

我按照608、640跑的5s,把那个5x修改了就报这个错,你640不报错吗兄弟

没问题,我是改成m跑的640,但是实际上训练效果不佳,就简单跑了下

Sa-UpWorld commented 2 years ago

大佬您好,我在运行yolov5xP2-CBAM-Swin-BiFPN-SPP.yaml时报错RuntimeError: shape '[8, 3, 7, 2, 7, 256]' is invalid for input of size 860160,请问这要怎么解决啊

你是按照分辨率跑的吗?我开始608 384都试过好像是这个错后来640可以,其他的没试了

我按照608、640跑的5s,把那个5x修改了就报这个错,你640不报错吗兄弟

没问题,我是改成m跑的640,但是实际上训练效果不佳,就简单跑了下

请问你是拉取作者源码跑的吗,还是自己移植的

zaipinai commented 2 years ago

大佬您好,我在运行yolov5xP2-CBAM-Swin-BiFPN-SPP.yaml时报错RuntimeError: shape '[8, 3, 7, 2, 7, 256]' is invalid for input of size 860160,请问这要怎么解决啊

你是按照分辨率跑的吗?我开始608 384都试过好像是这个错后来640可以,其他的没试了

我按照608、640跑的5s,把那个5x修改了就报这个错,你640不报错吗兄弟

没问题,我是改成m跑的640,但是实际上训练效果不佳,就简单跑了下

请问你是拉取作者源码跑的吗,还是自己移植的

就是作者代码改了模型文件系数,跑了两三遍了,好像有次报错吧,重新跑就行了

ouening commented 2 years ago

我也遇到了类似的问题,尺寸为640的时候可以训练但是一到验证就报错,将训练尺寸改为608之后并且启用参数--nohalf之后就正常训练了

liuchen-2020 commented 2 years ago

这个问题我解决啦,原因在于输入维度不可被window_size整除,实际上作者对这里进行了处理,就是在不可整除的时候对输入进行padding,但是代码中padding条件只限制了H,未限制W,导致W不可被windowsize整除的时候就会出错。 修改SwinTransformer.py中line 215为: if min(H, W_) < self.windowsize or H % self.windowsize!=0 or W % self.window_size!=0: 即可解决问题

zkungithub commented 2 years ago

很棒

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: liuchen-2020 @.> 发送时间: 2022年5月3日 20:11 收件人: Gumpest/YOLOv5-Multibackbone-Compression @.> 抄送: zkungithub @.>, Comment @.> 主题: 回复:[Gumpest/YOLOv5-Multibackbone-Compression] yolov5xP2-CBAM-Swin-BiFPN-SPP报错问题 (Issue #58)

这个问题我解决啦,原因在于输入维度不可被window_size整除,实际上作者对这里进行了处理,就是在不可整除的时候对输入进行padding,但是代码中padding条件只限制了H,未限制W,导致W不可被windowsize整除的时候就会出错。 修改SwinTransformer.py中line 215为: if min(H, W_) < self.windowsize or H % self.windowsize!=0 or W % self.window_size!=0: 即可解决问题

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

shuttle999 commented 2 years ago

RuntimeError: expected scalar type Float but found Half,我也有这个错误,我想使用half精度去测试能否提升推理时间,如果使用nohalf使用的就是float32,请问有人知道如何使用half进行推理吗?万分感谢

shuttle999 commented 2 years ago

已解决这个问题, image 需要在相关的地方添加一行代码,如图所示