PyTorch报错

博主运行之前代码报错,均为Tensor的size不匹配问题。一是输入图像大小不匹配,因训练集图像分辨率不同,需按比例缩放;二是数据第二个维度(通道数)不匹配,有的是单通道,有的是三通道,喂数据时需处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久每写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.youkuaiyun.com/weixin_41278720/article/details/84586734

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值