Saltar al contenido

Entender c贸mo exportar al formato TF SavedModel desde YOLOv8

Desplegar modelos de aprendizaje autom谩tico puede ser un reto. Sin embargo, utilizar un formato de modelo eficiente y flexible puede facilitarte el trabajo. TF SavedModel es un marco de aprendizaje autom谩tico de c贸digo abierto utilizado por TensorFlow para cargar modelos de aprendizaje autom谩tico de forma coherente. Es como una maleta para los modelos TensorFlow , que facilita su transporte y uso en distintos dispositivos y sistemas.

Aprender a exportar a TF SavedModel desde Ultralytics YOLOv8 puede ayudarte a desplegar modelos f谩cilmente en diferentes plataformas y entornos. En esta gu铆a, veremos c贸mo convertir tus modelos al formato TF SavedModel , simplificando el proceso de ejecutar inferencias con tus modelos en diferentes dispositivos.

驴Por qu茅 debes exportar a TF SavedModel ?

El formato TensorFlow SavedModel forma parte del ecosistema TensorFlow desarrollado por Google , como se muestra a continuaci贸n. Est谩 dise帽ado para guardar y serializar modelos TensorFlow sin problemas. Encapsula todos los detalles de los modelos, como la arquitectura, los pesos e incluso la informaci贸n de compilaci贸n. Esto hace que sea sencillo compartir, desplegar y continuar el entrenamiento en distintos entornos.

TF SavedModel

El TF SavedModel tiene una ventaja clave: su compatibilidad. Funciona bien con TensorFlow Serving, TensorFlow Lite y TensorFlow.js. Esta compatibilidad facilita compartir y desplegar modelos en varias plataformas, incluidas las aplicaciones web y m贸viles. El formato TF SavedModel es 煤til tanto para la investigaci贸n como para la producci贸n. Proporciona una forma unificada de gestionar tus modelos, garantizando que est茅n listos para cualquier aplicaci贸n.

Caracter铆sticas principales de TF SavedModels

Estas son las caracter铆sticas clave que hacen de TF SavedModel una gran opci贸n para los desarrolladores de IA:

  • Portabilidad: TF SavedModel proporciona un formato de serializaci贸n herm茅tico, recuperable e independiente del lenguaje. Permiten a los sistemas y herramientas de nivel superior producir, consumir y transformar modelos TensorFlow . Los SavedModels pueden compartirse y desplegarse f谩cilmente en distintas plataformas y entornos.

  • Facilidad de despliegue: TF SavedModel agrupa el gr谩fico computacional, los par谩metros entrenados y los metadatos necesarios en un 煤nico paquete. Pueden cargarse f谩cilmente y utilizarse para la inferencia sin necesidad del c贸digo original que construy贸 el modelo. Esto hace que el despliegue de los modelos TensorFlow sea sencillo y eficaz en diversos entornos de producci贸n.

  • Gesti贸n de activos: TF SavedModel admite la inclusi贸n de activos externos, como vocabularios, incrustaciones o tablas de consulta. Estos activos se almacenan junto a la definici贸n del gr谩fico y las variables, garantizando que est茅n disponibles cuando se cargue el modelo. Esta funci贸n simplifica la gesti贸n y distribuci贸n de modelos que dependen de recursos externos.

Opciones de despliegue con TF SavedModel

Antes de sumergirnos en el proceso de exportaci贸n de los modelos YOLOv8 al formato TF SavedModel , vamos a explorar algunos escenarios t铆picos de implantaci贸n en los que se utiliza este formato.

