dcase_models.util.SEDCallback

class dcase_models.util.SEDCallback(data, file_weights=None, best_F1=0, early_stopping=0, considered_improvement=0.01, sequence_time_sec=0.5, metric_resolution_sec=1.0, label_list=[])[source]

Bases: tensorflow.python.keras.callbacks.Callback

Keras callback to calculate F1 and ER after each epoch and save file with the weights if the evaluation improves.

Use sed_eval library.

__init__(data, file_weights=None, best_F1=0, early_stopping=0, considered_improvement=0.01, sequence_time_sec=0.5, metric_resolution_sec=1.0, label_list=[])[source]

Initialize the keras callback

Parameters:
data : tuple or KerasDataGenerator

Validation data for model evaluation (X_val, Y_val) or KerasDataGenerator

file_weights : string

Path to the file with the weights

best_acc : float

Last accuracy value, only if continue

early_stopping : int

Number of epochs for cut the training if not improves if 0, do not use it

Methods

__init__(data[, file_weights, best_F1, …]) Initialize the keras callback
on_batch_begin(batch[, logs]) A backwards compatibility alias for on_train_batch_begin.
on_batch_end(batch[, logs]) A backwards compatibility alias for on_train_batch_end.
on_epoch_begin(epoch[, logs]) Called at the start of an epoch.
on_epoch_end(epoch[, logs]) This function is run when each epoch ends.
on_predict_batch_begin(batch[, logs]) Called at the beginning of a batch in predict methods.
on_predict_batch_end(batch[, logs]) Called at the end of a batch in predict methods.
on_predict_begin([logs]) Called at the beginning of prediction.
on_predict_end([logs]) Called at the end of prediction.
on_test_batch_begin(batch[, logs]) Called at the beginning of a batch in evaluate methods.
on_test_batch_end(batch[, logs]) Called at the end of a batch in evaluate methods.
on_test_begin([logs]) Called at the beginning of evaluation or validation.
on_test_end([logs]) Called at the end of evaluation or validation.
on_train_batch_begin(batch[, logs]) Called at the beginning of a training batch in fit methods.
on_train_batch_end(batch[, logs]) Called at the end of a training batch in fit methods.
on_train_begin([logs]) Called at the beginning of training.
on_train_end([logs]) Called at the end of training.
set_model(model)
set_params(params)
on_batch_begin(batch, logs=None)

A backwards compatibility alias for on_train_batch_begin.

on_batch_end(batch, logs=None)

A backwards compatibility alias for on_train_batch_end.

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.

Arguments:

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(epoch, logs={})[source]

This function is run when each epoch ends. The metrics are calculated, printed and saved to the log file.

Parameters:
epoch : int

number of epoch (from Callback class)

logs : dict

log data (from Callback class)

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 tf.keras.Model is set to N, this method will only be called every N batches.

Arguments:

batch: Integer, index of batch within the current epoch. logs: Dict, contains the return value of model.predict_step,

it typically returns a dict with a key ‘outputs’ containing the model’s outputs.
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 tf.keras.Model is set to N, this method will only be called every N batches.

Arguments:
batch: Integer, index of batch within the current epoch. logs: Dict. Aggregated metric results up until this batch.
on_predict_begin(logs=None)

Called at the beginning of prediction.

Subclasses should override for any actions to run.

Arguments:
logs: Dict. Currently no data is passed to this argument for this method
but that may change in the future.
on_predict_end(logs=None)

Called at the end of prediction.

Subclasses should override for any actions to run.

Arguments:
logs: Dict. Currently no data is passed to this argument for this method
but that may change in the future.
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 tf.keras.Model is set to N, this method will only be called every N batches.

Arguments:

batch: Integer, index of batch within the current epoch. logs: Dict, contains the return value of model.test_step. Typically,

the values of the Model’s metrics are returned. Example: {‘loss’: 0.2, ‘accuracy’: 0.7}.
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 tf.keras.Model is set to N, this method will only be called every N batches.

Arguments:
batch: Integer, index of batch within the current epoch. logs: Dict. Aggregated metric results up until this batch.
on_test_begin(logs=None)

Called at the beginning of evaluation or validation.

Subclasses should override for any actions to run.

Arguments:
logs: Dict. Currently no data is passed to this argument for this method
but that may change in the future.
on_test_end(logs=None)

Called at the end of evaluation or validation.

Subclasses should override for any actions to run.

Arguments:
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(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 tf.keras.Model is set to N, this method will only be called every N batches.

Arguments:

batch: Integer, index of batch within the current epoch. logs: Dict, contains the return value of model.train_step. Typically,

the values of the Model’s metrics are returned. Example: {‘loss’: 0.2, ‘accuracy’: 0.7}.
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 tf.keras.Model is set to N, this method will only be called every N batches.

Arguments:
batch: Integer, index of batch within the current epoch. logs: Dict. Aggregated metric results up until this batch.
on_train_begin(logs=None)

Called at the beginning of training.

Subclasses should override for any actions to run.

Arguments:
logs: Dict. Currently no data is passed to this argument for this method
but that may change in the future.
on_train_end(logs=None)

Called at the end of training.

Subclasses should override for any actions to run.

Arguments:
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(model)
set_params(params)