Cómo entrenar, validar, predecir, exportar y comparar con modelosYOLO Ultralytics

24 de julio de 2024
Aprenda a entrenar, validar, predecir, exportar y comparar con los modelosYOLO de Ultralytics .

24 de julio de 2024
Aprenda a entrenar, validar, predecir, exportar y comparar con los modelosYOLO 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 ladocumentación Ultralytics , encontrará varios modos que puede utilizar para sus modelos, ya sea para entrenar, validar, predecir, exportar, comparar o track. Cada uno de estos modos tiene un propósito único y le ayuda a optimizar el rendimiento y el despliegue de su modelo.
En primer lugar, vamos a ver el modo de entrenamiento. Aquí es donde se construye y se perfecciona el modelo. Puede encontrar instrucciones detalladas y guías en vídeo en la documentación, lo que facilita la puesta en marcha del entrenamiento de sus 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 detect nuevos objetos. Antes de iniciar el proceso de entrenamiento, es esencial anotar el conjunto de datos en formato YOLO .
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 Python . Incluso puede ejecutar la validación directamente a través de la interfaz de línea de comandosCLI) con el siguiente comando.
La validación es fundamental para:
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 dispositivoCPU o GPU) y la intersección sobre la uniónIoU).
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 reales.
Con el fragmento de código python que aparece a continuación, ¡podrás ejecutar predicciones en tus imágenes!
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.
Finalmente, 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 le ayuda a tomar decisiones informadas sobre la asignación de recursos, la optimización y la rentabilidad.
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.
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.

La evaluación comparativa demuestra cómo los diferentes hardware y formatos de exportación pueden afectar al rendimiento de su modelo. Es fundamental realizar pruebas comparativas de sus modelos, especialmente si tiene previsto implementarlos en hardware personalizado o dispositivos periféricos. Este proceso garantiza que su modelo esté optimizado para el entorno de destino, proporcionando el mejor rendimiento posible.
En resumen, los modos de la documentación 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 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 se ejecuten de manera eficiente en cualquier entorno.