Mejora el entrenamiento de YOLO26: simplifica el registro con Comet#
Registrar detalles clave del entrenamiento, como parámetros, métricas, predicciones de imágenes y puntos de control del modelo, es esencial en el aprendizaje automático: mantiene la transparencia de tu proyecto, permite medir los avances y hace que los resultados sean reproducibles.
Ver: Cómo usar Comet para registrar los registros y las métricas de entrenamiento de modelos Ultralytics YOLO 🚀
Ultralytics YOLO26 se integra a la perfección con Comet (antes Comet ML) y captura y optimiza de forma eficiente todos los aspectos del proceso de entrenamiento de tu modelo de YOLO26 para la detección de objetos. En esta guía, explicaremos 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, para que el entrenamiento de YOLO26 quede documentado en detalle y ajustado para lograr resultados excelentes.
Comet#
Comet es una plataforma para realizar un seguimiento de modelos y experimentos de aprendizaje automático, compararlos, explicarlos y optimizarlos. Te permite registrar métricas, parámetros, contenido multimedia y mucho más durante el entrenamiento de modelos, y supervisar tus experimentos desde una interfaz web atractiva. Comet ayuda a los científicos de datos a iterar más rápidamente, mejora la transparencia y la reproducibilidad y facilita el desarrollo de modelos para producción.
Aprovecha el potencial de YOLO26 y Comet#
Al combinar Ultralytics YOLO26 con Comet, obtienes una serie de ventajas. Entre ellas se incluyen una gestión de experimentos más sencilla, información en tiempo real para realizar ajustes rápidos, opciones de registro flexibles y adaptadas a tus necesidades, 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 métricas de rendimiento y obtener resultados excepcionales.
Instalación#
Para instalar los paquetes necesarios, ejecuta:
# Install YOLO26 and Comet
pip install ultralytics comet_mlConfiguración de Comet#
Después de instalar los paquetes necesarios, tendrás que registrarte, obtener una clave de API de Comet y configurarla.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYA continuación, autentícate en Comet. La función de retorno de llamada de Ultralytics crea el experimento y usa el argumento de entrenamiento de YOLO project como nombre del proyecto de Comet.
import comet_ml
comet_ml.login()Si usas un cuaderno de Google Colab, el código anterior te pedirá que introduzcas tu clave de API para inicializarlo.
Uso#
Antes de consultar las instrucciones de uso, echa un vistazo a la gama de modelos YOLO26 que ofrece Ultralytics. Así podrás elegir el modelo más adecuado para los requisitos de tu proyecto.
from ultralytics import YOLO
# Cargar un modelo
model = YOLO("yolo26n.pt")
# Entrenar el modelo
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)Al ejecutar el código de entrenamiento, Comet creará automáticamente un experimento en tu espacio de trabajo de Comet para realizar un seguimiento de la ejecución. A continuación, recibirás un enlace para consultar el registro detallado del proceso de entrenamiento de tu modelo YOLO26.
Comet registra automáticamente los siguientes datos sin necesidad de configuración adicional: métricas como mAP y la pérdida, hiperparámetros, puntos de control del modelo, matriz de confusión interactiva y predicciones de cuadros delimitadores en imágenes.
Comprende el rendimiento de tu modelo con las visualizaciones de Comet#
Veamos qué encontrarás en el panel de Comet cuando tu modelo YOLO26 empiece a entrenarse. El panel es donde se desarrolla toda la actividad y presenta distintos datos registrados automáticamente mediante gráficos y estadísticas. Aquí tienes un breve recorrido:
Paneles de experimentos
La sección de paneles de experimentos del panel de Comet organiza y presenta las distintas ejecuciones y sus métricas, como la pérdida de la máscara de segmentación, la pérdida de clasificación, la precisión y la precisión media.
Métricas
En la sección de métricas también puedes examinarlas en formato de tabla, que se muestra en un panel específico, como se ilustra aquí.
Matriz de confusión interactiva
La matriz de confusión, disponible en la pestaña Matriz de confusión, ofrece una forma interactiva de evaluar la precisión de clasificación del modelo. Detalla las predicciones correctas e incorrectas y te permite comprender los puntos fuertes y débiles del modelo.
Métricas del sistema
Comet registra métricas del sistema para ayudarte a identificar posibles cuellos de botella en el proceso de entrenamiento. Incluye métricas como el uso de GPU, el uso de memoria de la GPU, el uso de CPU y el uso de RAM. Estas métricas son esenciales para supervisar la eficiencia del uso de recursos durante el entrenamiento del modelo.
Personalización del registro de Comet#
Comet ofrece flexibilidad para personalizar su comportamiento de registro mediante variables de entorno. Estas configuraciones te permiten adaptar Comet a tus necesidades y preferencias específicas. La función de retorno de llamada de Ultralytics lee las siguientes variables de entorno (defínelas antes de iniciar 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. Si no se define, se usa el argumento de entrenamiento de YOLO project. |
COMET_MODEL_NAME | Ultralytics | Nombre asignado al artefacto del modelo registrado. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Número total de predicciones de imágenes de validación que se registran por ejecución. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Registra predicciones de imágenes cada N lotes 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 terminar el entrenamiento. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Multiplicador aplicado a las puntuaciones de confianza de detección antes de registrarlas (la interfaz de Comet espera una escala porcentual). |
COMET_MODE (en desuso) | online | Alias heredado de COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Emite una advertencia de obsolescencia. |
Para los conmutadores booleanos (COMET_EVAL_LOG_IMAGE_PREDICTIONS y COMET_EVAL_LOG_CONFUSION_MATRIX), los valores 1, true, yes, on, y y t se interpretan como True (sin distinguir entre mayúsculas y minúsculas). Cualquier otro valor se interpreta como False.
Registro de predicciones de imágenes#
Puedes controlar cuántas predicciones de imágenes registra Comet durante tus experimentos. De forma predeterminada, Comet registra 100 predicciones de imágenes del conjunto de validación. Sin embargo, puedes cambiar esta cantidad para adaptarla mejor a tus necesidades. Por ejemplo, para registrar 200 predicciones de imágenes, usa 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 carga en conexiones lentas), establece COMET_EVAL_LOG_IMAGE_PREDICTIONS en "false":
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"Intervalo de registro de lotes#
Comet te permite especificar cada cuánto se registran los lotes de predicciones de imágenes. La variable de entorno COMET_EVAL_BATCH_LOGGING_INTERVAL controla esta frecuencia. El valor predeterminado es 1, que registra las predicciones de cada lote de validación. Puedes cambiar este valor para registrar las predicciones con otro intervalo. Por ejemplo, si lo estableces en 4, se registrarán las predicciones de cada cuatro lotes.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Desactivación del registro de la matriz de confusión#
En algunos casos, quizá no quieras registrar la matriz de confusión del conjunto de validación después de cada época. Puedes desactivar esta función estableciendo la variable de entorno COMET_EVAL_LOG_CONFUSION_MATRIX en «false». La matriz de confusión solo se registrará una vez, cuando termine el entrenamiento.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Modo en línea y sin conexión#
De forma predeterminada, Comet funciona en modo en línea y transmite los datos del experimento a los servidores de Comet. Si necesitas entrenar sin acceso a Internet, establece COMET_START_ONLINE=0 antes de iniciar el entrenamiento. Los datos del experimento se guardan localmente y se pueden subir más tarde con la CLI comet upload.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (predeterminado) = en línea, 0 = sin conexiónLas versiones anteriores usaban COMET_MODE="offline" para este fin. La variable sigue admitiéndose por compatibilidad con versiones anteriores, pero emite una advertencia de obsolescencia. A partir de ahora, usa COMET_START_ONLINE.
Nombre del proyecto#
De forma predeterminada, la función de retorno de llamada de Comet pasa a Comet el argumento de entrenamiento de YOLO project (o None si no se define el argumento, en cuyo caso Comet usa el valor predeterminado de tu espacio de trabajo). Sobrescribe este valor 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 define el nombre que Comet asigna al artefacto del modelo registrado (de forma predeterminada, Ultralytics). Úsalo para diferenciar variantes del modelo en un espacio de trabajo compartido:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Escalado de la puntuación de confianza#
Las puntuaciones de confianza de detección se generan en el intervalo [0, 1], pero la interfaz de Comet las muestra de forma predeterminada en una escala porcentual. La función de retorno de llamada multiplica cada puntuación por COMET_MAX_CONFIDENCE_SCORE (de forma predeterminada, 100.0) antes de registrarla. Ajusta este valor si prefieres probabilidades sin procesar u otra escala:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # registrar puntuaciones sin procesar [0, 1]Resumen#
Esta guía te ha explicado cómo integrar Comet con YOLO26 de Ultralytics. Desde la instalación hasta la personalización, has aprendido a simplificar la gestión de experimentos, obtener información en tiempo real y adaptar el registro a las necesidades de tu proyecto.
Consulta la documentación oficial de integración de YOLOv8 de Comet, que también se aplica a los proyectos de YOLO26.
Además, si quieres profundizar en las aplicaciones prácticas de YOLO26, en concreto en tareas de segmentación de imágenes, esta guía detallada sobre el ajuste fino de YOLO26 con Comet ofrece información valiosa e instrucciones paso a paso para mejorar el rendimiento de tu modelo.
Además, para descubrir otras integraciones interesantes 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#
Para integrar Comet con Ultralytics YOLO26, sigue estos pasos:
-
Instala los paquetes necesarios:
pip install ultralytics comet_ml -
Configura tu clave de API de Comet:
export COMET_API_KEY=YOUR_API_KEY -
Autentícate en Comet desde tu código Python:
import comet_ml comet_ml.login() -
Entrena tu modelo YOLO26 y registra las 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 Ultralytics YOLO26 con Comet, puedes:
- Supervisa información en tiempo real: recibe comentarios inmediatos sobre los resultados del entrenamiento, lo que te permite hacer ajustes rápidamente.
- Registra métricas exhaustivas: captura automáticamente métricas esenciales, como mAP, la pérdida, los hiperparámetros y los puntos de control del modelo.
- Haz un seguimiento de los experimentos sin conexión: registra localmente las ejecuciones de entrenamiento cuando no haya conexión a Internet.
- Compara distintas ejecuciones de entrenamiento: usa el panel interactivo de Comet para analizar y comparar varios experimentos.
Al aprovechar estas funciones, puedes optimizar tus flujos de trabajo de aprendizaje automático para mejorar el rendimiento y la reproducibilidad. Para obtener más información, consulta la guía de integración de Comet.
Comet permite personalizar ampliamente su comportamiento de registro mediante variables de entorno:
-
Cambia el número de predicciones de imágenes que se registran:
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" -
Establece el nombre del proyecto de Comet:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
Establece 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 las opciones para activar o desactivar las predicciones de imágenes, el escalado de las puntuaciones de confianza y el modo en línea/sin conexión.
-
Cuando empiece el entrenamiento de tu modelo YOLO26, podrás acceder a una amplia variedad de métricas y visualizaciones en el panel de Comet. Entre las funciones principales se incluyen:
- Paneles de experimentos: consulta distintas ejecuciones y sus métricas, como la pérdida de la máscara de segmentación, la pérdida de clase y la precisión media.
- Métricas: examina las métricas en formato tabular para analizarlas en detalle.
- 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 el uso de GPU y CPU, el consumo de memoria y otras métricas del sistema.
Para obtener una descripción detallada de estas funciones, consulta la sección Comprende el rendimiento de tu modelo con las visualizaciones de Comet.
Sí. Define
COMET_START_ONLINE=0antes de iniciar 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 más tarde a Comet con la CLI
comet uploadcuando haya conexión. La variableCOMET_MODE="offline"anterior sigue funcionando, pero genera un aviso de obsolescencia. Para obtener más información, consulta la sección Modo en línea y sin conexión.