View source on GitHub |
Callback for creating simple, custom callbacks on-the-fly.
Inherits From: Callback
tf.keras.callbacks.LambdaCallback( on_epoch_begin=None, on_epoch_end=None, on_train_begin=None, on_train_end=None, on_train_batch_begin=None, on_train_batch_end=None, **kwargs ) Used in the notebooks
| Used in the tutorials |
|---|
This callback is constructed with anonymous functions that will be called at the appropriate time (during `Model.{fit | evaluate | predict}`). Note that the callbacks expects positional arguments, as: - `on_epoch_begin` and `on_epoch_end` expect two positional arguments: `epoch`, `logs` - `on_train_begin` and `on_train_end` expect one positional argument: `logs` - `on_train_batch_begin` and `on_train_batch_end` expect two positional arguments: `batch`, `logs` - See `Callback` class definition for the full list of functions and their expected arguments. Args: on_epoch_begin: called at the beginning of every epoch. on_epoch_end: called at the end of every epoch. on_train_begin: called at the beginning of model training. on_train_end: called at the end of model training. on_train_batch_begin: called at the beginning of every train batch. on_train_batch_end: called at the end of every train batch. kwargs: Any function in `Callback` that you want to override by passing `function_name=function`. For example, `LambdaCallback(.., on_train_end=train_end_fn)`. The custom function needs to have same arguments as the ones defined in `Callback`. Example: ```python # Print the batch number at the beginning of every batch. batch_print_callback = LambdaCallback( on_train_batch_begin=lambda batch,logs: print(batch)) # Stream the epoch loss to a file in JSON format. The file content # is not well-formed JSON but rather has a JSON object per line. import json json_log = open('loss_log.json', mode='wt', buffering=1) json_logging_callback = LambdaCallback( on_epoch_end=lambda epoch, logs: json_log.write( json.dumps({'epoch': epoch, 'loss': logs['loss']}) + ' '), on_train_end=lambda logs: json_log.close() ) # Terminate some processes after having finished model training. processes = ... cleanup_callback = LambdaCallback( on_train_end=lambda logs: [ p.terminate() for p in processes if p.is_alive()]) model.fit(..., callbacks=[batch_print_callback, json_logging_callback, cleanup_callback]) ``` Attributes | |
|---|---|
model | |
Methods
on_batch_begin
on_batch_begin( batch, logs=None ) A backwards compatibility alias for on_train_batch_begin.
on_batch_end
on_batch_end( batch, logs=None ) A backwards compatibility alias for on_train_batch_end.
on_epoch_begin
on_epoch_begin( epoch, logs=None ) Called at the start of an epoch.
Subclasses should override for any actions to run. This function should only be called during TRAIN mode.
| Args | |
|---|---|
epoch | Integer, index of epoch. |
logs | Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_epoch_end
on_epoch_end( epoch, logs=None ) Called at the end of an epoch.
Subclasses should override for any actions to run. This function should only be called during TRAIN mode.
| Args | |
|---|---|
epoch | Integer, index of epoch. |
logs | Dict, metric results for this training epoch, and for the validation epoch if validation is performed. Validation result keys are prefixed with val_. For training epoch, the values of the Model's metrics are returned. Example: {'loss': 0.2, 'accuracy': 0.7}. |
on_predict_batch_begin
on_predict_batch_begin( batch, logs=None ) Called at the beginning of a batch in predict methods.
Subclasses should override for any actions to run.
Note that if the steps_per_execution argument to compile in Model is set to N, this method will only be called every N batches.
| Args | |
|---|---|
batch | Integer, index of batch within the current epoch. |
logs | Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_predict_batch_end
on_predict_batch_end( batch, logs=None ) Called at the end of a batch in predict methods.
Subclasses should override for any actions to run.
Note that if the steps_per_execution argument to compile in Model is set to N, this method will only be called every N batches.
| Args | |
|---|---|
batch | Integer, index of batch within the current epoch. |
logs | Dict. Aggregated metric results up until this batch. |
on_predict_begin
on_predict_begin( logs=None ) Called at the beginning of prediction.
Subclasses should override for any actions to run.
| Args | |
|---|---|
logs | Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_predict_end
on_predict_end( logs=None ) Called at the end of prediction.
Subclasses should override for any actions to run.
| Args | |
|---|---|
logs | Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_test_batch_begin
on_test_batch_begin( batch, logs=None ) Called at the beginning of a batch in evaluate methods.
Also called at the beginning of a validation batch in the fit methods, if validation data is provided.
Subclasses should override for any actions to run.
Note that if the steps_per_execution argument to compile in Model is set to N, this method will only be called every N batches.
| Args | |
|---|---|
batch | Integer, index of batch within the current epoch. |
logs | Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_test_batch_end
on_test_batch_end( batch, logs=None ) Called at the end of a batch in evaluate methods.
Also called at the end of a validation batch in the fit methods, if validation data is provided.
Subclasses should override for any actions to run.
Note that if the steps_per_execution argument to compile in Model is set to N, this method will only be called every N batches.
| Args | |
|---|---|
batch | Integer, index of batch within the current epoch. |
logs | Dict. Aggregated metric results up until this batch. |
on_test_begin
on_test_begin( logs=None ) Called at the beginning of evaluation or validation.
Subclasses should override for any actions to run.
| Args | |
|---|---|
logs | Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_test_end
on_test_end( logs=None ) Called at the end of evaluation or validation.
Subclasses should override for any actions to run.
| Args | |
|---|---|
logs | Dict. Currently the output of the last call to on_test_batch_end() is passed to this argument for this method but that may change in the future. |
on_train_batch_begin
on_train_batch_begin( batch, logs=None ) Called at the beginning of a training batch in fit methods.
Subclasses should override for any actions to run.
Note that if the steps_per_execution argument to compile in Model is set to N, this method will only be called every N batches.
| Args | |
|---|---|
batch | Integer, index of batch within the current epoch. |
logs | Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_train_batch_end
on_train_batch_end( batch, logs=None ) Called at the end of a training batch in fit methods.
Subclasses should override for any actions to run.
Note that if the steps_per_execution argument to compile in Model is set to N, this method will only be called every N batches.
| Args | |
|---|---|
batch | Integer, index of batch within the current epoch. |
logs | Dict. Aggregated metric results up until this batch. |
on_train_begin
on_train_begin( logs=None ) Called at the beginning of training.
Subclasses should override for any actions to run.
| Args | |
|---|---|
logs | Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_train_end
on_train_end( logs=None ) Called at the end of training.
Subclasses should override for any actions to run.
| Args | |
|---|---|
logs | Dict. Currently the output of the last call to on_epoch_end() is passed to this argument for this method but that may change in the future. |
set_model
set_model( model ) set_params
set_params( params )
View source on GitHub