PyTorch报错

很久每写PyTorch了,今天跑之前写的代码的时候报错了,简单记录一下,虽然以后应该也不写这些了。。。

  • RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 416 and 480 in dimension 2 at /pytorch/torch/lib/TH/generic/THTensorMath.c:2897

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

我报的是第一个错,解决的过程中发现了有人碰到了第二个错误,其实算是同一类错,都是Tensor的size不匹配。

第一个是因为输入的图像大小不匹配,之前没有报错是因为我的训练集的图像都是分辨率相同的,transforms.Resize(input_size),的时候这样写的,应该是按比例缩放。由于这次的训练集数据是两个不同的来源,图像本身分辨率不同,因此resize后也不一致,改成transforms.Resize((input_size, input_size)),就可以解决了。【参考:12

第二个错误是数据第二个维度不匹配,PyTorch第二个维度就是图像的通道数,明显是有的数据是单通道(黑白图像)、有的是三通道(RGB),因此喂数据的时候需要处理一下数据。具体可以参考这里:https://blog.csdn.net/weixin_41278720/article/details/84586734

发布了74 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/yijiull/article/details/93247503
今日推荐