解决报错:ValueError: Expected more than 1 value per channel when training

写了一个图片分类网络,之前跑一直没问题,换了一下训练集占的比例之后跑到最后一个batch突然报了这个错

定位到出错的语句为
在这里插入图片描述
我们知道bn操作需要计算一个batch内的均值和方差,所以,最后一个batch内到底包含几个样本呢?

在这里插入图片描述
这样就得每次把这个单独的样本丢掉啦,dataloader改写成下面这种形式,加上drop_last=True

在这里插入图片描述

注:dimension specified as 0 but tensor has no dimensions这个报错也可以用这种方式解决

猜你喜欢

转载自blog.csdn.net/jining11/article/details/111478935
今日推荐