神经网络报错:RuntimeError: output with shape [1, 128, 128] doesn‘t match the broadcast shape [3, 128, 128]

今天在运行EfficientNets-pytorch代码的时候遇到如上问题。网上以及有许多相关问题的回答了,在此提供一种新的思路。

报错原因:输入图片需要是RGB空间图片而不能是灰度图,所以导致张量的通道数不匹配。

解决方法:知道了问题的原因之后问题就变得好解决了,我的解决思路是用opencv或者是PIL包下面的图形处理函数,把输入的图片从灰度图转为RGB空间的彩色图。这种方法可以适合数据集中既包含有RGB图片又含有灰度图的情况。解决代码如下:

img = Image.open(img_dir)
img = img.convert('RGB')

 

你可能感兴趣的:(神经网络报错:RuntimeError: output with shape [1, 128, 128] doesn‘t match the broadcast shape [3, 128, 128])