我一直在处理数百GB的图像,为此我创建了一个训练函数,它会将这些图像分块成4GB的大小,并对每个块调用fit
。我担心我只是在最后一块上进行训练而不是整个数据集。
实际上,我的伪代码看起来像这样:
DS = lazy_load_400GB_Dataset()
for section in DS:
X_train = section.images
Y_train = section.classes
model.fit(X_train, Y_train, batch_size=16, nb_epoch=30)
我知道API和Keras论坛上说这将在整个数据集上训练,但我无法直观地理解为什么网络不会仅在最后的训练块上重新学习。希望能得到一些帮助来理解这个问题。
最好,
乔