Glosario

ONNX (Intercambio abierto de redes neuronales)

Descubre cómo ONNX mejora la portabilidad e interoperabilidad de los modelos de IA, permitiendo el despliegue sin fisuras de los modelos de Ultralytics YOLO en diversas plataformas.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

En el ámbito de la inteligencia artificial y el aprendizaje automático, la interoperabilidad es clave para aprovechar las mejores herramientas y desplegar modelos en diversos entornos. ONNX (Intercambio abierto de redes neuronales) es un formato abierto creado para representar modelos de aprendizaje automático, que garantiza que los desarrolladores de IA no estén encerrados en un único marco y puedan agilizar el proceso de mover modelos entre distintas herramientas. Proporciona una representación unificada para los modelos, independientemente del marco utilizado para el entrenamiento, lo que simplifica el despliegue de estos modelos en diversos motores de inferencia, plataformas de hardware y entornos.

Relevancia de ONNX

La principal relevancia de ONNX reside en su capacidad para promover la portabilidad y la interoperabilidad en el ecosistema de la IA. Al definir un conjunto común de operadores y un formato estándar para los modelos de aprendizaje automático, ONNX permite que los modelos entrenados en marcos como PyTorch o TensorFlow puedan transferirse fácilmente y ejecutarse con motores de inferencia diferentes como TensorRT o OpenVINO. Esto es especialmente beneficioso para los desarrolladores que utilizan modelos Ultralytics YOLO , ya que la exportación ONNX simplifica el despliegue de modelos en diversas plataformas, desde servidores en la nube a dispositivos de borde. Ultralytics facilita la exportación de YOLOv8 modelos al formato ONNX , lo que permite a los usuarios aprovechar motores de inferencia optimizados para mejorar el rendimiento y acelerar la inferencia en tiempo real.

Aplicaciones de ONNX

ONNXlo hace valioso en numerosas aplicaciones de IA. Dos ejemplos concretos son:

  • Despliegue en el borde: El despliegue de modelos de IA en dispositivos per iféricos a menudo requiere un rendimiento optimizado y compatibilidad con hardware específico. ONNX permite a los desarrolladores entrenar un modelo utilizando un marco de alto nivel como PyTorch y luego exportarlo a ONNX para ejecutarlo eficientemente en dispositivos periféricos utilizando motores de inferencia como TensorRT en NVIDIA Jetson o OpenVINO en dispositivos Intel . Esto garantiza que aplicaciones como las cámaras inteligentes o la robótica puedan realizar eficazmente tareas de detección de objetos con modelos Ultralytics YOLO en tiempo real.
  • Inferencia multiplataforma: En escenarios en los que las soluciones de IA deben funcionar en distintos sistemas operativos y hardware, ONNX proporciona un formato de modelo coherente. Por ejemplo, una aplicación de análisis de imágenes médicas puede entrenarse en servidores potentes, pero necesita realizar la inferencia en máquinas de menor potencia en hospitales o clínicas. ONNX permite la transición y ejecución sin fisuras del mismo modelo en diversos entornos, garantizando un rendimiento coherente y fiable con independencia de la plataforma de despliegue.

Conceptos relacionados

Comprender ONNX también implica reconocer conceptos relacionados que intervienen en la implantación y optimización de modelos:

  • Motores de inferencia: Son bibliotecas de software que optimizan y ejecutan modelos de aprendizaje automático en hardware específico. Los modelos ONNX se utilizan a menudo con motores de inferencia como TensorRT y OpenVINO para acelerar la velocidad y la eficacia de la inferencia.
  • Modelo de exportación: El proceso de convertir un modelo entrenado desde el formato de su marco original (p. ej, PyTorch .pt archivos) al formato ONNX . Ultralytics proporciona herramientas sencillas para exportar modelos YOLO a ONNX y otros formatos.
  • Interoperabilidad de marcos: ONNX aborda el reto del bloqueo de marcos permitiendo que los modelos se utilicen en diferentes marcos. Aunque cada marco tiene sus puntos fuertes, ONNX garantiza que los desarrolladores puedan elegir la mejor herramienta para cada fase del ciclo de vida de la IA sin barreras de compatibilidad.

Al adoptar ONNX, los desarrolladores pueden simplificar significativamente sus flujos de trabajo de IA, reducir las complejidades de despliegue y asegurarse de que sus modelos son versátiles y rinden en una amplia gama de aplicaciones y plataformas.

Leer todo