TF SavedModel ofrece una serie de opciones para desplegar tus modelos de aprendizaje autom谩tico:

  • TensorFlow Servir: TensorFlow Serving es un sistema de servicio flexible y de alto rendimiento dise帽ado para entornos de producci贸n. Es compatible de forma nativa con TF SavedModels, lo que facilita el despliegue y el servicio de tus modelos en plataformas en la nube, servidores locales o dispositivos perif茅ricos.

  • Plataformas en la nube: Los principales proveedores de la nube, como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure, ofrecen servicios para desplegar y ejecutar modelos TensorFlow , incluido TF SavedModels. Estos servicios proporcionan una infraestructura escalable y gestionada, que te permite desplegar y escalar tus modelos f谩cilmente.

  • Dispositivos m贸viles e integrados: TensorFlow Lite, una soluci贸n ligera para ejecutar modelos de aprendizaje autom谩tico en dispositivos m贸viles, integrados y del IoT, permite convertir TF SavedModels al formato TensorFlow Lite. Esto te permite desplegar tus modelos en una amplia gama de dispositivos, desde tel茅fonos inteligentes y tabletas hasta microcontroladores y dispositivos de borde.

  • TensorFlow Tiempo de ejecuci贸n: TensorFlow Tiempo de ejecuci贸n (tfrt) es un tiempo de ejecuci贸n de alto rendimiento para ejecutar TensorFlow Gr谩ficos. Proporciona API de nivel inferior para cargar y ejecutar TF SavedModels en entornos de C++. TensorFlow El tiempo de ejecuci贸n ofrece un mejor rendimiento en comparaci贸n con el est谩ndar TensorFlow Ejecuci贸n. Es adecuado para escenarios de implementaci贸n que requieren inferencia de baja latencia y una estrecha integraci贸n con las bases de c贸digo de C++ existentes.

Exportar modelos de YOLOv8 a TF SavedModel

Al exportar los modelos YOLOv8 al formato TF SavedModel , mejoras su adaptabilidad y facilidad de despliegue en diversas plataformas.

Instalaci贸n

Para instalar el paquete necesario, ejecuta

Instalaci贸n

# Install the required package for YOLOv8
pip install ultralytics

Para obtener instrucciones detalladas y buenas pr谩cticas relacionadas con el proceso de instalaci贸n, consulta nuestra gu铆a de instalaci贸nUltralytics . Mientras instalas los paquetes necesarios para YOLOv8, si encuentras alguna dificultad, consulta nuestra gu铆a de Problemas comunes para encontrar soluciones y consejos.

Utilizaci贸n

Antes de sumergirte en las instrucciones de uso, es importante tener en cuenta que, aunque todos los modelos deUltralytics YOLOv8 est谩n disponibles para exportar, aqu铆 puedes asegurarte de que el modelo que seleccionas admite la funci贸n de exportaci贸n.

Utilizaci贸n

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolov8n_saved_model'

# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolov8n_saved_model")

# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF SavedModel format
yolo export model=yolov8n.pt format=saved_model  # creates '/yolov8n_saved_model'

# Run inference with the exported model
yolo predict model='./yolov8n_saved_model' source='https://ultralytics.com/images/bus.jpg'

Para m谩s detalles sobre las opciones de exportaci贸n admitidas, visita la p谩gina de documentaci贸nUltralytics sobre opciones de despliegue.

Despliegue de modelos exportados YOLOv8 TF SavedModel

Ahora que has exportado tu modelo YOLOv8 al formato TF SavedModel , el siguiente paso es desplegarlo. El primer paso principal y recomendado para ejecutar un modelo TF GraphDef es utilizar el m茅todo YOLO("./yolov8n_saved_model"), como se ha mostrado anteriormente en el fragmento de c贸digo de uso.

Sin embargo, para obtener instrucciones detalladas sobre el despliegue de tus modelos TF SavedModel , echa un vistazo a los siguientes recursos:

  • TensorFlow Sirviendo a: Aqu铆 tienes la documentaci贸n para desarrolladores sobre c贸mo desplegar tus modelos TF SavedModel utilizando TensorFlow Serving.

  • Ejecuta un TensorFlow SavedModel en Node.js: Una entrada del blog TensorFlow sobre c贸mo ejecutar un TensorFlow SavedModel en Node.js directamente sin conversi贸n.

  • Despliegue en la nube: Una entrada del blog TensorFlow sobre el despliegue de un modelo TensorFlow SavedModel en la Plataforma de IA en la Nube.

Resumen

En esta gu铆a, exploramos c贸mo exportar modelos Ultralytics YOLOv8 al formato TF SavedModel . Al exportar a TF SavedModel , ganas flexibilidad para optimizar, desplegar y escalar tus modelos YOLOv8 en una amplia gama de plataformas.

Para m谩s detalles sobre su uso, visita la documentaci贸n oficial deTF SavedModel .

