Cómo entrenar, validar, predecir, exportar y evaluar con los modelos de Ultralytics YOLO
¡Aprende a entrenar, validar, predecir, exportar y comparar modelos de Ultralytics YOLO!

Sumérgete en el mundo de Ultralytics y explora los diferentes modos disponibles para los distintos modelos YOLO. Tanto si estás entrenando modelos personalizados de detección de objetos como si trabajas en segmentación, entender estos modos es un paso crucial. ¡Empecemos ya!
A través de la documentación de Ultralytics, encontrarás varios modos que puedes utilizar para tus modelos, ya sea para entrenar, validar, predecir, exportar, realizar pruebas comparativas o rastrear. Cada uno de estos modos cumple un propósito único y te ayuda a optimizar el rendimiento y el despliegue de tu modelo.
Link to this sectionModo de entrenamiento (Train)#
Primero, veamos el modo de entrenamiento. Aquí es donde construyes y perfeccionas tu modelo. Puedes encontrar instrucciones detalladas y guías en vídeo en la documentación, lo que facilita empezar a entrenar tus propios modelos personalizados.
El entrenamiento de modelos implica proporcionar a un modelo un nuevo conjunto de datos, permitiéndole aprender varios patrones. Una vez entrenado, el modelo puede utilizarse en tiempo real para detectar nuevos objetos con los que ha sido entrenado. Antes de empezar el proceso de entrenamiento, es esencial anotar tu conjunto de datos en formato YOLO.
Link to this sectionModo de validación (Validate)#
A continuación, profundicemos en el modo de validación. La validación es esencial para ajustar los hiperparámetros y garantizar que tu modelo funcione bien. Ultralytics ofrece una variedad de opciones de validación, incluidos ajustes automatizados, compatibilidad con múltiples métricas y compatibilidad con la API de Python. Incluso puedes ejecutar la validación directamente a través de la interfaz de línea de comandos (CLI) con el comando que aparece a continuación.
Link to this section¿Por qué validar?#
La validación es crítica para:
- Precisión: Asegurar que tu modelo detecta objetos con exactitud.
- Conveniencia: Agilizar el proceso de validación.
- Flexibilidad: Ofrecer múltiples métodos de validación.
- Ajuste de hiperparámetros: Optimizar tu modelo para un mejor rendimiento.
Ultralytics también proporciona ejemplos de usuario que puedes copiar y pegar en tus scripts de Python. Estos ejemplos incluyen parámetros como el tamaño de la imagen, el tamaño del lote (batch size), el dispositivo (CPU o GPU) y la intersección sobre unión (IoU).
Link to this sectionModo de predicción (Predict)#
Una vez que tu modelo esté entrenado y validado, llega el momento de hacer predicciones. El modo Predict te permite ejecutar la inferencia en nuevos datos y ver tu modelo en acción. Este modo es perfecto para probar el rendimiento de tu modelo con datos del mundo real. ¡Con el fragmento de código de Python de abajo podrás ejecutar predicciones en tus imágenes!
Link to this sectionModo de exportación (Export)#
Después de validar y predecir, es posible que quieras desplegar tu 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.
Link to this sectionModo de pruebas comparativas (Benchmark)#
Por último, tenemos el modo de pruebas comparativas. Estas pruebas son esenciales para evaluar el rendimiento de tu modelo en diversos escenarios. Este modo te ayuda a tomar decisiones fundamentadas sobre la asignación de recursos, la optimización y la eficiencia de costes.
Link to this sectionCómo realizar pruebas comparativas#
Para ejecutar una prueba comparativa, puedes usar los ejemplos de usuario proporcionados en la documentación. Estos ejemplos cubren métricas clave y formatos de exportación, incluidos ONNX y TensorRT. También puedes especificar parámetros como la cuantización de enteros (INT8) o la cuantización de coma flotante (FP16) para ver cómo afectan los diferentes ajustes al rendimiento.
Link to this sectionEjemplo real de pruebas comparativas#
Veamos un ejemplo real de pruebas comparativas. Cuando sometemos a prueba nuestro modelo PyTorch, observamos una velocidad de inferencia de 68 milisegundos en una GPU RTX 3070. Tras exportarlo a TorchScript, la velocidad de inferencia cae a 4 milisegundos, lo que demuestra una mejora significativa.
Para modelos ONNX, conseguimos una velocidad de inferencia de 21 milisegundos. Al probar estos modelos en una CPU (un Intel i9 de 13.ª generación), vemos resultados variables. TorchScript se ejecuta a 115 milisegundos, mientras que ONNX tiene un mejor rendimiento con 84 milisegundos. Finalmente, OpenVINO optimizado para hardware Intel consigue unos impresionantes 23 milisegundos.

Fig 1. Nicolai Nielsen demostrando cómo ejecutar pruebas comparativas con modelos Ultralytics YOLO.
Link to this sectionLa importancia de las pruebas comparativas#
Las pruebas comparativas demuestran cómo los diferentes tipos de hardware y formatos de exportación pueden afectar al rendimiento de tu modelo. Es crucial realizar estas pruebas en tus modelos, especialmente si planeas desplegarlos en hardware personalizado o dispositivos de borde (edge). Este proceso garantiza que tu modelo esté optimizado para el entorno de destino, proporcionando el mejor rendimiento posible.
Link to this sectionConclusión#
En resumen, los modos en la documentación de Ultralytics son herramientas potentes para entrenar, validar, predecir, exportar y comparar tus modelos YOLO. Cada modo desempeña un papel vital en la optimización de tu modelo y en su preparación para el despliegue.
No olvides explorar y unirte a nuestra comunidad y probar los fragmentos de código proporcionados en tus proyectos. Con estas herramientas, puedes crear modelos de alto rendimiento y asegurar que se ejecuten de manera eficiente en cualquier entorno.






