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 Runtime (tfrt) es un tiempo de ejecuci贸n de alto rendimiento para ejecutar gr谩ficos TensorFlow . Proporciona API de bajo nivel para cargar y ejecutar TF SavedModels en entornos C++. TensorFlow El tiempo de ejecuci贸n ofrece un mejor rendimiento en comparaci贸n con el tiempo de ejecuci贸n est谩ndar de TensorFlow . Es adecuado para escenarios de despliegue que requieran una inferencia de baja latencia y una estrecha integraci贸n con las bases de c贸digo 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.



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

Comentarios