主要可能出现的原因:1.传入传出的通道数不对;2.net最终全连接输出的class数目对不上labels;3. devices没有具体到某一个,而是一个list;4. 关了重新再连。建议先用一个单tensor如下,进行检验net的输入输出正确性,再放到dataset上。
X = torch.rand(size=(32, 3, 224, 224)).to(devices[0])
for layer in net:
X = layer(X)
print(layer.__class__.__name__,'output shape:\t', X.shape)
笔者首先尝试了前三个,结果还是报这个错,确认修改无误了把这玩意关了,再打开,正常运行了。。。
文章讨论了在使用PyTorch构建神经网络时可能遇到的问题,包括传入传出通道数不匹配、网络最终全连接层输出类别与标签不符、设备指定不明确以及设备管理问题。作者建议通过创建单个tensor来测试网络的输入输出正确性,并提供了一段示例代码进行排查。在尝试修改和关闭再打开后,问题得到解决。
1万+





