Exportar al formato de modelo TF.js desde un formato de modelo YOLO26

Desplegar modelos de machine learning directamente en el navegador o en Node.js puede ser complicado. Deberás 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 consumir la mínima energía mientras ofrece un rendimiento rápido.

La funcionalidad de 'exportar al formato de modelo TF.js' te permite optimizar tus modelos Ultralytics YOLO26 para una inferencia de object detection de alta velocidad y ejecución local. En esta guía, te guiaremos paso a paso por la conversión de tus modelos al formato TF.js, facilitando que tus modelos funcionen bien en diversos navegadores locales y aplicaciones de Node.js.

¿Por qué deberías exportar a TF.js?

Exportar tus modelos de machine learning 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 machine learning. Ayuda a mejorar la privacidad y la seguridad del usuario al mantener los datos confidenciales en el dispositivo. La imagen a continuación muestra la arquitectura de TensorFlow.js y cómo se convierten y despliegan los modelos de machine learning tanto en navegadores web como en Node.js.

TensorFlow.js browser ML inference architecture

Ejecutar modelos localmente también reduce la latencia y proporciona una experiencia de usuario con mayor capacidad de respuesta. TensorFlow.js también cuenta 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á optimizado para la escalabilidad, con soporte de aceleración por GPU.

Características clave de TF.js

Aquí tienes las características clave que hacen de TF.js una herramienta potente para desarrolladores:

  • Soporte multiplataforma: TensorFlow.js se puede utilizar tanto en entornos de navegador como de Node.js, proporcionando flexibilidad en el despliegue a través de diferentes plataformas. Permite a los desarrolladores crear y desplegar aplicaciones más fácilmente.

  • Soporte para múltiples backends: TensorFlow.js soporta varios backends para el cálculo, incluyendo CPU, WebGL para aceleración por GPU, WebAssembly (WASM) para una velocidad de ejecución casi nativa y WebGPU para capacidades avanzadas de machine learning basadas en navegador.

  • Capacidades offline: Con TensorFlow.js, los modelos pueden ejecutarse en el navegador sin necesidad de una conexión a internet, lo que hace posible desarrollar aplicaciones funcionales sin conexión.

Opciones de despliegue con TensorFlow.js

Antes de profundizar en el proceso de exportar modelos YOLO26 al formato TF.js, exploremos algunos escenarios de despliegue típicos donde se utiliza este formato.

TF.js ofrece una gama de opciones para desplegar tus modelos de machine learning:

  • Aplicaciones de ML en navegador: Puedes crear aplicaciones web que ejecuten modelos de machine learning directamente en el navegador. Se elimina la necesidad de computación del lado del servidor y se reduce la carga del servidor.

  • Aplicaciones de Node.js: TensorFlow.js también soporta el despliegue en entornos de Node.js, permitiendo el desarrollo de aplicaciones de machine learning del lado del servidor. Es particularmente ú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 derecho en una imagen dentro de cualquier página web para clasificarla usando un modelo de ML preentrenado. TensorFlow.js puede integrarse en las experiencias diarias de navegación web para proporcionar información inmediata o aumentos basados en machine learning.

Exportar modelos YOLO26 a TensorFlow.js

Puedes ampliar la compatibilidad del modelo y la flexibilidad de despliegue convirtiendo modelos YOLO26 a TF.js.

Instalación

Para instalar el paquete requerido, ejecuta:

Instalación
# Install the required package for YOLO26
pip install ultralytics

Para obtener instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Si encuentras alguna dificultad al instalar los paquetes necesarios para YOLO26, consulta nuestra guía de problemas comunes para obtener soluciones y consejos.

Uso

Todos los modelos Ultralytics YOLO26 están diseñados para soportar la exportación de forma inmediata, facilitando su integración en tu flujo de trabajo de despliegue preferido. Puedes ver la lista completa de formatos de exportación compatibles y opciones de configuración para elegir la mejor configuración para tu aplicación.

Uso
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

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

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")

Argumentos de exportación

ArgumentoTipoPredeterminadoDescripción
formatstr'tfjs'Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de implementación.
imgszint o tuple640Tamaño de imagen deseado para la entrada del modelo. Puede ser un número entero para imágenes cuadradas o una tupla (height, width) para dimensiones específicas.
halfboolFalseActiva la cuantización FP16 (precisión media), reduciendo el tamaño del modelo y acelerando potencialmente la inferencia en hardware compatible.
int8boolFalseActiva la cuantización INT8, comprimiendo aún más el modelo y acelerando la inferencia con una pérdida de precisión mínima, principalmente para dispositivos de borde (edge).
nmsboolFalseAñade la supresión de no máximos (NMS), esencial para un posprocesamiento de detección preciso y eficiente.
batchint1Especifica el tamaño de inferencia por lotes del modelo de exportación o el número máximo de imágenes que el modelo exportado procesará simultáneamente en modo predict.
datastr'coco8.yaml'Ruta al archivo de configuración del dataset (por defecto: coco8.yaml), esencial para la cuantización.
fractionfloat1.0Especifica la fracción del conjunto de datos a usar para la calibración de cuantización INT8. Permite calibrar sobre un subconjunto del conjunto de datos completo, útil para experimentos o cuando los recursos son limitados. Si no se especifica con INT8 activado, se usará el conjunto de datos completo.
devicestrNoneEspecifica el dispositivo para exportar: CPU (device=cpu), MPS para Apple silicon (device=mps).

