目录
一、为什么需要这样?
入门的时候,我们非常熟悉MNIST手写数字数据集,我们构建深度神经网络,比如CNN,MLP,LSTM等来训练数据集,我们一次性的加载了所有的数据集,然后不停地迭代训练。
当数据集非常大,大到50GB,100GB的时候,我们显然是不能将所有数据加载到内存空间的,不然的话硬件要求是非常苛刻的。
二、如何解决?
其实在我们训练的时候,我们一次需要加载的数据只有batch_size大小,所以我们没有必要将所有的数据全部加载到内存中,可以构建一个队列,每次加载几个batch_size,然后不停地用完,不停的补新,这样可以很好的减少内存开销。