Para obtener m谩s informaci贸n sobre la integraci贸n de Ultralytics YOLOv8 con otras plataformas y frameworks, no olvides consultar nuestra p谩gina de la gu铆a de integraci贸n. Est谩 repleta de magn铆ficos recursos que te ayudar谩n a sacar el m谩ximo partido de YOLOv8 en tus proyectos.

PREGUNTAS FRECUENTES

驴C贸mo exporto un modelo Ultralytics YOLO al formato TensorFlow SavedModel ?

Exportar un modelo Ultralytics YOLO al formato TensorFlow SavedModel es sencillo. Puedes utilizar Python o CLI para conseguirlo:

Exportar YOLOv8 a TF SavedModel

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolov8n_saved_model'

# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolov8n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export the YOLOv8 model to TF SavedModel format
yolo export model=yolov8n.pt format=saved_model  # creates '/yolov8n_saved_model'

# Run inference with the exported model
yolo predict model='./yolov8n_saved_model' source='https://ultralytics.com/images/bus.jpg'

Consulta la documentaci贸n deUltralytics Exportar para m谩s detalles.

驴Por qu茅 debo utilizar el formato TensorFlow SavedModel ?

El formato TensorFlow SavedModel ofrece varias ventajas para la implantaci贸n de modelos:

  • Portabilidad: Proporciona un formato de lenguaje neutro, lo que facilita compartir y desplegar modelos en distintos entornos.
  • Compatibilidad: Se integra perfectamente con herramientas como TensorFlow Serving, TensorFlow Lite y TensorFlow.js, que son esenciales para desplegar modelos en diversas plataformas, incluidas aplicaciones web y m贸viles.
  • Encapsulaci贸n completa: Codifica la arquitectura del modelo, los pesos y la informaci贸n de compilaci贸n, lo que permite compartirlo directamente y continuar con el entrenamiento.

Para m谩s ventajas y opciones de despliegue, consulta las opciones de despliegue del modeloUltralytics YOLO .

驴Cu谩les son los escenarios t铆picos de despliegue de TF SavedModel ?

TF SavedModel puede desplegarse en varios entornos, entre ellos:

  • TensorFlow Servir: Ideal para entornos de producci贸n que requieren un servicio de modelos escalable y de alto rendimiento.
  • Plataformas en la nube: Es compatible con los principales servicios en la nube, como Google Cloud Platform (GCP), Amazon Web Services (AWS) y Microsoft Azure, para desplegar modelos escalables.
  • Dispositivos m贸viles e integrados: El uso de TensorFlow Lite para convertir TF SavedModels permite la implementaci贸n en dispositivos m贸viles, dispositivos IoT y microcontroladores.
  • TensorFlow Tiempo de ejecuci贸n: Para entornos C++ que necesiten una inferencia de baja latencia con un mejor rendimiento.

Para conocer en detalle las opciones de despliegue, visita las gu铆as oficiales de despliegue de los modelos TensorFlow .

驴C贸mo puedo instalar los paquetes necesarios para exportar los modelos de YOLOv8 ?

Para exportar los modelos de YOLOv8 , tienes que instalar el programa ultralytics paquete. Ejecuta el siguiente comando en tu terminal:

pip install ultralytics

Para obtener instrucciones de instalaci贸n m谩s detalladas y las mejores pr谩cticas, consulta nuestra gu铆a de instalaci贸nUltralytics . Si tienes alg煤n problema, consulta nuestra Gu铆a de problemas comunes.

驴Cu谩les son las principales caracter铆sticas del formato TensorFlow SavedModel ?

TF SavedModel es beneficioso para los desarrolladores de IA debido a las siguientes caracter铆sticas:

  • Portabilidad: Permite compartir y desplegar en varios entornos sin esfuerzo.
  • Facilidad de despliegue: Encapsula el gr谩fico computacional, los par谩metros entrenados y los metadatos en un 煤nico paquete, lo que simplifica la carga y la inferencia.
  • Gesti贸n de activos: Admite activos externos como vocabularios, garantizando que est茅n disponibles cuando se cargue el modelo.

Para m谩s detalles, explora la documentaci贸n oficial de TensorFlow .



Creado 2024-03-23, Actualizado 2024-07-05
Autores: glenn-jocher (5), Burhan-Q (1), abirami-vina (1)

Comentarios