Exportar al formato de modelo TF.js desde un formato de modelo YOLO26#
A partir de Ultralytics 8.4.83, se ha eliminado el formato de exportación tfjs (TensorFlow.js) y se ha sustituido por el formato unificado Google LiteRT. LiteRT se ejecuta en el navegador mediante LiteRT.js (con aceleración de WebGPU), cubriendo los casos de uso en el navegador y Node.js que gestionaba TF.js, además de dispositivos móviles, integrados y periféricos, desde un único modelo .tflite.
format="tfjs" sigue funcionando, pero muestra una advertencia de obsolescencia y exporta un modelo LiteRT. Usa format="litert" a partir de ahora; para consultar las instrucciones de exportación actuales y la ruta de implementación en el navegador, visita la guía de exportación de LiteRT.
Implementar modelos de aprendizaje automático directamente en el navegador o en Node.js puede resultar complicado. Tendrás que asegurarte de que el formato de tu modelo esté optimizado para ofrecer un rendimiento más rápido, de modo que puedas utilizarlo 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 y ofrecer un rendimiento rápido.
La función «exportar al formato de modelo TF.js» te permite optimizar tus modelos de Ultralytics YOLO26 para realizar inferencia de detección de objetos de alta velocidad y local. En esta guía, te explicaremos cómo convertir tus modelos al formato TF.js para que funcionen mejor en diversos 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 implementar aplicaciones de aprendizaje automático. Ayuda a mejorar la privacidad y la seguridad de los usuarios al mantener los datos confidenciales en el dispositivo. La imagen siguiente muestra la arquitectura de TensorFlow.js y cómo se convierten e implementan los modelos de aprendizaje automático tanto en navegadores web como en Node.js.
Ejecutar los modelos localmente también reduce la latencia y proporciona una experiencia de usuario más ágil. TensorFlow.js también ofrece funciones sin conexión, lo que permite utilizar tu aplicación incluso sin conexión a Internet. TF.js está diseñado para ejecutar eficazmente modelos complejos en dispositivos con recursos limitados, ya que se ha desarrollado para ofrecer escalabilidad y admite aceleración mediante GPU.
Características principales de TF.js#
Estas son las características principales que convierten TF.js en una herramienta potente para desarrolladores:
-
Compatibilidad multiplataforma: TensorFlow.js puede utilizarse tanto en navegadores como en entornos Node.js, lo que proporciona flexibilidad para la implementación en distintas plataformas. Permite a los desarrolladores crear e implementar aplicaciones con mayor facilidad.
-
Compatibilidad con varios backends: TensorFlow.js admite diversos backends de cálculo, incluidos CPU, WebGL para la aceleración mediante GPU, WebAssembly (WASM) para alcanzar una velocidad de ejecución casi nativa y WebGPU para capacidades avanzadas de aprendizaje automático basadas en el navegador.
-
Funciones 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 implementación con TensorFlow.js#
Antes de profundizar en el proceso de exportación de modelos YOLO26 al formato TF.js, exploremos algunos escenarios habituales de implementación en los que se utiliza este formato.
TF.js ofrece varias opciones para implementar tus modelos de aprendizaje automático:
-
Aplicaciones de aprendizaje automático en el navegador: Puedes crear aplicaciones web que ejecuten modelos de aprendizaje automático directamente en el navegador. Se elimina la necesidad de realizar cálculos en el servidor y se reduce la carga de este.
-
Aplicaciones Node.js: TensorFlow.js también admite la implementación en entornos Node.js, lo que permite desarrollar aplicaciones de aprendizaje automático en el servidor. Resulta especialmente útil para aplicaciones que necesitan la capacidad de procesamiento de un servidor o acceder a datos del servidor.
-
Extensiones de Chrome: Un escenario de implementación interesante es crear 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 de cualquier página web para clasificarla mediante un modelo de aprendizaje automático preentrenado. TensorFlow.js puede integrarse en las experiencias de navegación web cotidianas para ofrecer información o ampliaciones inmediatas basadas en el aprendizaje automático.
Exportar modelos YOLO26 a TensorFlow.js#
Puedes ampliar la compatibilidad de los modelos y la flexibilidad de implementación convirtiendo los modelos YOLO26 a TF.js.
Instalación#
Para instalar el paquete necesario, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara consultar instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, revisa nuestra guía de instalación de Ultralytics. Si encuentras dificultades 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 admitir la exportación de forma nativa, lo que facilita su integración en tu flujo de trabajo de despliegue preferido. Puedes consultar la lista completa de formatos de exportación y opciones de configuración compatibles para elegir la configuración más adecuada 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 .tflite de LiteRT 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 del modelo exportado, que define 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 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 int8 + activaciones int8; necesita calibración data/fraction), 'w8a16' (estático, pesos int8 + activaciones int16; necesita calibración data/fraction), 'w8a32' (INT8 dinámico, pesos int8 + activaciones FP32; no necesita calibración) o 32/sin establecer (FP32). FP16 no se exporta por separado: un modelo FP32 se ejecuta automáticamente en FP16 en delegados de GPU. Sustituye a las marcas obsoletas half/int8. |
batch | int | 1 | Especifica el tamaño del lote de inferencia del modelo exportado 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; en clasificación, en su lugar, se acepta un directorio de conjunto 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, número de imágenes o proporciones/números de [train, val, test]. Las listas de dos elementos dejan test completo, mientras que 0 lo omite. |
device | str | None | Especifica el dispositivo para la exportación: CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para obtener más información sobre el proceso de exportación, visita la página de la documentación de Ultralytics sobre exportación.
Implementar modelos YOLO26 de TensorFlow.js exportados#
Ahora que has exportado tu modelo YOLO26, el siguiente paso es implementarlo. La exportación genera un modelo .tflite de LiteRT que se ejecuta en el dispositivo y en el navegador mediante LiteRT.js. Consulta la guía de exportación de LiteRT para conocer la ruta actual.
Como referencia, a continuación se muestran los recursos del runtime heredado de TensorFlow.js:
-
Extensión de Chrome: Esta es la documentación para desarrolladores sobre cómo implementar tus modelos TF.js en una extensión de Chrome.
-
Ejecutar TensorFlow.js en Node.js: Una publicación del blog de TensorFlow sobre cómo ejecutar TensorFlow.js directamente en Node.js.
-
Implementar TensorFlow.js: proyecto Node en una plataforma en la nube: Una publicación del blog de TensorFlow sobre cómo implementar un modelo TensorFlow.js en una plataforma en la nube.
Resumen#
En esta guía, hemos aprendido a exportar modelos Ultralytics YOLO26 al formato TensorFlow.js. Al exportar a TF.js, obtienes la flexibilidad necesaria para optimizar, implementar y escalar tus modelos YOLO26 en una amplia variedad de plataformas.
Para obtener más información sobre el uso, visita la documentación oficial de TensorFlow.js.
Para obtener más información sobre la integración de Ultralytics YOLO26 con otras plataformas y frameworks, no olvides consultar nuestra página de la guía de integraciones. Incluye numerosos recursos que te ayudarán a sacar el máximo partido a YOLO26 en tus proyectos.
Preguntas frecuentes#
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 información sobre las opciones de exportación compatibles, visita la página de la documentación de Ultralytics sobre las opciones de implementación.
Exportar modelos YOLO26 a TensorFlow.js ofrece varias ventajas, entre ellas:
- Ejecución local: Los modelos pueden ejecutarse directamente en el navegador o en Node.js, lo que reduce la latencia y mejora la experiencia del usuario.
- Compatibilidad multiplataforma: TF.js admite varios entornos, lo que proporciona flexibilidad para la implementación.
- Funciones sin conexión: Permite que las aplicaciones funcionen sin conexión a Internet, garantizando la fiabilidad y la privacidad.
- Aceleración mediante GPU: Aprovecha WebGL para acelerar la GPU y optimizar el rendimiento en dispositivos con recursos limitados.
Entre las características principales de TensorFlow.js se incluyen:
- Compatibilidad multiplataforma: TF.js puede utilizarse tanto en navegadores web como en Node.js, lo que proporciona una gran flexibilidad de implementación.
- Varios backends: Admite CPU, WebGL para la aceleración mediante GPU, WebAssembly (WASM) y WebGPU para operaciones avanzadas.
- Funciones 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 adaptables.
Para consultar escenarios de implementación y obtener información más detallada, visita nuestra sección sobre opciones de implementación con TensorFlow.js.
Sí, TensorFlow.js permite implementar modelos YOLO26 en entornos Node.js. Esto permite crear aplicaciones de aprendizaje automático en el servidor que aprovechan la capacidad de procesamiento de un servidor y el acceso a datos del servidor. Entre los casos de uso habituales se incluyen el procesamiento de datos en tiempo real y las canalizaciones de aprendizaje automático en servidores backend.
Para empezar a implementar en Node.js, consulta la guía Ejecutar TensorFlow.js en Node.js de TensorFlow.