Saltar al contenido

Exportar a TF Formato de modelo .js Desde un formato de modelo YOLOv8

Desplegar modelos de aprendizaje autom谩tico directamente en el navegador o en Node.js puede ser complicado. Tendr谩s que asegurarte de que el formato de tu modelo est谩 optimizado para un rendimiento m谩s r谩pido, de modo que el modelo pueda utilizarse para ejecutar aplicaciones interactivas localmente en el dispositivo del usuario. El formato de modelo TensorFlow.js, o TF.js, est谩 dise帽ado para utilizar la m铆nima energ铆a y, al mismo tiempo, ofrecer un rendimiento r谩pido.

La funci贸n "exportar a formato de modelo TF.js" te permite optimizar tus Ultralytics YOLOv8 modelos para la inferencia de detecci贸n de objetos a alta velocidad y en ejecuci贸n local. En esta gu铆a, te guiaremos a trav茅s de la conversi贸n de tus modelos al formato TF.js, facilitando que tus modelos funcionen bien en varios navegadores locales y aplicaciones Node.js.

驴Por qu茅 deber铆as exportar a TF.js?

Exportar tus modelos de aprendizaje autom谩tico a TensorFlow.js, desarrollado por el equipo de TensorFlow como parte del ecosistema m谩s amplio de TensorFlow , ofrece numerosas ventajas para desplegar aplicaciones de aprendizaje autom谩tico. Ayuda a mejorar la privacidad y seguridad del usuario al mantener los datos sensibles en el dispositivo. La siguiente imagen muestra la arquitectura de TensorFlow.js, y c贸mo los modelos de aprendizaje autom谩tico se convierten y despliegan tanto en navegadores web como en Node.js.

TFArquitectura .js

Ejecutar los modelos localmente tambi茅n reduce la latencia y proporciona una experiencia de usuario m谩s receptiva. TensorFlow.js tambi茅n viene con capacidades offline, lo que permite a los usuarios utilizar tu aplicaci贸n incluso sin conexi贸n a Internet. TF.js est谩 dise帽ado para la ejecuci贸n eficiente de modelos complejos en dispositivos con recursos limitados, ya que est谩 dise帽ado para la escalabilidad, con soporte de aceleraci贸n de GPU.

Caracter铆sticas principales de TF.js

Estas son las caracter铆sticas clave que hacen de TF.js una potente herramienta para desarrolladores:

  • Compatibilidad multiplataforma: TensorFlow.js puede utilizarse tanto en entornos de navegador como de Node.js, lo que proporciona flexibilidad de despliegue en distintas plataformas. Permite a los desarrolladores crear y desplegar aplicaciones m谩s f谩cilmente.

  • Compatibilidad con m煤ltiples backends: TensorFlow.js admite varios backends para el c谩lculo, como CPU, WebGL para aceleraci贸n GPU, WebAssembly (WASM) para velocidad de ejecuci贸n casi nativa, y WebGPU para capacidades avanzadas de aprendizaje autom谩tico basado en navegador.

  • Capacidades sin conexi贸n: Con TensorFlow.js, los modelos pueden ejecutarse en el navegador sin necesidad de conexi贸n a Internet, lo que permite desarrollar aplicaciones funcionales sin conexi贸n.

Opciones de despliegue con TensorFlow.js

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

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

  • Aplicaciones ML en el navegador: Puedes crear aplicaciones web que ejecuten modelos de aprendizaje autom谩tico directamente en el navegador. Se elimina la necesidad de computaci贸n del lado del servidor y se reduce la carga del servidor.

  • Aplicaciones Node.js:: TensorFlow.js tambi茅n admite el despliegue en entornos Node.js, lo que permite el desarrollo de aplicaciones de aprendizaje autom谩tico del lado del servidor. Es especialmente 煤til para aplicaciones que requieren la potencia de procesamiento de un servidor o acceso a datos del lado del servidor.

  • Extensiones de Chrome: Un escenario de despliegue interesante es la creaci贸n de extensiones de Chrome con TensorFlow.js. Por ejemplo, puedes desarrollar una extensi贸n que permita a los usuarios hacer clic con el bot贸n derecho en una imagen dentro de cualquier p谩gina web para clasificarla utilizando un modelo ML preentrenado. TensorFlow.js puede integrarse en las experiencias cotidianas de navegaci贸n web para proporcionar percepciones o aumentos inmediatos basados en el aprendizaje autom谩tico.

Exportaci贸n de modelos de YOLOv8 a TensorFlow.js

Puedes ampliar la compatibilidad de los modelos y la flexibilidad de despliegue convirtiendo los modelos de YOLOv8 a TF.js.

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.js format
model.export(format="tfjs")  # creates '/yolov8n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolov8n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_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 .js exportados de YOLOv8 TensorFlow

Ahora que has exportado tu modelo YOLOv8 al formato TF.js, el siguiente paso es desplegarlo. El primer paso principal y recomendado para ejecutar un TF.js es utilizar el m茅todo YOLO("./yolov8n_web_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.js, echa un vistazo a los siguientes recursos:

Resumen

En esta gu铆a hemos aprendido a exportar modelos Ultralytics YOLOv8 al formato TensorFlow.js. Al exportar a TF.js, 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 deTensorFlow.js.

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-04-03, Actualizado 2024-05-18
Autores: glenn-jocher (2), abirami-vina (1)

Comentarios