Saltar al contenido

Elevando YOLOv8 Formaci贸n: Simplifica tu proceso de registro con Comet ML

Registrar los detalles clave del entrenamiento, como par谩metros, m茅tricas, predicciones de im谩genes y puntos de comprobaci贸n del modelo, es esencial en el aprendizaje autom谩tico: mantiene la transparencia de tu proyecto, tu progreso medible y tus resultados repetibles.

Ultralytics YOLOv8 se integra perfectamente con Comet ML, capturando y optimizando eficazmente cada aspecto del proceso de entrenamiento de tu modelo de detecci贸n de objetos YOLOv8 . En esta gu铆a, cubriremos el proceso de instalaci贸n, la configuraci贸n de Comet ML, la informaci贸n en tiempo real, el registro personalizado y el uso sin conexi贸n, garantizando que tu entrenamiento de YOLOv8 est茅 completamente documentado y ajustado para obtener resultados sobresalientes.

Comet ML

Comet Visi贸n general de ML

Comet ML es una plataforma para seguir, comparar, explicar y optimizar modelos y experimentos de aprendizaje autom谩tico. Te permite registrar m茅tricas, par谩metros, medios y mucho m谩s durante el entrenamiento de tus modelos y supervisar tus experimentos a trav茅s de una interfaz web est茅ticamente agradable. Comet ML ayuda a los cient铆ficos de datos a iterar m谩s r谩pidamente, mejora la transparencia y la reproducibilidad, y ayuda en el desarrollo de modelos de producci贸n.

Aprovechar el poder de YOLOv8 y Comet ML

Al combinar Ultralytics YOLOv8 con Comet ML, desbloqueas una serie de ventajas. Entre ellas se incluyen una gesti贸n simplificada de los experimentos, informaci贸n en tiempo real para realizar ajustes r谩pidos, opciones de registro flexibles y personalizadas, y la posibilidad de registrar experimentos sin conexi贸n cuando el acceso a Internet es limitado. Esta integraci贸n te permite tomar decisiones basadas en datos, analizar las m茅tricas de rendimiento y lograr resultados excepcionales.

Instalaci贸n

Para instalar los paquetes necesarios, ejecuta

Instalaci贸n

# Install the required packages for YOLOv8 and Comet ML
pip install ultralytics comet_ml torch torchvision

Configuraci贸n de Comet ML

Despu茅s de instalar los paquetes necesarios, tendr谩s que registrarte, obtener una Clave APIComet y configurarla.

Configuraci贸n de Comet ML

# Set your Comet Api Key
export COMET_API_KEY=<Your API Key>

A continuaci贸n, puedes inicializar tu proyecto Comet . Comet detectar谩 autom谩ticamente la clave API y proceder谩 a la configuraci贸n.

import comet_ml

comet_ml.init(project_name="comet-example-yolov8-coco128")

Si utilizas un cuaderno Colab Google , el c贸digo anterior te pedir谩 que introduzcas tu clave API para la inicializaci贸n.

Utilizaci贸n

Antes de sumergirte en las instrucciones de uso, aseg煤rate de consultar la gama de modelosYOLOv8 que ofrece Ultralytics. Esto te ayudar谩 a elegir el modelo m谩s apropiado para los requisitos de tu proyecto.

Utilizaci贸n

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolov8-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

Tras ejecutar el c贸digo de entrenamiento, Comet ML crear谩 un experimento en tu espacio de trabajo Comet para realizar un seguimiento autom谩tico de la ejecuci贸n. A continuaci贸n, se te proporcionar谩 un enlace para ver el registro detallado del proceso de entrenamiento de tu modeloYOLOv8 .

Comet registra autom谩ticamente los siguientes datos sin ninguna configuraci贸n adicional: m茅tricas como mAP y p茅rdida, hiperpar谩metros, puntos de control del modelo, matriz de confusi贸n interactiva y predicciones del cuadro delimitador de la imagen.

Comprende el rendimiento de tu modelo con Comet Visualizaciones ML

Profundicemos en lo que ver谩s en el Comet Panel de ML una vez que su YOLOv8 El modelo comienza a entrenarse. El tablero es donde ocurre toda la acci贸n, presentando una variedad de informaci贸n registrada autom谩ticamente a trav茅s de im谩genes y estad铆sticas. Aqu铆 hay un recorrido r谩pido:

Paneles de experimentaci贸n

