Exportar al formato de modelo TF.js desde un formato de modelo YOLO26#
A partir de Ultralytics 8.4.83, el formato de exportación tfjs (TensorFlow.js) se ha eliminado y sustituido por el formato unificado Google LiteRT. LiteRT se ejecuta en el navegador mediante LiteRT.js (con aceleración WebGPU), cubriendo los casos de uso en el navegador y en Node.js que gestionaba TF.js, además de móvil, integrado y de borde, a partir de un único modelo .tflite.
format="tfjs" sigue funcionando, pero emite una advertencia de obsolescencia y exporta un modelo LiteRT en su lugar. Usa format="litert" de ahora en adelante; para las instrucciones de exportación actuales y la ruta de implementación en el navegador, consulta la guía de exportación de LiteRT.
Implementar modelos de machine learning directamente en el navegador o en Node.js puede ser complicado. Debes asegurarte de que el formato de tu modelo esté optimizado para un mejor rendimiento de modo que pueda usarse para ejecutar aplicaciones interactivas localmente en el dispositivo del usuario. El formato de modelo TensorFlow.js, o TF.js, está diseñado para consumir una energía mínima a la vez que ofrece un rendimiento rápido.
La función 'export to TF.js model format' te permite optimizar tus modelos de Ultralytics YOLO26 para una inferencia de detección de objetos de alta velocidad y 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 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 seguridad del usuario al mantener los datos sensibles en el dispositivo. La imagen a continuación muestra la arquitectura de TensorFlow.js y cómo los modelos de machine learning se convierten y despliegan tanto en navegadores web como en Node.js.
Ejecutar modelos localmente también reduce la latencia y proporciona una experiencia de usuario más receptiva. TensorFlow.js también incluye capacidades sin conexión, 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á concebido para la escalabilidad, con compatibilidad para aceleración por GPU.
Características clave de TF.js#
Estas son las características clave que hacen de TF.js una herramienta poderosa para desarrolladores:
-
Soporte multiplataforma: TensorFlow.js puede utilizarse 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, haciendo posible el desarrollo de aplicaciones que son funcionales sin conexión.
Opciones de despliegue con TensorFlow.js#
Antes de sumergirnos 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 proporciona una gama de opciones para desplegar tus modelos de machine learning:
-
Aplicaciones de ML en el navegador: Puedes crear aplicaciones web que ejecuten modelos de machine learning directamente en el navegador. La necesidad de computación en el lado del servidor se elimina 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 en el lado del servidor. Es particularmente útil para aplicaciones que requieren la potencia de procesamiento de un servidor o acceso a datos en el 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 utilizando un modelo de ML preentrenado. TensorFlow.js puede integrarse en las experiencias diarias de navegación web para proporcionar conocimientos inmediatos o aumentos basados en machine learning.
Exportar modelos YOLO26 a TensorFlow.js#
Puedes ampliar la compatibilidad del modelo y la flexibilidad de despliegue convirtiendo los modelos YOLO26 a TF.js.
Instalación#
Para instalar el paquete necesario, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara 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 ver soluciones y consejos.
Uso#
Todos los modelos de Ultralytics YOLO26 están diseñados para admitir la exportación de serie, lo que facilita 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.
El argumento tfjs ahora exporta un modelo .tflite de LiteRT, que admite los modos Export, Predict y Validate localmente y se ejecuta en el navegador mediante LiteRT.js. Consulta la guía de exportación de LiteRT para conocer la ruta actual de implementación en el navegador y en el dispositivo.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="litert", imgsz=640) # use imgsz=224 for classificationEl modelo LiteRT .tflite exportado se carga directamente con yolo predict y yolo val, y se ejecuta en el navegador mediante LiteRT.js. Consulta la guía de exportación de LiteRT.
Argumentos de exportación#
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'tfjs' | Formato de destino para el modelo exportado, definiendo la compatibilidad con diversos entornos de despliegue. |
imgsz | int o tuple | 640 | Tamañ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. |
quantize | int o str | None | Precisión de cuantización: 8 (INT8 estático, pesos en int8 + activaciones en int8; requiere calibración data/fraction), 'w8a16' (estático, pesos en int8 + activaciones en int16; requiere calibración data/fraction), 'w8a32' (INT8 dinámico, pesos en int8 + activaciones en FP32; no requiere calibración) o 32/sin definir (FP32). FP16 no se exporta por separado; un modelo FP32 se ejecuta en FP16 automáticamente en los delegados de GPU. Sustituye a las banderas obsoletas half/int8. |
batch | int | 1 | Especifica 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 el modo predict. |
data | str | None | Ruta al YAML del conjunto de datos, esencial para la cuantización; la clasificación, en su lugar, toma un directorio de conjuntos de datos o el nombre de un conjunto de datos integrado. Si se omite con quantize=8 o 'w8a16', Ultralytics selecciona el conjunto de datos de calibración predeterminado para la tarea del modelo. |
fraction | float, int o list | 1.0 | Subconjunto de calibración como proporción, recuento de imágenes o proporciones/recuentos de [train, val]; una lista limita train o val, mientras que test permanece completo. |
device | str | None | Especifica el dispositivo para la exportación: 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, el siguiente paso es implementarlo. La exportación produce un modelo .tflite de LiteRT que se ejecuta en el dispositivo y en el navegador a través de LiteRT.js; consulta la guía de exportación de LiteRT para conocer la ruta actual.
Como referencia, los recursos del tiempo de ejecución heredado de TensorFlow.js se encuentran a continuación:
-
Extensión de Chrome: Aquí tienes la documentación para desarrolladores sobre cómo implementar tus modelos de TF.js en una extensión de Chrome.
-
Ejecutar TensorFlow.js en Node.js: Una entrada de blog de TensorFlow sobre cómo ejecutar TensorFlow.js directamente en Node.js.
-
Implementación de TensorFlow.js - Proyecto de Node en una plataforma en la nube: Una entrada de blog de TensorFlow sobre cómo implementar un modelo de TensorFlow.js en una plataforma en la nube.
Resumen#
En esta guía, aprendimos cómo exportar modelos Ultralytics YOLO26 al formato TensorFlow.js. Al exportar a TF.js, obtienes la flexibilidad para optimizar, desplegar y escalar tus modelos YOLO26 en una amplia gama de plataformas.
Para más detalles sobre su uso, visita la documentación oficial de TensorFlow.js.
Para obtener más información sobre cómo integrar Ultralytics YOLO26 con otras plataformas y frameworks, no olvides consultar nuestra página de la guía de integración. Está llena de excelentes recursos para ayudarte a aprovechar al máximo YOLO26 en tus proyectos.
FAQ#
Exportar modelos Ultralytics YOLO26 al formato TensorFlow.js (TF.js) es sencillo. Puedes seguir estos pasos:
Usofrom ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to TF.js format model.export(format="litert", imgsz=640) # use imgsz=224 for classification # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.Para obtener más detalles sobre las opciones de exportación compatibles, visita la página de documentación de Ultralytics sobre opciones de implementación.
Exportar modelos YOLO26 a TensorFlow.js ofrece varias ventajas, incluyendo:
- Ejecución local: Los modelos pueden ejecutarse directamente en el navegador o Node.js, reduciendo la latencia y mejorando la experiencia del usuario.
- Soporte multiplataforma: TF.js soporta múltiples entornos, permitiendo flexibilidad en el despliegue.
- Capacidades offline: Permite que las aplicaciones funcionen sin conexión a internet, garantizando fiabilidad y privacidad.
- Aceleración por GPU: Aprovecha WebGL para la aceleración por GPU, optimizando el rendimiento en dispositivos con recursos limitados.
Las características clave de TensorFlow.js incluyen:
- Soporte multiplataforma: TF.js puede utilizarse tanto en navegadores web como en Node.js, proporcionando una amplia 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, haciéndolo ideal para desarrollar aplicaciones web receptivas.
Para ver escenarios de implementación e información más detallada, consulta nuestra sección sobre opciones de implementación con TensorFlow.js.
Sí, TensorFlow.js permite el despliegue de modelos YOLO26 en entornos de Node.js. Esto permite aplicaciones de machine learning en el lado del servidor que se benefician de la potencia de procesamiento de un servidor y el acceso a datos en el lado del servidor. Los casos de uso típicos incluyen el procesamiento de datos en tiempo real y los flujos de trabajo de machine learning en servidores backend.
Para empezar con la implementación en Node.js, consulta la guía Ejecutar TensorFlow.js en Node.js de TensorFlow.