Para más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.

Desplegar modelos YOLO26 de TensorFlow.js exportados

Ahora que has exportado tu modelo YOLO26 al formato TF.js, el siguiente paso es desplegarlo. El primer paso principal y recomendado para ejecutar un modelo de TF.js es utilizar el método YOLO("./yolo26n_web_model"), como se mostró anteriormente en el fragmento de código de uso.

Sin embargo, para obtener instrucciones detalladas sobre cómo desplegar tus modelos de TF.js, echa un vistazo a los siguientes recursos:

Resumen

En esta guía, aprendimos cómo exportar modelos Ultralytics YOLO26 al formato TensorFlow.js. Al exportar a TF.js, ganas la flexibilidad de optimizar, desplegar y escalar tus modelos YOLO26 en una amplia gama de plataformas.

Para más detalles sobre el uso, visita la documentación oficial de TensorFlow.js.

Para más información sobre la integración de Ultralytics YOLO26 con otras plataformas y frameworks, no olvides consultar nuestra página de guía de integración. Está llena de grandes recursos para ayudarte a aprovechar al máximo YOLO26 en tus proyectos.

Preguntas frecuentes

¿Cómo exporto modelos Ultralytics YOLO26 al formato TensorFlow.js?

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

Uso
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

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

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")

Para más detalles sobre las opciones de exportación admitidas, visita la página de documentación de Ultralytics sobre opciones de despliegue.

¿Por qué debería exportar mis modelos YOLO26 a TensorFlow.js?

Exportar modelos YOLO26 a TensorFlow.js ofrece varias ventajas, que incluyen:

  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. Soporte multiplataforma: TF.js soporta múltiples entornos, permitiendo flexibilidad en el despliegue.
  3. Capacidades offline: Permite que las aplicaciones funcionen sin conexión a internet, garantizando fiabilidad y privacidad.
  4. Aceleración por GPU: Aprovecha WebGL para la aceleración por GPU, optimizando el rendimiento en dispositivos con recursos limitados.

Para una visión general completa, consulta nuestras Integraciones con TensorFlow.js.

¿Cómo beneficia TensorFlow.js a las aplicaciones de machine learning basadas en navegador?

TensorFlow.js está diseñado específicamente para la ejecución eficiente de modelos de ML en navegadores y entornos de Node.js. Así es como beneficia a las aplicaciones basadas en navegador:

  • Reduce la latencia: Ejecuta modelos de machine learning localmente, proporcionando resultados inmediatos sin depender de cálculos del lado del servidor.
  • Mejora la privacidad: Mantiene los datos confidenciales en el dispositivo del usuario, minimizando los riesgos de seguridad.
  • Permite el uso offline: Los modelos pueden operar sin conexión a internet, asegurando una funcionalidad constante.
  • Soporta múltiples backends: Ofrece flexibilidad con backends como CPU, WebGL, WebAssembly (WASM) y WebGPU para diferentes necesidades de cálculo.

¿Interesado en saber más sobre TF.js? Echa un vistazo a la guía oficial de TensorFlow.js.

¿Cuáles son las características clave de TensorFlow.js para desplegar modelos YOLO26?

Las características clave de TensorFlow.js incluyen:

  • Soporte multiplataforma: TF.js puede usarse tanto en navegadores web como en Node.js, proporcionando una gran flexibilidad de despliegue.
  • Múltiples backends: Soporta CPU, WebGL para aceleración por GPU, WebAssembly (WASM) y WebGPU para operaciones avanzadas.
  • Capacidades offline: Los modelos pueden ejecutarse directamente en el navegador sin conectividad a internet, lo que lo hace ideal para desarrollar aplicaciones web con capacidad de respuesta.

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 YOLO26 en aplicaciones de Node.js del lado del servidor usando TensorFlow.js?

Sí, TensorFlow.js permite el despliegue de modelos YOLO26 en entornos de Node.js. Esto permite aplicaciones de machine learning del lado del servidor que se benefician de la potencia de procesamiento de un servidor y el acceso a datos del lado del servidor. Los casos de uso típicos incluyen el procesamiento de datos en tiempo real y tuberías de machine learning en servidores backend.

Para comenzar con el despliegue en Node.js, consulta la guía Ejecutar TensorFlow.js en Node.js de TensorFlow.

Comentarios