rogerfang 2021-10-22 19:32
浏览 55
已结题

Python中DataLoader的batch_size、shuffle的疑惑。

一个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%。
真的很奇怪,谁遇到过这种问题。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月30日
    • 创建了问题 10月22日