【Bug解决】RuntimeError:Given groups=1,weight of size...expected input...but got 3 channels instead.
·
报错信息:
RuntimeError: Given groups=1, weight of size [64, 1, 3, 3], expected input[1, 3, 512, 512] to have 1 channels, but got 3 channels instead
原因: 明显是数据读入的通道数不对,应该是 1 通道,但是这里读入的是 3 通道。但是检查了数据,发现就是一通道的灰度图,没错儿呀。最后发现是 PIL
模块 Image.open
打开图像的数据 mode
问题。
检查发现,图像mode
竟然是RGB,但我的训练图像是一通道的灰度图,所以得想办法把 mode 转换一下。
from PIL import Image
img = Image.open('test.png')
print(img.mode)
>>> RGB
解决方法:
img = Image.open('test.png')
if img.mode != 'L':
img = img.convert('L')
这样子网络再读取图像,就是 [1, 1, 512, 512]
啦 ~
更多推荐
已为社区贡献6条内容
所有评论(0)