Saltar al contenido

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

La implementaci贸n de modelos de aprendizaje autom谩tico directamente en el navegador o en Node.js puede ser complicada. Deber谩 asegurarse de que el formato del modelo est茅 optimizado para un rendimiento m谩s r谩pido, de modo que el modelo se pueda usar para ejecutar aplicaciones interactivas localmente en el dispositivo del usuario. El TensorFlow.js, o TF.js, el formato del modelo est谩 dise帽ado para utilizar una potencia m铆nima y 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 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 la aceleraci贸n GPU , WebAssembly (WASM) para una velocidad de ejecuci贸n casi nativa, y WebGPU para capacidades avanzadas de aprendizaje autom谩tico basadas en el 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 el 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.

PREGUNTAS FRECUENTES

驴C贸mo puedo exportar los modelos de Ultralytics YOLOv8 al formato TensorFlow.js?

Exportar los modelos Ultralytics YOLOv8 al formato TensorFlow.js (TF.js) es muy sencillo. Puedes seguir estos pasos:

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.

驴Por qu茅 debo exportar mis modelos de YOLOv8 a TensorFlow.js?

Exportar modelos de YOLOv8 a TensorFlow.js ofrece varias ventajas, entre ellas:

  1. Ejecuci贸n local: Los modelos pueden ejecutarse directamente en el navegador o en Node.js, reduciendo la latencia y mejorando la experiencia del usuario.
  2. Compatibilidad multiplataforma: TF.js es compatible con m煤ltiples entornos, lo que permite flexibilidad en la implantaci贸n.
  3. Capacidades sin conexi贸n: Permite que las aplicaciones funcionen sin conexi贸n a Internet, garantizando la fiabilidad y la privacidad.
  4. GPU Aceleraci贸n: Aprovecha WebGL para la aceleraci贸n GPU , optimizando el rendimiento en dispositivos con recursos limitados.

Para obtener una visi贸n general, consulta nuestras Integraciones con TensorFlow.js.

驴C贸mo beneficia TensorFlow.js a las aplicaciones de aprendizaje autom谩tico basadas en navegador?

TensorFlow.js est谩 dise帽ado espec铆ficamente para la ejecuci贸n eficiente de modelos ML en navegadores y entornos Node.js. He aqu铆 c贸mo beneficia a las aplicaciones basadas en navegador:

  • Reduce la latencia: Ejecuta modelos de aprendizaje autom谩tico localmente, proporcionando resultados inmediatos sin depender de c谩lculos del lado del servidor.
  • Mejora la privacidad: Mantiene los datos sensibles en el dispositivo del usuario, minimizando los riesgos de seguridad.
  • Permite el uso sin conexi贸n: Los modelos pueden funcionar sin conexi贸n a Internet, lo que garantiza una funcionalidad constante.
  • Admite m煤ltiples backends: Ofrece flexibilidad con backends como CPU, WebGL, WebAssembly (WASM) y WebGPU para distintas necesidades computacionales.

驴Te interesa saber m谩s sobre TF.js? Consulta la gu铆a oficial de TensorFlow.js.

驴Cu谩les son las principales caracter铆sticas de TensorFlow.js para desplegar modelos YOLOv8 ?

Las principales caracter铆sticas de TensorFlow.js son:

  • Compatibilidad multiplataforma: TF.js puede utilizarse tanto en navegadores web como en Node.js, lo que proporciona una gran flexibilidad de despliegue.
  • M煤ltiples backends: Admite CPU, WebGL para aceleraci贸n GPU , WebAssembly (WASM) y WebGPU para operaciones avanzadas.
  • Capacidades sin conexi贸n: Los modelos pueden ejecutarse directamente en el navegador sin conexi贸n a Internet, lo que lo hace ideal para desarrollar aplicaciones web responsivas.

Para escenarios de despliegue e informaci贸n m谩s detallada, consulta nuestra secci贸n sobre Opciones de despliegue con TensorFlow.js.

驴Puedo desplegar un modelo YOLOv8 en aplicaciones Node.js del lado del servidor utilizando TensorFlow.js?

S铆, TensorFlow.js permite el despliegue de modelos YOLOv8 en entornos Node.js. Esto permite aplicaciones de aprendizaje autom谩tico del lado del servidor que se benefician de la potencia de procesamiento de un servidor y del acceso a datos del lado del servidor. Los casos de uso t铆picos incluyen el procesamiento de datos en tiempo real y los pipelines de aprendizaje autom谩tico en servidores backend.

Para empezar con la implantaci贸n de Node.js, consulta la gu铆a Ejecutar TensorFlow.js en Node.js de TensorFlow.



Creado 2024-04-03, Actualizado 2024-07-05
Autores: glenn-jocher (6), abirami-vina (1)

Comentarios