La secci贸n de paneles de experimentos del panel Comet ML organiza y presenta las distintas ejecuciones y sus m茅tricas, como la p茅rdida de m谩scara de segmento, la p茅rdida de clase, la precisi贸n y la precisi贸n media promedio.

Comet Visi贸n general de ML

M茅tricas

En la secci贸n de m茅tricas, tienes la opci贸n de examinar las m茅tricas tambi茅n en formato tabular, que se muestra en un panel espec铆fico, como se ilustra aqu铆.

Comet Visi贸n general de ML

Matriz de confusi贸n interactiva

La matriz de confusi贸n, que se encuentra en la pesta帽a Matriz de confusi贸n, proporciona una forma interactiva de evaluar la precisi贸n de clasificaci贸n del modelo. Detalla las predicciones correctas e incorrectas, permiti茅ndote comprender los puntos fuertes y d茅biles del modelo.

Comet Visi贸n general de ML

M茅tricas del sistema

Comet ML registra m茅tricas del sistema para ayudar a identificar cualquier cuello de botella en el proceso de entrenamiento. Incluye m茅tricas como la utilizaci贸n de GPU , el uso de memoria de GPU , la utilizaci贸n de CPU y el uso de RAM. Son esenciales para controlar la eficiencia del uso de recursos durante el entrenamiento del modelo.

Comet Visi贸n general de ML

Personaliza el registro de Comet ML

Comet ML ofrece la flexibilidad de personalizar su comportamiento de registro estableciendo variables de entorno. Estas configuraciones te permiten adaptar Comet ML a tus necesidades y preferencias espec铆ficas. Aqu铆 tienes algunas opciones de personalizaci贸n 煤tiles:

Registro de predicciones de imagen

Puedes controlar el n煤mero de predicciones de im谩genes que Comet ML registra durante tus experimentos. Por defecto, Comet ML registra 100 predicciones de im谩genes del conjunto de validaci贸n. Sin embargo, puedes cambiar este n煤mero para adaptarlo mejor a tus necesidades. Por ejemplo, para registrar 200 predicciones de imagen, utiliza el siguiente c贸digo:

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

Intervalo de registro por lotes

Comet ML te permite especificar la frecuencia con la que se registran los lotes de predicciones de im谩genes. La direcci贸n COMET_EVAL_BATCH_LOGGING_INTERVAL controla esta frecuencia. El valor por defecto es 1, que registra las predicciones de cada lote de validaci贸n. Puedes ajustar este valor para registrar las predicciones en un intervalo diferente. Por ejemplo, si lo ajustas a 4, se registrar谩n las predicciones de cada cuarto lote.

import os

os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"

Desactivar el registro de la matriz de confusi贸n

En algunos casos, puede que no quieras registrar la matriz de confusi贸n de tu conjunto de validaci贸n despu茅s de cada 茅poca. Puedes desactivar esta funci贸n configurando la opci贸n COMET_EVAL_LOG_CONFUSION_MATRIX a "falso". La matriz de confusi贸n s贸lo se registrar谩 una vez, una vez finalizado el entrenamiento.

import os

os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

Registro sin conexi贸n

Si te encuentras en una situaci贸n en la que el acceso a Internet es limitado, Comet ML proporciona una opci贸n de registro sin conexi贸n. Puedes configurar el COMET_MODE a "sin conexi贸n" para activar esta funci贸n. Los datos de tu experimento se guardar谩n localmente en un directorio que podr谩s cargar m谩s tarde en Comet ML cuando dispongas de conexi贸n a Internet.

import os

os.environ["COMET_MODE"] = "offline"

Resumen

Esta gu铆a te ha guiado a trav茅s de la integraci贸n de Comet ML con Ultralytics' YOLOv8. Desde la instalaci贸n hasta la personalizaci贸n, has aprendido a agilizar la gesti贸n de experimentos, obtener informaci贸n en tiempo real y adaptar el registro a las necesidades de tu proyecto.

Explora la documentaci贸n oficial deComet ML para obtener m谩s informaci贸n sobre la integraci贸n con YOLOv8.

Adem谩s, si quieres profundizar en las aplicaciones pr谩cticas de YOLOv8, en concreto para tareas de segmentaci贸n de im谩genes, esta gu铆a detallada sobre el ajuste fino de YOLOv8 con Comet ML ofrece valiosos conocimientos e instrucciones paso a paso para mejorar el rendimiento de tu modelo.

Adem谩s, para explorar otras interesantes integraciones con Ultralytics, consulta la p谩gina de la gu铆a de integraci贸n, que ofrece una gran cantidad de recursos e informaci贸n.

