Ir al contenido

Integraci贸n de MLflow para Ultralytics YOLO

Ecosistema MLflow

Introducci贸n

El registro de experimentos es un aspecto crucial de los flujos de trabajo de aprendizaje autom谩tico que permite el seguimiento de diversas m茅tricas, par谩metros y artefactos. Ayuda a mejorar la reproducibilidad del modelo, depurar problemas y mejorar el rendimiento del modelo. Ultralytics YOLO MLflow, conocido por sus funciones de detecci贸n de objetos en tiempo real, ofrece ahora integraci贸n con MLflow, una plataforma de c贸digo abierto para la gesti贸n completa del ciclo de vida del aprendizaje autom谩tico.

Esta p谩gina de documentaci贸n es una gu铆a completa para configurar y utilizar las capacidades de registro de MLflow para su proyecto Ultralytics YOLO .

驴Qu茅 es MLflow?

MLflow es una plataforma de c贸digo abierto desarrollada por Databricks para gestionar el ciclo de vida completo del aprendizaje autom谩tico. Incluye herramientas para rastrear experimentos, empaquetar c贸digo en ejecuciones reproducibles y compartir y desplegar modelos. MLflow est谩 dise帽ado para funcionar con cualquier biblioteca de aprendizaje autom谩tico y lenguaje de programaci贸n.

Caracter铆sticas

  • Registro de m茅tricas: Registra m茅tricas al final de cada 茅poca y al final del entrenamiento.
  • Registro de par谩metros: Registra todos los par谩metros utilizados en el entrenamiento.
  • Registro de artefactos: Registra los artefactos del modelo, incluidos los pesos y los archivos de configuraci贸n, al final del entrenamiento.

Configuraci贸n y requisitos previos

Aseg煤rese de que MLflow est谩 instalado. Si no lo est谩, inst谩lelo con pip:

pip install mlflow

Aseg煤rese de que el registro de MLflow est谩 activado en los ajustes de Ultralytics . Normalmente, esto se controla mediante la configuraci贸n mflow llave. V茅ase la ajustes para m谩s informaci贸n.

Actualizar la configuraci贸n de Ultralytics MLflow

En el entorno Python , llame a la funci贸n update en el settings para cambiar su configuraci贸n:

from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()

Si prefiere utilizar la interfaz de l铆nea de comandos, los siguientes comandos le permitir谩n modificar su configuraci贸n:

# Update a setting
yolo settings runs_dir='/path/to/runs'

# Reset settings to default values
yolo settings reset

C贸mo utilizarlo

Comandos

  1. Establecer un nombre de proyecto: Puedes establecer el nombre del proyecto a trav茅s de una variable de entorno:

    export MLFLOW_EXPERIMENT_NAME=<your_experiment_name>
    

    O utilice la funci贸n project=<project> al entrenar un modelo YOLO , es decir yolo train project=my_project.

  2. Establecer un nombre de ejecuci贸n: De forma similar a la configuraci贸n de un nombre de proyecto, puede establecer el nombre de ejecuci贸n a trav茅s de una variable de entorno:

    export MLFLOW_RUN=<your_run_name>
    

    O utilice la funci贸n name=<name> al entrenar un modelo YOLO , es decir yolo train project=my_project name=my_name.

  3. Inicie el servidor MLflow local: Para iniciar el seguimiento, utilice:

    mlflow server --backend-store-uri runs/mlflow'
    

    Esto iniciar谩 un servidor local en http://127.0.0.1:5000 por defecto y guarda todos los registros mlflow en el directorio 'runs/mlflow'. Para especificar un URI diferente, establezca el par谩metro MLFLOW_TRACKING_URI variable de entorno.

  4. Detenga las instancias del servidor MLflow: Para detener todas las instancias de MLflow en ejecuci贸n, ejecute:

    ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9
    

Registro

Del registro se encarga el on_pretrain_routine_end, on_fit_epoch_endy on_train_end funciones de devoluci贸n de llamada. Estas funciones se llaman autom谩ticamente durante las respectivas etapas del proceso de formaci贸n, y se encargan del registro de par谩metros, m茅tricas y artefactos.

