『PyTorch报错』pytorch 报错整理

pytorch 报错整理

  • 一、ValueError


一、ValueError

1、ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1,512,1,1])
『PyTorch报错』pytorch 报错整理_第1张图片
错误原因:

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

解决方法:

torch.utils.data.DataLoader 类中或自己创建的继承于 DataLoader 的类中设置参数 drop_last=True,把不够一个 batch_size 的数据丢弃。

train_loader = data.DataLoader(train_dst, batch_size=opts.batch_size, 
							   shuffle=True, num_workers=2, drop_last=True)

你可能感兴趣的:(#,深度学习框架)