Given groups=1,weight of size[512,1024,1,1],expected input[8, 320, 20, 20] to have 1024 channels, bu


一、报错信息

在这里插入图片描述

RuntimeError: Given groups=1, weight of size [512, 1024, 1, 1], expected input[8, 320, 20, 20] to have 1024 channels, but got 320 channels instead
RuntimeError: Given groups=1, weight of size [256, 1024, 1, 1], expected input[8, 96, 40, 40] to have 1024 channels, but got 96 channels instead
RuntimeError: Given groups=1, weight of size [128, 512, 1, 1], expected input[8, 32, 80, 80] to have 512 channels, but got 32 channels instead

二、原因分析

我的网络理论上三个输出通道分别是32,96,320.但是训练时候会弹出上面三个错误,此类信息都是说明通道不匹配。
在这里插入图片描述

三、调试方法

在这里插入图片描述

1.运行后出现上述错误之后,在点击相关错误跳转到具体网络模块,通常为网络正向传播过程中某个特征层处,比如feat1、feat2、feat3。
在这里插入图片描述

2.然后在相应的特征层处设置断点,进行debug断点调试,验证网络正向输出的三个特征层是否为32,96,320.
在这里插入图片描述

3.通常是一样的,但是在三个正向传播过程中的函数的网络是和三个正向传播输出的特征层是不一样,这个时候的通道就是和运行过程中的通道一致,将其修改为和网络正向传播过程中三个特征层的通道数一致的通道即可完成调试,进行正常训练。
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45825952/article/details/127881217