Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Integraciones

Cómo usar Ultralytics YOLOv5 con Comet

Descubre cómo Ultralytics colabora con Comet para optimizar modelos Ultralytics YOLOv5: seguimiento en tiempo real, colaboración más ágil y mayor reproducibilidad.

Nuvola LadiNuvola Ladi7 min de lectura
Seguimiento del entrenamiento de modelos Ultralytics YOLOv5 con Comet

En Ultralytics colaboramos comercialmente con otras startups para financiar la investigación y el desarrollo de nuestras herramientas de código abierto, como YOLOv5, y mantenerlas gratuitas para todo el mundo. Este artículo puede contener enlaces de afiliados a esas empresas colaboradoras.

Nuestro nuevo socio, Comet, desarrolla herramientas que ayudan a científicos de datos, ingenieros y responsables de equipo a acelerar y optimizar los modelos de aprendizaje automático y aprendizaje profundo.

Comet es una potente herramienta para hacer un seguimiento de tus modelos, conjuntos de datos y métricas. También registra las variables del sistema y del entorno para garantizar la reproducibilidad y facilitar la depuración de todas y cada una de las ejecuciones. Haz un seguimiento de las métricas del modelo y visualízalas en tiempo real, guarda los hiperparámetros, los conjuntos de datos y los puntos de control del modelo, y visualiza las predicciones de tu modelo con Comet Custom Panels.

Además, Comet se asegura de que no pierdas de vista tu trabajo y facilita compartir resultados y colaborar con equipos de cualquier tamaño.

YOLOv5 es un excelente punto de partida para tu recorrido por la visión artificial. Para mejorar el rendimiento de tu modelo y prepararlo para producción, tendrás que registrar los resultados en una herramienta de seguimiento de experimentos, como Comet.

La integración de Comet y YOLOv5 ofrece 3 funciones principales:

  • Funciones de registro automático y personalizado
  • Guardar conjuntos de datos y modelos como artefactos para facilitar la depuración y la reproducibilidad
  • Organizar tu vista con los paneles personalizados de Comet

En esta guía se explica cómo usar YOLOv5 con Comet.

¿Todo listo para hacer un seguimiento de tus experimentos en tiempo real? ¡Empezamos!

Primeros pasos#

1. Instala Comet#

pip install comet_ml

2. Configura las credenciales de Comet#

Hay dos formas de configurar Comet con YOLOv5.

Puedes configurar las credenciales mediante variables de entorno o crear un archivo .comet.config en tu directorio de trabajo y establecerlas ahí.

Variables de entorno#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

Archivo de configuración de Comet#

[comet]
api_key=<Your API Key>
project_name=<Your Comet Project Name> # This will default to 'yolov5'

3. Ejecuta el script de entrenamiento#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

¡Y eso es todo!

Comet registrará automáticamente tus hiperparámetros, argumentos de la línea de comandos y métricas de entrenamiento y validación. Puedes visualizar y analizar tus ejecuciones en la interfaz de usuario de Comet.

Experimentos con YOLOv5 en el panel de Comet

¡Pruébalo tú mismo!#

Echa un vistazo a un ejemplo de ejecución completada.

O, mejor aún, pruébalo tú mismo en el cuaderno de Colab de YOLOv5.

Registro automático#

De forma predeterminada, Comet registra los siguientes elementos:

Métricas#

  • Pérdida de BBox, pérdida de objeto y pérdida de clasificación para los datos de entrenamiento y validación
  • Métricas mAP50 y mAP50-95 para los datos de validación
  • Precisión y exhaustividad para los datos de validación

Parámetros#

  • Hiperparámetros del modelo
  • Todos los parámetros pasados mediante las opciones de la línea de comandos

Visualizaciones#

  • Matriz de confusión de las predicciones del modelo con los datos de validación
  • Gráficas de las curvas PR y F1 de todas las clases
  • Correlograma de las etiquetas de clase

Configurar el registro de Comet#

Puedes configurar Comet para que registre datos adicionales mediante indicadores de la línea de comandos que se pasan al script de entrenamiento o mediante variables de entorno.

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Registrar puntos de control con Comet#

El registro de modelos en Comet está desactivado de forma predeterminada. Para activarlo, pasa el argumento save-period al script de entrenamiento. Así se guardarán los puntos de control en Comet según el intervalo indicado por save-period.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

Registrar las predicciones del modelo#

De forma predeterminada, las predicciones del modelo (imágenes, etiquetas de referencia y cuadros delimitadores) se registran en Comet. Puedes controlar la frecuencia con la que se registran las predicciones y las imágenes asociadas mediante el argumento de la línea de comandos bbox_interval. Puedes visualizar las predicciones con el panel personalizado de detección de objetos de Comet. Esta frecuencia corresponde a cada N.º lote de datos por época. En el siguiente ejemplo, registramos cada segundo lote de datos de cada época.

