pytorch训练过程问题汇总

1、【Pytorch】报错:ValueError: Expected more than 1 value per channel when training, got input size [1, 512]

问题分析: 模型中用了batchnomolization,训练中用batch训练的时候,每一轮都多了一个数据。

多数据不可以,但是少数据是可以的。

        假设数据集有9843条数据,batch_size=8,9843/8=1230.375,每一组在数据集中选择1230条数据即可,一共8组,总共训练了1230*8=9840条数据,还有3条没有训练到。

        但是如果batch_size=2,那么9843/2=4921.5,每一组在数据集中会选择4922条数据,一共两组,4922*2=9844,就大于了9843,多了一条数据,就不行了。

解决方案: 从dataset中删掉一个sample。

你可能感兴趣的:(pytorch训练问题汇总,pytorch,深度学习,python)