用於構建新回調的抽象基類。
用法
tf.keras.callbacks.Callback()
回調可以傳遞給諸如 fit
, evaluate
和 predict
等 keras 方法,以連接到模型訓練和推理生命周期的各個階段。
要創建自定義回調,請繼承 keras.callbacks.Callback
並覆蓋與感興趣的階段關聯的方法。有關更多信息,請參閱 https://www.tensorflow.org/guide/keras/custom_callback。
例子:
training_finished = False
class MyCallback(tf.keras.callbacks.Callback):
def on_train_end(self, logs=None):
global training_finished
training_finished = True
model = tf.keras.Sequential([tf.keras.layers.Dense(1, input_shape=(1,))])
model.compile(loss='mean_squared_error')
model.fit(tf.constant([[1.0]]), tf.constant([[1.0]]),
callbacks=[MyCallback()])
assert training_finished == True
如果您想在自定義訓練循環中使用 Callback
對象:
- 您應該將所有回調打包到一個
callbacks.CallbackList
中,以便可以一起調用它們。 您將需要在循環中的適當位置手動調用所有
on_*
方法。像這樣:callbacks = tf.keras.callbacks.CallbackList([...]) callbacks.append(...) callbacks.on_train_begin(...) for epoch in range(EPOCHS): callbacks.on_epoch_begin(epoch) for i, data in dataset.enumerate(): callbacks.on_train_batch_begin(i) batch_logs = model.train_step(data) callbacks.on_train_batch_end(i, batch_logs) epoch_logs = ... callbacks.on_epoch_end(epoch, epoch_logs) final_logs=... callbacks.on_train_end(final_logs)
回調方法作為參數的
logs
字典將包含與當前批次或時期相關的數量的鍵(參見method-specific 文檔字符串)。
相關用法
- Python tf.keras.callbacks.CSVLogger用法及代碼示例
- Python tf.keras.callbacks.ReduceLROnPlateau用法及代碼示例
- Python tf.keras.callbacks.EarlyStopping用法及代碼示例
- Python tf.keras.callbacks.TensorBoard用法及代碼示例
- Python tf.keras.callbacks.ModelCheckpoint用法及代碼示例
- Python tf.keras.callbacks.LambdaCallback用法及代碼示例
- Python tf.keras.callbacks.BackupAndRestore用法及代碼示例
- Python tf.keras.callbacks.LearningRateScheduler用法及代碼示例
- Python tf.keras.callbacks.History用法及代碼示例
- Python tf.keras.applications.inception_resnet_v2.preprocess_input用法及代碼示例
- Python tf.keras.metrics.Mean.merge_state用法及代碼示例
- Python tf.keras.layers.InputLayer用法及代碼示例
- Python tf.keras.layers.serialize用法及代碼示例
- Python tf.keras.metrics.Hinge用法及代碼示例
- Python tf.keras.experimental.WideDeepModel.compute_loss用法及代碼示例
- Python tf.keras.metrics.SparseCategoricalAccuracy.merge_state用法及代碼示例
- Python tf.keras.metrics.RootMeanSquaredError用法及代碼示例
- Python tf.keras.applications.resnet50.preprocess_input用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.callbacks.Callback。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。