Nota: el cargador de datos de validación de YOLOv5 usa un tamaño de lote predeterminado de 32, así que tendrás que ajustar la frecuencia de registro en consecuencia.

Aquí tienes un proyecto de ejemplo que usa el panel.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

Controlar el número de imágenes de predicciones que se registran en Comet#

Al registrar predicciones de YOLOv5, Comet también registra las imágenes asociadas a cada conjunto de predicciones. De forma predeterminada, se registran un máximo de 100 imágenes de validación. Puedes aumentar o reducir esta cantidad con la variable de entorno COMET_MAX_IMAGE_UPLOADS.

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

Registrar métricas por clase#

Utiliza la variable de entorno COMET_LOG_PER_CLASS_METRICS para registrar mAP, precisión, exhaustividad y F1 para cada clase.

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Subir un conjunto de datos a Comet Artifacts#

Si quieres almacenar tus datos con Comet Artifacts, puedes hacerlo mediante el indicador upload_dataset.

El conjunto de datos está organizado tal como se describe en la documentación de YOLOv5. El archivo YAML de configuración del conjunto de datos debe seguir el mismo formato que el archivo coco128.yaml.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

Puedes encontrar el conjunto de datos subido en la pestaña Artifacts de tu espacio de trabajo de Comet.

Pestaña Artifacts de Comet, YOLOv5

Puedes previsualizar los datos directamente en la interfaz de Comet.

Previsualizar datos en Comet, YOLOv5

Los artefactos tienen control de versiones y también permiten añadir metadatos sobre el conjunto de datos. Comet registrará automáticamente los metadatos del archivo YAML del conjunto de datos.

Registrar metadatos del archivo YAML en Comet, YOLOv5

Uso de un artefacto guardado#

Si quieres utilizar un conjunto de datos de Comet Artifacts, configura la variable path en el archivo YAML del conjunto de datos para que apunte a la siguiente URL del recurso Artifact.

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

Después, pasa este archivo al script de entrenamiento de la siguiente manera:

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

Los artefactos también te permiten hacer un seguimiento del linaje de los datos a medida que avanzan por tu flujo de trabajo de experimentación. Aquí puedes ver un gráfico que muestra todos los experimentos que han utilizado el conjunto de datos que has subido.

Flujo de trabajo de experimentación de Comet, YOLOv5

Reanudar una ejecución de entrenamiento#

Si la ejecución de entrenamiento se interrumpe por cualquier motivo, por ejemplo, por una conexión a Internet interrumpida, puedes reanudarla con la marca resume y la ruta de ejecución de Comet.

La ruta de ejecución tiene el siguiente formato: comet://<your workspace name>/<your project name>/<experiment id>.

Esto restaurará la ejecución al estado en el que se encontraba antes de la interrupción, lo que incluye restaurar el modelo desde un punto de control, restaurar todos los hiperparámetros y argumentos de entrenamiento, y descargar los artefactos de conjuntos de datos de Comet si se usaron en la ejecución original. La ejecución reanudada seguirá registrando datos en el experimento existente en la interfaz de Comet.

python train.py \
  --resume "comet://<your run path>"

Búsqueda de hiperparámetros con el optimizador de Comet#

YOLOv5 también se integra con el optimizador de Comet, lo que facilita la visualización de las exploraciones de hiperparámetros en la interfaz de Comet.

Configuración de una exploración del optimizador#

Para configurar el optimizador de Comet, tendrás que crear un archivo JSON con información sobre la exploración.

Se proporciona un archivo de ejemplo en utils/loggers/comet/optimizer_config.json.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

El script hpo.py acepta los mismos argumentos que train.py. Si quieres pasar argumentos adicionales a tu búsqueda, solo tienes que añadirlos después del script.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

Ejecutar una exploración en paralelo#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

Comet ofrece muchas formas de visualizar los resultados de tu búsqueda. Echa un vistazo a un proyecto con una búsqueda completada:

Visualizar los resultados de la exploración en Comet, YOLOv5

Sigamos en contacto#

Empieza a usar nuestra integración con Comet para gestionar, visualizar y optimizar tus modelos YOLOv5, desde las ejecuciones de entrenamiento hasta la supervisión en producción.

Y, por supuesto, únete a la comunidad de Ultralytics, un lugar donde hacer preguntas y compartir consejos sobre el entrenamiento, la validación y el despliegue de YOLOv5.

Escrito por

Nuvola Ladi
Nuvola Ladi

Responsable de contenidos digitales · Ultralytics

Nuvola Ladi es responsable de contenidos digitales en Ultralytics, donde crea contenido sobre IA visual y Ultralytics YOLO, y representa a la empresa en eventos del sector como PyTorch Conference 2025. Reside en España y tiene un máster en Medios Visuales y Digitales por IE University. Antes de incorporarse a Ultralytics, ocupó puestos en organizaciones como XVA Gallery & Hotel y Rolex.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático