关于shuffle函数无法运行
来源:2-8 神经网络实现(多分类逻辑斯蒂回归模型实现)
慕标4103188
2018-10-29
老师,这节课我完全按照你的代码运行,返回了Memory Error。然后我把_need_shuffle函数直接设置为pass,就能跑了,但精度一直都很低。
我这边有3个问题:
1,不用shuffle函数,训练的精度就上不去,为什么呢?
2,用了shuffle函数, 为什么会返回memory error的错误?
3,如何解决这个问题,代码怎么写?
我是用虚拟机运行的,分配了2MB内存和20G硬盘。
写回答
1回答
-
正十七
2018-10-30
你的虚拟机内存太小了,做深度学习的话建议还是用些好硬件。
不用shuffle函数,意味着训练过程中会见到重复的batch,会导致梯度的方向相同,从而在欠拟合的时候就训练不动了。随机化后这种情况会减轻。
课程的例子是特殊情况,即所有数据都在内存中。一般情况下,我们会有一大堆图片在硬盘上,我们通过对文件列表进行随机化即可。用到什么数据就去读什么数据,当然,这种情况会有多余的I/O操作,会慢。
10
相似问题