有可能在检查点之间恢复到CNN模型的过去状态吗



我正在使用U-Net GAN。我每5000步进行一次检查,在19000步左右,结果非常好,但在达到20000步并再次进行检查之前,系统立即崩溃为垃圾结果。我认为鉴别器跳得太大而无法恢复。

有没有办法恢复到发电机模型在几百步内没有受到挑战而变得愚蠢之前的状态?就像20公里检查站前的900多步。

我认为在训练期间不可能恢复到某个不是检查点的状态。但为了防止下次发生这种情况,您可以使用callbacks根据某些性能指标(例如准确性或验证丢失(来保存所需的模型。下面是一个Python代码:

chk = ModelCheckpoint(model_directory_name,
monitor="val_loss",
verbose=1,
save_best_only=True,
save_weights_only=False,
mode='min',
period=1)
callbacks = [chk]

然后您可以通过这种方式调用model.fit以包括回调:

# Train the Model
model_log = model.fit(x=train_generator,
validation_data=test_generator,
callbacks=callbacks,
...)

现在,当你开始训练时,具有最佳精度的模型将始终保存

相关内容

最新更新