我已经在CNN上工作了数百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论坛上说,这将在培养整个数据集,但我不能直观地理解为什么网络不会重新学习最后一个训练块。
一些有助于理解这一点将不胜感激。
最佳, 乔
创建自定义生成器类并将其与fit_generator结合使用可避免多次调用拟合的整个问题。 –