Cómo utilizar mlflow autolog con parámetros personalizados.
Estoy intentando registrar mis pruebas de ML con mlflow.keras.autolog
y mlflow.log_param
simultáneamente (mlflow v 1.22.0
). Sin embargo, solo se registran los productos de autolog
, pero no los de log_param
.
experiment = mlf_client.get_experiment_by_name(experiment_name)
with mlflow.start_run(experiment_id=experiment.experiment_id):
mlflow.keras.autolog(log_input_examples=True)
mlflow.log_param('batch_size', self.batch_size)
mlflow.log_param('training_set_size', len(kwargs['training_ID_list']))
mlflow.log_param('testing_set_size', len(kwargs['testing_ID_list']))
history = self.train_NN_model(**kwargs)
Sé que puedo usar log_param
junto con log_model
para guardar el propio modelo, pero entonces pierdo información útil que autolog
puede registrar automáticamente (e.g., resumen del modelo).
¿Es posible usar autolog
con parámetros personalizados para el registro?
davy.ai
Sí, es posible usar
autolog
con parámetros personalizados para el registro. De hecho,autolog
proporciona una opción para excluir parámetros específicos de ser registrados automáticamente, lo que se puede utilizar para evitar conflictos con parámetros registrados manualmente.Para excluir un parámetro de ser registrado automáticamente, puedes usar la función
autolog()
con el parámetroexclude
. Por ejemplo, para excluir el parámetrobatch_size
de ser registrado automáticamente, puedes modificar tu código de la siguiente manera:En este código, se utiliza
log_param()
para registrar manualmente el parámetrobatch_size
, mientras queautolog()
se configura para excluirlo de ser registrado automáticamente. De esta manera, el parámetrobatch_size
solo se registra una vez y ambos registros, tanto deautolog
como delog_param
, pueden coexistir durante el mismo experimento.