PREGUNTAS FRECUENTES

驴C贸mo integro Comet ML con Ultralytics YOLOv8 para el entrenamiento?

Para integrar Comet ML con Ultralytics YOLOv8 , sigue estos pasos:

  1. Instala los paquetes necesarios:

    pip install ultralytics comet_ml torch torchvision
    
  2. Configura tu clave API en Comet :

    export COMET_API_KEY=<Your API Key>
    
  3. Inicializa tu proyecto Comet en tu c贸digo Python :

    import comet_ml
    
    comet_ml.init(project_name="comet-example-yolov8-coco128")
    
  4. Entrena tu modelo YOLOv8 y registra las m茅tricas:

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    results = model.train(
        data="coco8.yaml", project="comet-example-yolov8-coco128", batch=32, save_period=1, save_json=True, epochs=3
    )
    

Para obtener instrucciones m谩s detalladas, consulta la secci贸n de configuraci贸n deComet ML.

驴Cu谩les son las ventajas de utilizar Comet ML con YOLOv8?

Integrando Ultralytics YOLOv8 con Comet ML, puedes:

  • Controla la informaci贸n en tiempo real: Obt茅n informaci贸n instant谩nea sobre los resultados de tu entrenamiento, lo que permite realizar ajustes r谩pidos.
  • Registra m茅tricas exhaustivas: Captura autom谩ticamente m茅tricas esenciales como mAP, p茅rdida, hiperpar谩metros y puntos de control del modelo.
  • Realiza el seguimiento de los experimentos sin conexi贸n: Registra localmente tus recorridos de entrenamiento cuando no dispongas de acceso a Internet.
  • Compara diferentes ejecuciones de entrenamiento: Utiliza el panel interactivo Comet ML para analizar y comparar m煤ltiples experimentos.

Aprovechando estas funciones, puedes optimizar tus flujos de trabajo de aprendizaje autom谩tico para mejorar el rendimiento y la reproducibilidad. Para m谩s informaci贸n, visita la gu铆a de integraci贸n deComet ML.

驴C贸mo personalizo el comportamiento de registro de Comet ML durante el entrenamiento de YOLOv8 ?

Comet ML permite una amplia personalizaci贸n de su comportamiento de registro mediante variables de entorno:

  • Cambia el n煤mero de predicciones de imagen registradas:

    import os
    
    os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
    
  • Ajusta el intervalo de registro por lotes:

    import os
    
    os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
    
  • Desactiva el registro de la matriz de confusi贸n:

    import os
    
    os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
    

Para m谩s opciones de personalizaci贸n, consulta la secci贸n Personalizar el registro de Comet ML.

驴C贸mo puedo ver m茅tricas y visualizaciones detalladas de mi entrenamiento en YOLOv8 en Comet ML?

Una vez que tu modelo YOLOv8 empiece a entrenarse, podr谩s acceder a una amplia gama de m茅tricas y visualizaciones en el panel Comet ML. Entre las principales funciones se incluyen:

  • Paneles de experimentos: Visualiza diferentes ejecuciones y sus m茅tricas, incluyendo la p茅rdida de m谩scara de segmento, la p茅rdida de clase y la precisi贸n media promedio.
  • M茅tricas: Examina las m茅tricas en formato tabular para un an谩lisis detallado.
  • Matriz de Confusi贸n Interactiva: Eval煤a la precisi贸n de la clasificaci贸n con una matriz de confusi贸n interactiva.
  • M茅tricas del sistema: Supervisa la utilizaci贸n de GPU y CPU , el uso de memoria y otras m茅tricas del sistema.

Para una visi贸n detallada de estas funciones, visita la secci贸n Comprender el rendimiento de tu modelo con las visualizaciones de Comet ML.

驴Puedo utilizar Comet ML para el registro sin conexi贸n al entrenar modelos YOLOv8 ?

S铆, puedes activar el registro sin conexi贸n en Comet ML configurando COMET_MODE a "desconectado":

import os

os.environ["COMET_MODE"] = "offline"

Esta funci贸n te permite registrar localmente los datos de tus experimentos, que m谩s tarde podr谩s cargar en Comet ML cuando dispongas de conexi贸n a Internet. Esto es especialmente 煤til cuando se trabaja en entornos con acceso limitado a Internet. Para m谩s detalles, consulta la secci贸n Registro sin conexi贸n.



Creado 2023-11-16, Actualizado 2024-07-05
Autores: glenn-jocher (10), AyushExel (1), abirami-vina (1)

Comentarios