RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 3 and 4 in

报错如下:

RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 3 and 4 in dimension 1 at /pytorch/aten/src/TH/generic/THTensorMath.cpp:3616

 

因为读取图像的时候三通道图像中混入了灰度或者四通道图像

读图的时候转为rgb图像

from PIL import Image

image = Image.open(filename).conver('RGB')

或者输入图像大小不一

resize一下

 

使用PIL模块查看图片通道数

img=Image.open('xxx.jpg')

r,g,b=img.split()

print(len(img.split()))

 

分离和合并通道

r, g, b = im.split()
im = Image.merge("RGB", (b, g, r))

详细解释:

https://discuss.pytorch.org/t/problem-with-custom-dataset-invalid-argument-0-sizes-of-tensors-must-match-except-in-dimension-0/34792/4

你可能感兴趣的:(RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 3 and 4 in)