Cómo entrenar, validar, predecir, exportar y comparar el rendimiento con los modelos Ultralytics YOLO
Descubre cómo funcionan los modos train, val, predict, export, track y benchmark de Ultralytics YOLO, con consejos sobre las métricas de validación y resultados de benchmarks en situaciones reales.
Nuvola Ladi4 min de lectura
Los modelos Ultralytics YOLO incluyen varios modos que abarcan todo el ciclo de vida del modelo. Tanto si entrenas modelos personalizados de detección de objetos como si trabajas en segmentación, comprender estos modos es un paso fundamental.
En la documentación de Ultralytics encontrarás varios modos que puedes utilizar con tus modelos, ya sea para entrenar, validar, predecir, exportar, hacer seguimiento o evaluar el rendimiento. Cada modo tiene una función específica y te ayuda a optimizar el rendimiento y la implementación de tu modelo.
Modo de entrenamiento#
Empecemos por el modo de entrenamiento. Aquí es donde creas y perfeccionas tu modelo. En la documentación encontrarás instrucciones detalladas y guías en vídeo que te facilitarán el inicio del entrenamiento de tus modelos personalizados.
El entrenamiento de un modelo consiste en proporcionarle un conjunto de datos nuevo para que aprenda distintos patrones. Una vez entrenado, el modelo puede utilizarse en tiempo real para detectar objetos nuevos con los que se haya entrenado. Antes de empezar el proceso de entrenamiento, es fundamental anotar el conjunto de datos en formato YOLO.
Modo de validación#
A continuación, veamos el modo de validación. La validación es esencial para ajustar los hiperparámetros y garantizar que el modelo funcione bien. Ultralytics ofrece diversas opciones de validación, como ajustes automatizados, compatibilidad con varias métricas y compatibilidad con la API de Python. Incluso puedes ejecutar la validación directamente desde la interfaz de línea de comandos (CLI) con un solo comando.
¿Por qué validar?#
La validación es fundamental para:
- Precisión: Garantizar que tu modelo detecte objetos con precisión.
- Facilidad de uso: Agilizar el proceso de validación.
- Flexibilidad: Ofrecer varios métodos de validación.
- Ajuste de hiperparámetros: Optimizar tu modelo para mejorar su rendimiento.
Ultralytics también ofrece ejemplos que puedes copiar y pegar en tus scripts de Python. Estos ejemplos incluyen parámetros como el tamaño de imagen, el tamaño del lote, el dispositivo (CPU o GPU) y la intersección sobre unión (IoU).
Modo de predicción#
Cuando hayas entrenado y validado el modelo, será el momento de hacer predicciones. El modo Predict te permite ejecutar inferencias con datos nuevos y ver el modelo en acción. Este modo es perfecto para probar el rendimiento del modelo con datos del mundo real. Con solo unas líneas de código Python, podrás hacer predicciones sobre tus imágenes.
Modo de exportación#
Después de validar y hacer predicciones, quizá quieras implementar tu modelo. El modo de exportación te permite convertirlo a distintos formatos, como ONNX o TensorRT, para facilitar su implementación en diferentes plataformas.
Modo de evaluación del rendimiento#
Por último, tenemos el modo de evaluación del rendimiento. Evaluar el rendimiento es esencial para valorar cómo funciona tu modelo en distintas situaciones. Este modo te ayuda a tomar decisiones fundamentadas sobre la asignación de recursos, la optimización y la eficiencia de costes.
Cómo evaluar el rendimiento#
Para ejecutar una evaluación de rendimiento, puedes utilizar los ejemplos de usuario incluidos en la documentación. Estos ejemplos abarcan métricas clave y formatos de exportación, como ONNX y TensorRT. También puedes configurar el argumento quantize para la cuantización de enteros (INT8) o la precisión media (FP16) y ver cómo afectan al rendimiento los distintos ajustes.
Ejemplo de evaluación del rendimiento en condiciones reales#
Veamos un ejemplo de evaluación del rendimiento en condiciones reales. Al evaluar nuestro modelo PyTorch, observamos una velocidad de inferencia de 68 milisegundos en una GPU RTX 3070. Tras exportarlo a TorchScript, la velocidad de inferencia baja a 4 milisegundos, lo que supone una mejora considerable.
Con los modelos ONNX alcanzamos una velocidad de inferencia de 21 milisegundos. Al probar estos modelos en una CPU (un Intel i9 de 13.ª generación), obtenemos resultados distintos. TorchScript tarda 115 milisegundos, mientras que ONNX ofrece un mejor resultado, con 84 milisegundos. Por último, OpenVINO, optimizado para el hardware de Intel, tarda 23 milisegundos.

Fig. 1. Nicolai Nielsen muestra cómo evaluar el rendimiento con los modelos Ultralytics YOLO.
La importancia de evaluar el rendimiento#
La evaluación del rendimiento muestra cómo afectan al rendimiento de tu modelo los distintos tipos de hardware y formatos de exportación. Es fundamental evaluar tus modelos, sobre todo si tienes previsto implementarlos en hardware personalizado o dispositivos de borde. Este proceso garantiza que tu 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 herramientas potentes para entrenar, validar, hacer predicciones, exportar y evaluar el rendimiento de tus modelos YOLO. Cada modo desempeña un papel fundamental para optimizar tu modelo y prepararlo para su implementación.
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 asegurarte de que funcionen de forma eficiente en cualquier entorno.
Escrito por
Comentarios
Haz una pregunta, comparte tus resultados o ayuda a otra persona.










