Exportación al formato de modelo TF.js desde un formato de modelo YOLO11
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 consumir la mínima energía y, al mismo tiempo, ofrecer un rendimiento rápido.
La función "exportar a formato de modelo TF.js" le permite optimizar sus Ultralytics YOLO11 modelos para la inferencia de detección de objetos a alta velocidad y en ejecución local. En esta guía, te guiaremos en 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é 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 la seguridad del usuario al mantener los datos confidenciales 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.
Ejecutar los modelos localmente también reduce la latencia y proporciona una experiencia de usuario más receptiva. TensorFlow.js también incluye funciones offline, lo que permite a los usuarios utilizar la 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 principales características 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 en la implantación en distintas plataformas. Permite a los desarrolladores crear y desplegar aplicaciones más fácilmente.
-
Soporte para múltiples backends: TensorFlow.js soporta varios backends para computación incluyendo CPU, WebGL para aceleración GPU , WebAssembly (WASM) para velocidad de ejecución casi nativa, y WebGPU para capacidades avanzadas de aprendizaje automático basadas en navegador.
-
Capacidades offline: 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 implantación con TensorFlow.js
Antes de sumergirnos en el proceso de exportación de modelos de YOLO11 al formato .js de TF, exploremos algunos escenarios típicos de despliegue en los que se utiliza este formato.
TF.js ofrece una serie de opciones para desplegar sus modelos de aprendizaje automático:
-
Aplicaciones ML en el navegador: Puede 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 soporta el despliegue en entornos Node.js, permitiendo el desarrollo de aplicaciones de aprendizaje automático del lado del servidor. Resulta 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, se puede 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 información inmediata o mejoras basadas en el aprendizaje automático.
Exportación de modelos de YOLO11 a TensorFlow.js
Puede ampliar la compatibilidad de los modelos y la flexibilidad de despliegue convirtiendo los modelos de YOLO11 a TF.js.
Instalación
Para instalar el paquete necesario, ejecute
Para obtener instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalaciónUltralytics . Mientras instala los paquetes necesarios para YOLO11, si encuentra alguna dificultad, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.
Utilización
Antes de entrar en las instrucciones de uso, es importante tener en cuenta que, aunque todos los modelos deUltralytics YOLO11 están disponibles para la exportación, aquí puede asegurarse de que el modelo que seleccione admite la función de exportación.
Utilización
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo11n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
Argumentos de exportación
Argumento | Tipo | Por defecto | Descripción |
---|---|---|---|
format |
str |
'tfjs' |
Formato de destino para el modelo exportado, que define la compatibilidad con varios 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. |
half |
bool |
False |
Permite la cuantización FP16 (media precisión), reduciendo el tamaño del modelo y acelerando potencialmente la inferencia en hardware compatible. |
int8 |
bool |
False |
Activa la cuantización INT8, comprimiendo aún más el modelo y acelerando la inferencia con una pérdida mínima de precisión, principalmente para dispositivos de borde. |
nms |
bool |
False |
Añade supresión no máxima (NMS), esencial para un postprocesado de detección preciso y eficaz. |
batch |
int |
1 |
Especifica el tamaño de la 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 predict modo. |
Para más detalles sobre el proceso de exportación, visite la página de documentaciónUltralytics sobre exportación.
Despliegue de modelos .js exportados de YOLO11 TensorFlow
Ahora que has exportado tu modelo YOLO11 al formato TF.js, el siguiente paso es desplegarlo. El primer paso principal y recomendado para ejecutar un modelo TF.js es utilizar la función YOLO("./yolo11n_web_model")
como se muestra en el fragmento de código de uso.
Sin embargo, para obtener instrucciones detalladas sobre el despliegue de sus modelos TF.js, consulte los siguientes recursos:
-
Extensión de Chrome: Aquí tienes la documentación para desarrolladores sobre cómo desplegar tus modelos TF.js en una extensión de Chrome.
-
Ejecutar TensorFlow.js en Node.js: Una entrada del blog TensorFlow sobre cómo ejecutar TensorFlow.js en Node.js directamente.
-
Desplegando TensorFlow.js - Proyecto Node en Plataforma Cloud: Una entrada del blog TensorFlow sobre el despliegue de un modelo TensorFlow.js en una plataforma en la nube.
Resumen
En esta guía hemos aprendido a exportar modelos Ultralytics YOLO11 al formato TensorFlow.js. Al exportar a TF.js, obtienes la flexibilidad de optimizar, implementar y escalar tus modelos YOLO11 en una amplia gama de plataformas.
Para más detalles sobre su uso, visite la documentación oficial deTensorFlow.js.
Para más información sobre la integración de Ultralytics YOLO11 con otras plataformas y frameworks, no olvides consultar nuestra página de guía de integración. Está repleta de recursos que te ayudarán a sacar el máximo partido de YOLO11 en tus proyectos.
PREGUNTAS FRECUENTES
¿Cómo se exportan los modelos de Ultralytics YOLO11 al formato .js de TensorFlow?
Exportar los modelos Ultralytics YOLO11 al formato TensorFlow.js (TF.js) es muy sencillo. Puedes seguir estos pasos:
Utilización
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo11n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
Para obtener más información sobre las opciones de exportación compatibles, visite la página de documentación deUltralytics sobre opciones de implantación.
¿Por qué debo exportar mis modelos de YOLO11 a TensorFlow.js?
Exportar modelos de YOLO11 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 es compatible con múltiples entornos, lo que permite flexibilidad en la implantación.
- Capacidades sin conexión: Permite que las aplicaciones funcionen sin conexión a Internet, lo que garantiza la fiabilidad y la privacidad.
- GPU Aceleración: Aprovecha WebGL para la aceleración GPU , optimizando el rendimiento en dispositivos con recursos limitados.
Para obtener una visión general completa, consulte nuestra Integraciones con TensorFlow.js.
¿En qué 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 los modelos de aprendizaje automático localmente, proporcionando resultados inmediatos sin depender de los cálculos 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.
- Soporta 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? Consulte la guía oficial de TensorFlow.js.
¿Cuáles son las principales características de TensorFlow.js para desplegar modelos YOLO11 ?
Entre las principales características 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 implantación.
- Múltiples backends: Admite CPU, WebGL para la aceleración de GPU , WebAssembly (WASM) y WebGPU para operaciones avanzadas.
- Capacidades offline: Los modelos pueden ejecutarse directamente en el navegador sin conexión a Internet, lo que lo hace ideal para desarrollar aplicaciones web responsivas.
Para conocer escenarios de despliegue e información más detallada, consulte nuestra sección sobre Opciones de despliegue con TensorFlow.js.
¿Puedo desplegar un modelo YOLO11 en aplicaciones Node.js del lado del servidor utilizando TensorFlow.js?
Sí, TensorFlow.js permite el despliegue de modelos YOLO11 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 las canalizaciones de aprendizaje automático en servidores backend.
Para empezar con el despliegue de Node.js, consulte la guía Ejecutar TensorFlow.js en Node.js de TensorFlow.