es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for 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ámetro exclude. Por ejemplo, para excluir el parámetro batch_size de ser registrado automáticamente, puedes modificar tu código de la siguiente manera:

    with mlflow.start_run(experiment_id=experiment.experiment_id):
        mlflow.keras.autolog(log_input_examples=True, exclude=["batch_size"])
        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)
    

    En este código, se utiliza log_param() para registrar manualmente el parámetro batch_size, mientras que autolog() se configura para excluirlo de ser registrado automáticamente. De esta manera, el parámetro batch_size solo se registra una vez y ambos registros, tanto de autolog como de log_param, pueden coexistir durante el mismo experimento.

Comments are closed.