搭建自己的深度学习模型_output with shape [1, 167, 390] doesn‘t match the broadcast shape [3, 167, 390]

在搭建模型的过程中遇到一些小坑。如图所示:

根据错误提示,出错的地方是:

(图中train_loader是我将自己的数据集通过torch中的DataLoader加载出来的,于是我看到了collate_fn参数,这个参数是我将自己的数据集打包(train_data_set.collate_fn)后在传入的)

我查看了自己的数据集,但是我的数据集全都进行了统一的格式化处理(uint8),也就是说我的图像都是1通道的,但是错误提示我的图像是三通道的。于是我经过调试,先查看了我的collate_fn方法。

我自定义的函数在数据的输入输出后都没有对数据的通道做改变,也就是说,错误发生在这一步之前,继续往上找:

如图所示,train_loader是由train_data_set传入DataLoader返回的,因此对传入MyDataset的参数进行检查,前面两个参数都是图像路径和标签,没有问题,最后一个是需要传入transform的参数,我自己定义的参数是这样的:

注意最后一个参数,这个参数是用于图像归一化的,我这里是单通道图像,而参数设定的值适用于三通道图像,应该把这个参数改成:transforms.Normalize((0.5,), (0.5,))

再次运行:没有报错,也就是说,我在图像归一化的时候更改了图像的通道数,导致后面一系列爆错。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值