Cómo entrenar, validar, predecir, exportar y comparar con modelos YOLO de Ultralytics

Nuvola Ladi

3 min leer

24 de julio de 2024

Aprenda a entrenar, validar, predecir, exportar y comparar con los modelos YOLO de Ultralytics.

Sumerjámonos en el mundo de Ultralytics y exploremos los distintos modos disponibles para los diferentes modelos YOLO. Tanto si está entrenando modelos personalizados de detección de objetos como si está trabajando en la segmentación, comprender estos modos es un paso crucial. Entremos de lleno.

A través de la documentación de Ultralytics , encontrará varios modos que puede utilizar para sus modelos, ya sea para entrenar, validar, predecir, exportar, comparar o rastrear. Cada uno de estos modos tiene un propósito único y le ayuda a optimizar el rendimiento y el despliegue de su modelo.

Modo tren

En primer lugar, veamos el modo tren. Aquí es donde construyes y perfeccionas tu modelo. Encontrarás instrucciones detalladas y guías en vídeo en la documentación, lo que te facilitará empezar a entrenar tus modelos personalizados.

El entrenamiento de un modelo consiste en proporcionarle un nuevo conjunto de datos que le permita aprender distintos patrones. Una vez entrenado, el modelo puede utilizarse en tiempo real para detectar nuevos objetos. Antes de iniciar el proceso de entrenamiento, es esencial anotar el conjunto de datos en formato YOLO.

Validar modo

A continuación, vamos a sumergirnos en el modo de validación. La validación es esencial para ajustar los hiperparámetros y garantizar el buen funcionamiento del modelo. Ultralytics proporciona una variedad de opciones de validación, incluyendo ajustes automatizados, soporte multimétrico y compatibilidad con la API de Python. Incluso puede ejecutar la validación directamente a través de la interfaz de línea de comandos (CLI) con el siguiente comando.

¿Por qué validar?

La validación es fundamental para:

  • Precisión: Garantizar que el modelo detecta los objetos con precisión.
  • Conveniencia: Agilización del proceso de validación.
  • Flexibilidad: Ofrece múltiples métodos de validación.
  • Ajuste de hiperparámetros: Optimización de su modelo para un mejor rendimiento.

Ultralytics también proporciona ejemplos de usuario que puede copiar y pegar en sus scripts de Python. Estos ejemplos incluyen parámetros como el tamaño de la imagen, el tamaño del lote, el dispositivo (CPU o GPU) y la intersección sobre la unión (IoU).

Modo Predicción

Una vez entrenado y validado el modelo, es hora de hacer predicciones. El modo Predicción te permite ejecutar la inferencia sobre nuevos datos y ver tu modelo en acción. Este modo es perfecto para probar el rendimiento de tu modelo en datos del mundo real.

Con el fragmento de código python que aparece a continuación, ¡podrás ejecutar predicciones en tus imágenes!

Modo de exportación

Después de validar y predecir, es posible que desee desplegar su modelo. El modo de exportación te permite convertir tu modelo a varios formatos, como ONNX o TensorRT, lo que facilita su despliegue en diferentes plataformas.

Modo Benchmark

Por último, tenemos el modo de evaluación comparativa. La evaluación comparativa es esencial para evaluar el rendimiento de su modelo en diversos escenarios. Este modo te ayuda a tomar decisiones informadas sobre la asignación de recursos, la optimización y la rentabilidad.

Cómo hacer una evaluación comparativa

Para ejecutar un benchmark, puede utilizar los ejemplos de usuario proporcionados en la documentación. Estos ejemplos cubren métricas clave y formatos de exportación, incluyendo ONNX y TensorRT. También puede especificar parámetros como la cuantización de enteros (INT8) o la cuantización de punto flotante (FP16) para ver cómo afectan los distintos ajustes al rendimiento.

Ejemplo real de evaluación comparativa

Veamos un ejemplo real de evaluación comparativa. Al comparar nuestro modelo PyTorch, observamos una velocidad de inferencia de 68 milisegundos en una GPU RTX 3070. Tras exportarlo a TorchScript, la velocidad de inferencia desciende a 4 milisegundos, lo que supone una mejora significativa.

Para los modelos ONNX, alcanzamos una velocidad de inferencia de 21 milisegundos. Al probar estos modelos en una CPU (una Intel i9 de 13ª generación), observamos resultados dispares. TorchScript funciona a 115 milisegundos, mientras que ONNX obtiene mejores resultados con 84 milisegundos. Por último, OpenVINO optimizado para hardware Intel alcanza unos fulgurantes 23 milisegundos.

__wf_reserved_inherit
Fig. 1. Nicolai Nielsen muestra cómo realizar una evaluación comparativa con los modelos YOLO de Ultralytics.

La importancia de la evaluación comparativa

La evaluación comparativa demuestra cómo los diferentes formatos de hardware y exportación pueden afectar al rendimiento de su modelo. Es fundamental realizar una evaluación comparativa de los modelos, sobre todo si va a implantarlos en hardware personalizado o en dispositivos periféricos. Este proceso garantiza que el modelo esté optimizado para el entorno de destino y ofrezca el mejor rendimiento posible.

Conclusión

En resumen, los modos de la documentación de Ultralytics son potentes herramientas para entrenar, validar, predecir, exportar y comparar sus modelos YOLO. Cada modo desempeña un papel fundamental en la optimización de su modelo y en su preparación para el despliegue.

No olvide explorar y unirse a nuestra comunidad y probar en sus proyectos los fragmentos de código proporcionados. Con estas herramientas, podrás crear modelos de alto rendimiento y asegurarte de que se ejecutan de forma eficiente en cualquier entorno.

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Empezar gratis
Enlace copiado en el portapapeles