假设我这样训练模型:
filename = 'model.h5'
checkpoint = ModelCheckpoint(filename, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
model.fit(trainX, trainY, epochs = 100, batch_size=256, validation_data=(testX, testY), callbacks=[checkpoint])
它保存在 model.h5 中。
我怎样才能重新开始训练她,但保留上次的进度?
也就是说,要:
model.fit(trainX, trainY, epochs = 100, batch_size=256, validation_data=(testX, testY), callbacks=[checkpoint])
再次:
model.fit(trainX, trainY, epochs = 100, batch_size=256, validation_data=(testX, testY), callbacks=[checkpoint]
相当于:
model.fit(trainX, trainY, epochs = 200, batch_size=256, validation_data=(testX, testY), callbacks=[checkpoint]
如果您
model.fit()在第一次运行完成后再次运行model.fit(),模型将继续训练。模型的当前状态,包括所有权重和属性,都存储在内存中。因此,如果 Python 重新启动,则必须首先将保存的模型加载到内存中:在这种情况下,最后一次保存在时间的模型状态
checkpoint,即,将被加载到内存中。以最好的成绩val_loss。