Ejemplos

  1. Registro de m茅tricas personalizadas: Puede a帽adir m茅tricas personalizadas para que se registren modificando el archivo trainer.metrics diccionario antes on_fit_epoch_end se llama.

  2. Ver Experimento: Para ver sus registros, vaya a su servidor MLflow (normalmente http://127.0.0.1:5000), seleccione su experimento y ejec煤telo. YOLO Experimento MLflow

  3. Ver carrera: Las ejecuciones son modelos individuales dentro de un experimento. Haga clic en un experimento para ver los detalles del experimento, incluidos los artefactos cargados y los pesos de los modelos. YOLO MLflow Run

Desactivar MLflow

Para desactivar el registro de MLflow:

yolo settings mlflow=False

Conclusi贸n

La integraci贸n de MLflow logging con Ultralytics YOLO ofrece una forma simplificada de realizar un seguimiento de sus experimentos de aprendizaje autom谩tico. Le permite supervisar las m茅tricas de rendimiento y gestionar los artefactos de forma eficaz, ayudando as铆 a desarrollar y desplegar modelos s贸lidos. Para m谩s informaci贸n, visite la documentaci贸n oficial de MLflow.

PREGUNTAS FRECUENTES

驴C贸mo configuro el registro de MLflow con Ultralytics YOLO ?

Para configurar el registro de MLflow con Ultralytics YOLO , primero debe asegurarse de que MLflow est谩 instalado. Puede instalarlo usando pip:

pip install mlflow

A continuaci贸n, active el registro de MLflow en la configuraci贸n de Ultralytics . Esto se puede controlar mediante la opci贸n mlflow clave. Para m谩s informaci贸n, consulte la secci贸n gu铆a de configuraci贸n.

Actualizar la configuraci贸n de Ultralytics MLflow

from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()
# Update a setting
yolo settings runs_dir='/path/to/runs'

# Reset settings to default values
yolo settings reset

Por 煤ltimo, inicie un servidor MLflow local para el seguimiento:

mlflow server --backend-store-uri runs/mlflow

驴Qu茅 m茅tricas y par谩metros puedo registrar utilizando MLflow con Ultralytics YOLO ?

Ultralytics YOLO con MLflow soporta el registro de varias m茅tricas, par谩metros y artefactos a lo largo del proceso de entrenamiento:

  • Registro de m茅tricas: Realiza un seguimiento de las m茅tricas al final de cada 茅poca y al finalizar el entrenamiento.
  • Registro de par谩metros: Registra todos los par谩metros utilizados en el proceso de entrenamiento.
  • Registro de artefactos: Guarda artefactos del modelo como pesos y archivos de configuraci贸n despu茅s del entrenamiento.

Para obtener informaci贸n m谩s detallada, visite la documentaci贸n de seguimientoUltralytics YOLO .

驴Puedo desactivar el registro MLflow una vez activado?

S铆, puede desactivar el registro de MLflow para Ultralytics YOLO actualizando la configuraci贸n. A continuaci贸n se explica c贸mo hacerlo mediante la p谩gina CLI:

yolo settings mlflow=False

Para personalizar y restablecer los ajustes, consulta la gu铆a de ajustes.

驴C贸mo puedo iniciar y detener un servidor MLflow para el seguimiento de Ultralytics YOLO ?

Para iniciar un servidor MLflow para el seguimiento de sus experimentos en Ultralytics YOLO , utilice el siguiente comando:

mlflow server --backend-store-uri runs/mlflow

Este comando inicia un servidor local en http://127.0.0.1:5000 por defecto. Si necesita detener la ejecuci贸n de instancias del servidor MLflow, utilice el siguiente comando bash :

ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9

Consulte la secci贸n de comandos para ver m谩s opciones de comandos.

驴Cu谩les son las ventajas de integrar MLflow con Ultralytics YOLO para el seguimiento de experimentos?

La integraci贸n de MLflow con Ultralytics YOLO ofrece varias ventajas para la gesti贸n de sus experimentos de aprendizaje autom谩tico:

  • Seguimiento de experimentos mejorado: Rastrea y compara f谩cilmente diferentes ejecuciones y sus resultados.
  • Mejora de la reproducibilidad de los modelos: Aseg煤rese de que sus experimentos son reproducibles registrando todos los par谩metros y artefactos.
  • Supervisi贸n del rendimiento: Visualice las m茅tricas de rendimiento a lo largo del tiempo para tomar decisiones basadas en datos para mejorar el modelo.

Para obtener informaci贸n detallada sobre la configuraci贸n y el uso de MLflow con Ultralytics YOLO , consulte la documentaci贸n de MLflow Integration for Ultralytics YOLO .

Creado hace 1 a帽o 鉁忥笍 Actualizado hace 2 meses

Comentarios