一个6000多的数据集,非图片数据,做3分类训练。
DataLoader 中的 batch_size=25、shuffle=True;
训练拟合到准确率85%。
理论上这个时候,我将训练的数据重新1个1个输入训练好的模型,输出总准确率应该也是85%;
但是,当我将 DataLoader batch_size=1,全部数据用训练好的模型在遍历一次,输出的准确率只有30%
然后,我将 DataLoader batch_size=25,全部数据在遍历一次,输出的准确率就和训练时的一样(85%)
这个现象很费解。训练结果怎么会跟batch_size相关呢。
另外,我做了多次实验,只要是batch_size和原来设置的不一样,重新遍历一次输出的准确率结果也跟训练时的结果不一样。
只有越接近原来 25 的设置,准确率才越接近训练时的85%。
真的很奇怪,谁遇到过这种问题。