当前位置: 代码迷 >> 综合 >> Expected more than 1 value per channel when training, got input size torch.Size......
  详细解决方案

Expected more than 1 value per channel when training, got input size torch.Size......

热度:65   发布时间:2023-11-18 16:09:07.0

完整问题描述

在将自己制作的数据集输入到模型中出现如下报错:

ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 512, 1, 1])

在这里插入图片描述

问题分析

模型中用了batchnomolization,训练中用batch训练的时候当前batch恰好只含一个sample,而由于BatchNorm操作需要多于一个数据计算平均值,因此造成该错误。

解决方案

由于我自己也没有设置batchsize,所以并没有网上提供的那种含有DataLoader的类,看了不少经验帖之后,发现有种方法能够很好的解决,就是在训练模型前加入:

model.eval()

如图所示:
在这里插入图片描述

然后就可以解决该问题了,完美!!!

  相关解决方案