[Error]Pytorch中的BN

阿里云2000元红包!本站用户参与享受九折优惠!

https://discuss.pytorch.org/t/error-expected-more-than-1-value-per-channel-when-training/26274

Backgroud

为了测试网络在不同数据集上的训练表现,更换了新的数据集,大小937, Batchsize, workers设置维持之前的(8, 2).

Problem

pytorch报错

Expected more than 1 value per channel when training

Solution

由于937%8 = 1, 最后一个 batch 只有一个落单的样本,因此网络中的nn.BatchNorm1d 无能为力,导致报错。最简单的解决方法是去掉一个样本。
另外,在infer 时,对于 包含nn.BatchNorm1d的网络,通过
net.eval() (defualt net.training()) 调节网络的模式,才可以解决这一问题。

https://www.jianshu.com/p/9ecbbf403dc1

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论