Integraci贸n de MLflow para Ultralytics YOLO
Introducci贸n
El registro de experimentos es un aspecto crucial de los flujos de trabajo del 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, conocido por sus capacidades 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 funciones de registro de MLflow para tu 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 hacer un seguimiento de los experimentos, empaquetar el 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 las 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煤rate de que MLflow est谩 instalado. Si no lo est谩, inst谩lalo con pip:
Aseg煤rate de que el registro MLflow est谩 activado en los ajustes de Ultralytics . Normalmente, esto se controla mediante los ajustes mflow
llave. Ver la ajustes para m谩s informaci贸n.
Actualiza la configuraci贸n de Ultralytics MLflow
Dentro del entorno Python , llama a la funci贸n update
del m茅todo settings
para cambiar tu configuraci贸n:
C贸mo utilizarlo
Comandos
-
Establecer un nombre de proyecto: Puedes establecer el nombre del proyecto mediante una variable de entorno:
O utiliza el
project=<project>
al entrenar un modelo YOLO , es deciryolo train project=my_project
. -
Establecer un nombre de ejecuci贸n: De forma similar a establecer un nombre de proyecto, puedes establecer el nombre de ejecuci贸n mediante una variable de entorno:
O utiliza el
name=<name>
al entrenar un modelo YOLO , es deciryolo train project=my_project name=my_name
. -
Inicia el servidor MLflow local: Para iniciar el seguimiento, utiliza
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, establece el par谩metro
MLFLOW_TRACKING_URI
variable de entorno. -
Matar las instancias del servidor MLflow: Para detener todas las instancias de MLflow en ejecuci贸n, ejecuta:
Registro
Del registro se encarga el on_pretrain_routine_end
, on_fit_epoch_end
y on_train_end
funciones de llamada de retorno. Estas funciones se llaman autom谩ticamente durante las respectivas etapas del proceso de entrenamiento, y se encargan del registro de par谩metros, m茅tricas y artefactos.
Ejemplos
-
Registro de m茅tricas personalizadas: Puedes a帽adir m茅tricas personalizadas para que se registren modificando la opci贸n
trainer.metrics
diccionario anteson_fit_epoch_end
se llama. -
Ver Experimento: Para ver tus registros, navega a tu servidor MLflow (normalmente http://127.0.0.1:5000), selecciona tu experimento y ejec煤talo.
-
Ver Carrera: Las Ejecuciones son modelos individuales dentro de un experimento. Haz clic en una Corrida y ver谩s los detalles de la misma, incluidos los artefactos cargados y los pesos de los modelos.
Desactivar MLflow
Para desactivar el registro MLflow:
Conclusi贸n
La integraci贸n del registro de MLflow con Ultralytics YOLO ofrece una forma racionalizada de realizar un seguimiento de tus experimentos de aprendizaje autom谩tico. Te 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 detalles, visita 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 tienes que asegurarte de que MLflow est谩 instalado. Puedes instalarlo utilizando pip:
A continuaci贸n, activa el registro MLflow en los ajustes de Ultralytics . Esto se puede controlar mediante la opci贸n mlflow
llave. Para m谩s informaci贸n, consulta gu铆a de ajustes.
Actualiza la configuraci贸n de Ultralytics MLflow
Por 煤ltimo, inicia un servidor MLflow local para el seguimiento:
驴Qu茅 m茅tricas y par谩metros puedo registrar utilizando MLflow con Ultralytics YOLO ?
Ultralytics YOLO con MLflow admite el registro de diversas m茅tricas, par谩metros y artefactos a lo largo del proceso de entrenamiento:
- Registro de m茅tricas: Registra 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 los artefactos del modelo, como pesos y archivos de configuraci贸n, despu茅s del entrenamiento.
Para obtener informaci贸n m谩s detallada, visita la documentaci贸n de seguimiento deUltralytics YOLO .
驴Puedo desactivar el registro MLflow una vez activado?
S铆, puedes desactivar el registro MLflow para Ultralytics YOLO actualizando la configuraci贸n. A continuaci贸n te explicamos c贸mo puedes hacerlo utilizando la p谩gina CLI:
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 tus experimentos en Ultralytics YOLO , utiliza el siguiente comando:
Este comando inicia un servidor local en http://127.0.0.1:5000 por defecto. Si necesitas detener la ejecuci贸n de instancias del servidor MLflow, utiliza el siguiente comando bash :
Consulta la secci贸n 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 gestionar tus experimentos de aprendizaje autom谩tico:
- Seguimiento de experimentos mejorado: Rastrea y compara f谩cilmente diferentes ejecuciones y sus resultados.
- Reproducibilidad mejorada del modelo: Aseg煤rate de que tus experimentos son reproducibles registrando todos los par谩metros y artefactos.
- Monitorizaci贸n del rendimiento: Visualiza las m茅tricas de rendimiento a lo largo del tiempo para tomar decisiones basadas en datos para mejorar el modelo.
Para conocer en profundidad c贸mo configurar y aprovechar MLflow con Ultralytics YOLO , explora la documentaci贸n Integraci贸n de MLflow para Ultralytics YOLO .