mlflow.keras_core
-
class
mlflow.keras_core.
MLflowCallback
(run, log_every_epoch=True, log_every_n_steps=None)[source] Bases:
keras_core.src.callbacks.callback.Callback
Callback for logging Keras Core training metrics to MLflow.
This callback logs model metadata at training begins, and logs training metrics every epoch or every n steps (defined by the user) to MLflow.
- Parameters
run – an ‘mlflow.entities.run.Run’ instance, the MLflow run.
log_every_epoch – bool, If True, log metrics every epoch. If False, log metrics every n steps.
log_every_n_steps – int, log metrics every n steps. If None, log metrics every epoch. Must be None if log_every_epoch=True.
import keras_core as keras import mlflow import numpy as np # Prepare data for a 2-class classification. data = np.random.uniform([8, 28, 28, 3]) label = np.random.randint(2, size=8) model = keras.Sequential( [ keras.Input([28, 28, 3]), keras.layers.Flatten(), keras.layers.Dense(2), ] ) model.compile( loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True), optimizer=keras.optimizers.Adam(0.001), metrics=[keras.metrics.SparseCategoricalAccuracy()], ) with mlflow.start_run() as run: model.fit( data, label, batch_size=4, epochs=2, callbacks=[mlflow.keras_core.MLflowCallback(run)], )
-
on_batch_end
(batch, logs=None)[source] Log metrics at the end of each batch with user specified frequency.
-
on_epoch_end
(epoch, logs=None)[source] Log metrics at the end of each epoch.
-
on_test_end
(logs=None)[source] Log validation metrics at validation end.
-
on_train_begin
(logs=None)[source] Log model architecture and optimizer configuration when training begins.