Eleva el entrenamiento de YOLO26: simplifica tu proceso de registro con Comet#
Registrar los detalles clave del entrenamiento, como los parámetros, las métricas, las predicciones de imágenes y los puntos de control del modelo, es fundamental en el machine learning; mantiene tu proyecto transparente, tu progreso medible y tus resultados reproducibles.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 se integra a la perfección con Comet (antes Comet ML), capturando y optimizando de forma eficiente cada aspecto del proceso de entrenamiento de tu modelo de object detection de YOLO26. En esta guía, cubriremos el proceso de instalación, la configuración de Comet, la información en tiempo real, el registro personalizado y el uso sin conexión, garantizando que tu entrenamiento con YOLO26 esté exhaustivamente documentado y optimizado para obtener resultados sobresalientes.
Comet#
Comet es una plataforma para rastrear, comparar, explicar y optimizar modelos y experimentos de machine learning. Te permite registrar métricas, parámetros, contenido multimedia y mucho más durante el entrenamiento de tu modelo, además de supervisar tus experimentos a través de una interfaz web estéticamente agradable. Comet ayuda a los científicos de datos a iterar con mayor rapidez, mejora la transparencia y la reproducibilidad, y facilita el desarrollo de modelos de producción.
Aprovechando el poder de YOLO26 y Comet#
Al combinar Ultralytics YOLO26 con Comet, desbloqueas una serie de beneficios. Estos incluyen una gestión de experimentos simplificada, perspectivas en tiempo real para ajustes rápidos, opciones de registro flexibles y personalizadas, y la capacidad de registrar experimentos sin conexión cuando el acceso a Internet es limitado. Esta integración te permite tomar decisiones basadas en datos, analizar métricas de rendimiento y lograr resultados excepcionales.
Instalación#
Para instalar los paquetes necesarios, ejecuta:
# Install YOLO26 and Comet
pip install ultralytics comet_mlConfiguración de Comet#
Tras instalar los paquetes necesarios, tendrás que registrarte, obtener una Comet API Key y configurarla.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYA continuación, autentícate con Comet. El callback de Ultralytics crea el experimento y utiliza el argumento de entrenamiento de YOLO project como el nombre del proyecto de Comet.
import comet_ml
comet_ml.login()Si utilizas un notebook de Google Colab, el código anterior te pedirá que introduzcas tu API key para la inicialización.
Uso#
Antes de sumergirte en las instrucciones de uso, asegúrate de echar un vistazo a la gama de YOLO26 models offered by Ultralytics. Esto te ayudará a elegir el modelo más adecuado para los requisitos de tu proyecto.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train the model
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)Una vez ejecutado el código de entrenamiento, Comet creará un experimento en tu espacio de trabajo de Comet para rastrear la ejecución automáticamente. A continuación, se te proporcionará un enlace para ver el registro detallado del proceso de entrenamiento del modelo YOLO26.
Comet registra automáticamente los siguientes datos sin necesidad de configuración adicional: métricas como el mAP y la pérdida, hiperparámetros, puntos de control del modelo, la matriz de confusión interactiva y las predicciones de bounding box en imágenes.
Comprendiendo el rendimiento de tu modelo con las visualizaciones de Comet#
Vamos a profundizar en lo que verás en el panel de Comet una vez que tu modelo YOLO26 comience a entrenar. El panel 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í tienes un rápido recorrido:
Paneles de experimentos
La sección de paneles de experimentos del panel de control de Comet organiza y presenta las distintas ejecuciones y sus métricas, tales como la pérdida de la máscara de segmento, la pérdida de clase, la precisión y el mean average precision.
Metrics
En la sección de métricas, tienes la opción de examinar las métricas en un formato tabular también, lo cual se muestra en un panel dedicado como se ilustra aquí.
Confusion Matrix interactiva
La matriz de confusión, que se encuentra en la pestaña Confusion Matrix, ofrece una forma interactiva de evaluar la accuracy de clasificación del modelo. Detalla las predicciones correctas e incorrectas, lo que te permite comprender las fortalezas y debilidades del modelo.
Métricas del sistema
Comet registra métricas del sistema para ayudar a identificar cualquier cuello de botella en el proceso de entrenamiento. Incluye métricas como utilización de GPU, uso de memoria GPU, utilización de CPU y uso de RAM. Estas son esenciales para monitorear la eficiencia del uso de recursos durante el entrenamiento del modelo.
Personalización del registro de Comet#
Comet ofrece la flexibilidad de personalizar su comportamiento de registro mediante la configuración de variables de entorno. Estas configuraciones te permiten adaptar Comet a tus necesidades y preferencias específicas. La devolución de llamada (callback) de Ultralytics lee las siguientes variables de entorno (establécelas antes de que comience el entrenamiento):
| Variable de entorno | Predeterminado | Descripción |
|---|---|---|
COMET_START_ONLINE | 1 | Ejecuta el experimento en modo en línea (1) o sin conexión (0). |
COMET_PROJECT_NAME | args.project | Proyecto del espacio de trabajo de Comet. Vuelve al argumento de entrenamiento project de YOLO cuando no está definido. |
COMET_MODEL_NAME | Ultralytics | Nombre registrado para el artefacto de modelo registrado. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Número total de predicciones de imágenes de validación a registrar por ejecución. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Registra predicciones de imágenes cada N-ésimo lote de validación. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | Activa (true) o desactiva (false) el registro de predicciones de imágenes. |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | Registra una matriz de confusión en cada época de validación. Siempre se registra una matriz final al final del entrenamiento. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Multiplicador aplicado a las puntuaciones de confianza de detección antes del registro (la interfaz de usuario de Comet espera una escala porcentual). |
COMET_MODE (obsoleto) | online | Alias heredado de COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Emite una advertencia de obsolescencia. |
Para los selectores booleanos (COMET_EVAL_LOG_IMAGE_PREDICTIONS y COMET_EVAL_LOG_CONFUSION_MATRIX), los valores 1, true, yes, on, y y t se analizan como True (sin distinguir entre mayúsculas y minúsculas). Cualquier otro valor es False.
Registro de predicciones de imágenes#
Puedes controlar el número de predicciones de imágenes que Comet registra durante tus experimentos. De forma predeterminada, Comet 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 imágenes, utiliza el siguiente código:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Para desactivar por completo el registro de predicciones de imágenes (por ejemplo, para reducir el volumen de subida en conexiones lentas), configura COMET_EVAL_LOG_IMAGE_PREDICTIONS como "false":
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"Intervalo de registro por lotes#
Comet te permite especificar con qué frecuencia se registran los lotes de predicciones de imágenes. La variable de entorno COMET_EVAL_BATCH_LOGGING_INTERVAL controla esta frecuencia. La configuración predeterminada 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, configurarlo en 4 registrará las predicciones de cada cuarto lote.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Deshabilitar el registro de la matriz de confusión#
En algunos casos, es posible que no quieras registrar la matriz de confusión de tu conjunto de validación después de cada epoch. Puedes deshabilitar esta función configurando la variable de entorno COMET_EVAL_LOG_CONFUSION_MATRIX en "false". La matriz de confusión solo se registrará una vez, una vez finalizado el entrenamiento.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Modo en línea y sin conexión#
De forma predeterminada, Comet se ejecuta en modo en línea y transmite los datos del experimento a los servidores de Comet. Si necesitas entrenar sin acceso a internet, configura COMET_START_ONLINE=0 antes de que empiece el entrenamiento. Los datos del experimento se guardan localmente y se pueden subir más tarde con el CLI comet upload.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (default) = online, 0 = offlineLas versiones anteriores utilizaban COMET_MODE="offline" para este propósito. La variable sigue siendo compatible por motivos de retrocompatibilidad, pero emite una advertencia de obsolescencia. Utiliza COMET_START_ONLINE en adelante.
Nombre del proyecto#
De forma predeterminada, la devolución de llamada de Comet pasa el argumento de entrenamiento project de YOLO a Comet (o None cuando no se ha definido el argumento, en cuyo caso Comet utiliza el valor predeterminado de tu espacio de trabajo). Anula esto con COMET_PROJECT_NAME para enviar todos los experimentos a un proyecto específico del espacio de trabajo de Comet, independientemente del argumento de entrenamiento de YOLO:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Nombre del artefacto del modelo#
COMET_MODEL_NAME establece el nombre que registra Comet para el artefacto de modelo guardado (el valor predeterminado es Ultralytics). Úsalo para diferenciar variantes de modelos en un espacio de trabajo compartido:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Escala de puntuación de confianza#
Las puntuaciones de confianza de la detección se emiten en el rango de [0, 1], pero la interfaz de usuario de Comet las muestra en una escala porcentual por defecto. La devolución de llamada multiplica cada puntuación por COMET_MAX_CONFIDENCE_SCORE (el valor predeterminado es 100.0) antes de realizar el registro. Ajusta esto si prefieres probabilidades en bruto o una escala diferente:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scoresResumen#
Esta guía te ha llevado a través de la integración de Comet con YOLO26 de Ultralytics. Desde la instalación hasta la personalización, has aprendido a optimizar la gestión de experimentos, obtener perspectivas en tiempo real y adaptar el registro a las necesidades de tu proyecto.
Explora la documentación oficial de integración de YOLOv8 con Comet, que también se aplica a los proyectos de YOLO26.
Además, si buscas profundizar en las aplicaciones prácticas de YOLO26, específicamente para tareas de image segmentation, esta guía detallada sobre cómo afinar YOLO26 con Comet ofrece información valiosa e instrucciones paso a paso para mejorar el rendimiento de tu modelo.
Asimismo, para explorar otras interesantes integraciones con Ultralytics, echa un vistazo a la página de la guía de integración, que ofrece una gran cantidad de recursos e información.
FAQ#
Para integrar Comet con YOLO26 de Ultralytics, sigue estos pasos:
-
Instala los paquetes requeridos:
pip install ultralytics comet_ml -
Configura tu Comet API Key:
export COMET_API_KEY=YOUR_API_KEY -
Autentícate con Comet en tu código Python:
import comet_ml comet_ml.login() -
Entrena tu modelo YOLO26 y registra métricas:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.train( data="coco8.yaml", project="comet-example-yolo26-coco128", batch=32, save_period=1, save_json=True, epochs=3, )
Para obtener instrucciones más detalladas, consulta la sección de configuración de Comet.
-
Al integrar YOLO26 de Ultralytics con Comet, puedes:
- Monitorear perspectivas en tiempo real: Obtén retroalimentación instantánea sobre los resultados de tu entrenamiento, permitiendo ajustes rápidos.
- Registrar métricas extensas: Captura automáticamente métricas esenciales como mAP, pérdida, hiperparámetros y puntos de control del modelo.
- Rastrear experimentos sin conexión: Registra tus ejecuciones de entrenamiento localmente cuando no haya acceso a Internet disponible.
- Comparar diferentes ejecuciones de entrenamiento: Utiliza el panel interactivo de Comet para analizar y comparar múltiples experimentos.
Aprovechando estas características, puedes optimizar tus flujos de trabajo de machine learning para obtener un mejor rendimiento y reproducibilidad. Para obtener más información, visita la guía de integración de Comet.
Comet permite una amplia personalización de su comportamiento de registro mediante variables de entorno:
-
Cambiar el número de predicciones de imágenes registradas:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Ajustar el intervalo de registro por lotes:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
Deshabilitar el registro de la matriz de confusión:
import os os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false" -
Establecer el nombre del proyecto de Comet:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
Establecer el nombre del artefacto del modelo registrado:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
Consulta la sección Personalización del registro de Comet para ver la lista completa, que incluye los selectores de predicción de imágenes, el escalado de la puntuación de confianza y el modo en línea/sin conexión.
-
Una vez que tu modelo YOLO26 comience a entrenar, puedes acceder a una amplia gama de métricas y visualizaciones en el panel de Comet. Las funciones clave incluyen:
- Paneles de experimentos: Visualiza las distintas ejecuciones y sus métricas, incluyendo la pérdida de la máscara de segmento, la pérdida de clase y el precision medio.
- 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: Monitorea la utilización de GPU y CPU, el uso de memoria y otras métricas del sistema.
Para obtener una visión general detallada de estas funciones, visita la sección Comprender el rendimiento de tu modelo con las visualizaciones de Comet.
Sí. Configura
COMET_START_ONLINE=0antes de que empiece el entrenamiento para registrar los datos localmente:import os os.environ["COMET_START_ONLINE"] = "0"Los datos del experimento se guardan en el disco y se pueden subir a Comet más tarde con el CLI
comet uploadcuando haya conectividad disponible. La variable anteriorCOMET_MODE="offline"sigue funcionando, pero emite una advertencia de obsolescencia. Para más detalles, consulta la sección Modo en línea y sin conexión.