我必须在图像数据集上训练图像分类器。大约有1 000 000张图像。每张图像大约100 Kb,因此总共有100 Gb的数据。
我必须为教练提供大约100次(100个纪元)的所有数据集。 每个时期应该由部分(每个约1000个图像)给出以提供随机梯度下降。为了减少过度训练,这些部分应该是我的数据集随机分割的部分。每个时代我都应该重新分裂它。
我有16 Gb的内存。存储所有数据太少。因此,我必须以某种方式将其存储在磁盘上。
另外,我知道,随机位置磁盘读取速度非常慢,即使我使用leveldb
或类似的东西。所以,我必须以正确的洗牌顺序重新转储数据。
如何做到最好?