阅读(10.8k) 书签 (0)

TensorFlow回调函数:tf.keras.callbacks.ModelCheckpoint

2019-03-27 15:18 更新

tf.keras.callbacks.ModelCheckpoint函数

类 ModelCheckpoint

继承自:Callback

定义在:tensorflow/python/keras/callbacks.py。

在每个训练期(epoch)后保存模型。

filepath可以包含命名格式化选项,可以由epoch的值和logs的键(由on_epoch_end参数传递)来填充。

例如:如果filepath是weights.{epoch:02d}-{val_loss:.2f}.hdf5,则模型检查点将与文件名中的epoch号和验证损失一起保存。

参数:

  • filepath:string,保存模型文件的路径。
  • monitor:要监测的数量。
  • verbose:详细信息模式,0或1。
  • save_best_only:如果save_best_only=True,被监测数量的最佳型号不会被覆盖。
  • mode:{auto,min,max}之一。如果save_best_only=True,那么是否覆盖保存文件的决定就取决于被监测数据的最大或者最小值。对于val_acc,这应该是max,对于val_loss这应该是min,等等。在auto模式中,方向是从监测数量的名称自动推断出来的。
  • save_weights_only:如果为True,则仅保存模型的权重(model.save_weights(filepath)),否则保存完整模型(model.save(filepath))。
  • period:检查点之间的间隔(epoch数)。
__init__
__init__(
    filepath,
    monitor='val_loss',
    verbose=0,
    save_best_only=False,
    save_weights_only=False,
    mode='auto',
    period=1
)

初始化自我。

方法

on_batch_begin
on_batch_begin(
    batch,
    logs=None
)
on_batch_end
on_batch_end(
    batch,
    logs=None
)
on_epoch_begin
on_epoch_begin(
    epoch,
    logs=None
)
on_epoch_end
on_epoch_end(
    epoch,
    logs=None
)
on_train_batch_begin
on_train_batch_begin(
    batch,
    logs=None
)
on_train_batch_end
on_train_batch_end(
    batch,
    logs=None
)
on_train_begin
on_train_begin(logs=None)
on_train_end
on_train_end(logs=None)
set_model
set_model(model)
set_params
set_params(params)