View source on GitHub
|
Callback that terminates training when a NaN loss is encountered.
Inherits From: Callback
tf.keras.callbacks.TerminateOnNaN(
raise_error: bool = False
)
This callback monitors the loss value during training
and terminates training when a NaN or Inf loss is detected.
By default, training is stopped gracefully
by setting model.stop_training = True, which triggers all callback cleanup
methods including on_train_end().
Alternatively, you can use raise_error=True to immediately raise a
RuntimeError when NaN/Inf is detected. This raise_error termination
prevents on_train_end() from being called on other callbacks, which
is useful for preserving backup states or preventing unintended cleanup
when training fails.
Args | |
|---|---|
raise_error
|
Boolean, default False. If False, uses graceful stop via
model.stop_training = True. If True, immediately raises
RuntimeError on NaN/Inf loss, bypassing callback cleanup methods.
|
Example:
# Graceful termination (default)
callback = keras.callbacks.TerminateOnNaN()
model.fit(x, y, callbacks=[callback])
# raise_error termination (strict failure)
callback = keras.callbacks.TerminateOnNaN(raise_error=True)
model.fit(x, y, callbacks=[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
)
Check for NaN/Inf loss at the end of each batch.
| Args | |
|---|---|
batch
|
Integer, index of batch within the current epoch. |
logs
|
Dict, contains the return value of model.train_step().
|
| Raises | |
|---|---|
RuntimeError
|
If loss is NaN/Inf and raise_error=True. |
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