Exportation vers le format de modèle TF.js à partir d'un format de modèle YOLO11
Le déploiement de modèles d'apprentissage automatique directement dans le navigateur ou sur Node.js peut s'avérer délicat. Vous devez vous assurer que le format de votre modèle est optimisé pour des performances plus rapides afin que le modèle puisse être utilisé pour exécuter des applications interactives localement sur l'appareil de l'utilisateur. Le format de modèle TensorFlow.js, ou TF.js, est conçu pour utiliser un minimum d'énergie tout en offrant des performances rapides.
La fonction "export to TF.js model format" vous permet d'optimiser vos modèles pour une inférence de détection d'objets à grande vitesse et exécutée localement. Ultralytics YOLO11 pour l'inférence de détection d'objets à grande vitesse et exécutée localement. Dans ce guide, nous vous aiderons à convertir vos modèles au format TF.js, ce qui facilitera l'exécution de vos modèles sur divers navigateurs locaux et applications Node.js.
Pourquoi exporter vers TF.js ?
L'exportation de vos modèles d'apprentissage automatique vers TensorFlow.js, développé par l'équipe TensorFlow dans le cadre de l'écosystème TensorFlow , offre de nombreux avantages pour le déploiement d'applications d'apprentissage automatique. Il contribue à améliorer la confidentialité et la sécurité des utilisateurs en conservant les données sensibles sur l'appareil. L'image ci-dessous montre l'architecture de TensorFlow.js et la façon dont les modèles d'apprentissage automatique sont convertis et déployés à la fois sur les navigateurs web et sur Node.js.
L'exécution locale des modèles permet également de réduire la latence et d'offrir à l'utilisateur une expérience plus réactive. TensorFlow.js est également doté de capacités hors ligne, permettant aux utilisateurs d'utiliser votre application même sans connexion internet. TF.js est conçu pour l'exécution efficace de modèles complexes sur des appareils aux ressources limitées, car il est conçu pour l'évolutivité, avec le support de l'accélération GPU .
Principales caractéristiques de TF.js
Voici les principales caractéristiques qui font de TF.js un outil puissant pour les développeurs :
-
Prise en charge multiplateforme : TensorFlow.js peut être utilisé à la fois dans un navigateur et dans un environnement Node.js, ce qui offre une grande souplesse de déploiement sur différentes plateformes. Il permet aux développeurs de créer et de déployer des applications plus facilement.
-
Prise en charge de plusieurs backends : TensorFlow.js prend en charge plusieurs backends pour les calculs, notamment CPU, WebGL pour l'accélération GPU , WebAssembly (WASM) pour une vitesse d'exécution proche du natif, et WebGPU pour des capacités d'apprentissage automatique avancées basées sur le navigateur.
-
Capacités hors ligne : Avec TensorFlow.js, les modèles peuvent être exécutés dans le navigateur sans qu'une connexion internet soit nécessaire, ce qui permet de développer des applications fonctionnelles hors ligne.
Options de déploiement avec TensorFlow.js
Avant de nous plonger dans le processus d'exportation des modèles YOLO11 vers le format TF.js, explorons quelques scénarios de déploiement typiques dans lesquels ce format est utilisé.
TF.js propose une série d'options pour déployer vos modèles d'apprentissage automatique :
-
Applications ML dans le navigateur : Vous pouvez créer des applications web qui exécutent des modèles d'apprentissage automatique directement dans le navigateur. Le calcul côté serveur n'est plus nécessaire et la charge du serveur est réduite.
-
Applications Node.js: : TensorFlow.js prend également en charge le déploiement dans des environnements Node.js, ce qui permet de développer des applications d'apprentissage automatique côté serveur. Il est particulièrement utile pour les applications qui nécessitent la puissance de traitement d'un serveur ou l'accès à des données côté serveur.
-
Extensions Chrome : Un scénario de déploiement intéressant est la création d'extensions Chrome avec TensorFlow.js. Par exemple, vous pouvez développer une extension qui permet aux utilisateurs de cliquer avec le bouton droit de la souris sur une image dans une page web pour la classer à l'aide d'un modèle d'apprentissage automatique pré-entraîné. TensorFlow.js peut être intégré dans les expériences quotidiennes de navigation sur le web pour fournir des informations immédiates ou des augmentations basées sur l'apprentissage automatique.
Exportation des modèles YOLO11 vers TensorFlow.js
Vous pouvez étendre la compatibilité des modèles et la flexibilité du déploiement en convertissant les modèles YOLO11 en TF.js.
Installation
Pour installer le paquetage requis, exécutez :
Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consultez notre guide d'installationUltralytics . Lors de l'installation des paquets requis pour YOLO11, si vous rencontrez des difficultés, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils.
Utilisation
Avant de plonger dans les instructions d'utilisation, il est important de noter que si tous les modèlesUltralytics YOLO11 sont disponibles pour l'exportation, vous pouvez vous assurer que le modèle que vous sélectionnez prend en charge la fonctionnalité d'exportation ici.
Utilisation
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")
Pour plus de détails sur les options d'exportation prises en charge, consultez la page de documentationUltralytics sur les options de déploiement.
Déploiement des modèles exportés YOLO11 TensorFlow .js
Maintenant que vous avez exporté votre modèle YOLO11 au format TF.js, l'étape suivante consiste à le déployer. La première étape recommandée pour exécuter un modèle TF.js est d'utiliser la commande YOLO("./yolo11n_web_model")
comme indiqué précédemment dans l'extrait de code d'utilisation.
Toutefois, pour obtenir des instructions détaillées sur le déploiement de vos modèles TF.js, consultez les ressources suivantes :
-
Extension Chrome: Voici la documentation du développeur sur la façon de déployer vos modèles TF.js dans une extension Chrome.
-
Exécuter TensorFlow.js dans Node.js: Un article du blog TensorFlow sur l'exécution directe de TensorFlow.js dans Node.js.
-
Déploiement de TensorFlow.js - Projet Node sur la plateforme Cloud: Un article du blog TensorFlow sur le déploiement d'un modèle TensorFlow.js sur une plateforme Cloud.
Résumé
Dans ce guide, nous avons appris à exporter les modèles Ultralytics YOLO11 au format TensorFlow.js. En exportant vers TF.js, vous bénéficiez de la flexibilité nécessaire pour optimiser, déployer et mettre à l'échelle vos modèles YOLO11 sur un large éventail de plates-formes.
Pour plus de détails sur l'utilisation, consultez la documentation officielle deTensorFlow.js.
Pour plus d'informations sur l'intégration de Ultralytics YOLO11 avec d'autres plateformes et frameworks, n'oubliez pas de consulter notre page de guide d'intégration. Elle regorge d'excellentes ressources pour vous aider à tirer le meilleur parti de YOLO11 dans vos projets.
FAQ
Comment exporter les modèles Ultralytics YOLO11 vers TensorFlow au format .js ?
L'exportation des modèles Ultralytics YOLO11 vers le format TensorFlow.js (TF.js) est simple. Vous pouvez suivre les étapes suivantes :
Utilisation
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")
Pour plus de détails sur les options d'exportation prises en charge, consultez la page de documentationUltralytics sur les options de déploiement.
Pourquoi devrais-je exporter mes modèles YOLO11 vers TensorFlow.js ?
L'exportation des modèles YOLO11 vers TensorFlow.js présente plusieurs avantages, notamment
- Exécution locale : Les modèles peuvent être exécutés directement dans le navigateur ou dans Node.js, ce qui réduit la latence et améliore l'expérience de l'utilisateur.
- Prise en charge multiplateforme : TF.js prend en charge plusieurs environnements, ce qui permet une grande souplesse de déploiement.
- Capacités hors ligne : Permet aux applications de fonctionner sans connexion internet, ce qui garantit la fiabilité et la confidentialité.
- GPU Accélération : Exploite WebGL pour l'accélération GPU , optimisant ainsi les performances sur les appareils aux ressources limitées.
Pour une vue d'ensemble, consultez notre page Intégrations avec TensorFlow.js.
Quels sont les avantages de TensorFlow.js pour les applications d'apprentissage automatique basées sur un navigateur ?
TensorFlow.js est spécialement conçu pour une exécution efficace des modèles ML dans les navigateurs et les environnements Node.js. Voici comment il profite aux applications basées sur les navigateurs :
- Réduction de la latence : Exécute les modèles d'apprentissage automatique localement, fournissant des résultats immédiats sans dépendre des calculs côté serveur.
- Amélioration de la confidentialité : Les données sensibles sont conservées sur l'appareil de l'utilisateur, ce qui minimise les risques de sécurité.
- Permet une utilisation hors ligne : Les modèles peuvent fonctionner sans connexion Internet, ce qui garantit une fonctionnalité constante.
- Prise en charge de plusieurs backends : Offre une flexibilité avec des backends tels que CPU, WebGL, WebAssembly (WASM), et WebGPU pour des besoins de calcul variés.
Vous souhaitez en savoir plus sur TF.js ? Consultez le guide officiel TensorFlow.js.
Quelles sont les principales caractéristiques de TensorFlow.js pour le déploiement des modèles YOLO11 ?
Les principales caractéristiques de TensorFlow.js sont les suivantes :
- Prise en charge multiplateforme : TF.js peut être utilisé à la fois dans les navigateurs web et dans Node.js, ce qui offre une grande souplesse de déploiement.
- Plusieurs backends : Prise en charge de CPU, WebGL pour l'accélération de GPU , WebAssembly (WASM) et WebGPU pour les opérations avancées.
- Capacités hors ligne : Les modèles peuvent être exécutés directement dans le navigateur sans connexion internet, ce qui en fait un outil idéal pour le développement d'applications web réactives.
Pour des scénarios de déploiement et des informations plus approfondies, voir notre section sur les options de déploiement avec TensorFlow.js.
Puis-je déployer un modèle YOLO11 sur des applications Node.js côté serveur en utilisant TensorFlow.js ?
Oui, TensorFlow.js permet le déploiement de modèles YOLO11 sur des environnements Node.js. Cela permet de créer des applications d'apprentissage automatique côté serveur qui bénéficient de la puissance de traitement d'un serveur et de l'accès aux données côté serveur. Les cas d'utilisation typiques comprennent le traitement des données en temps réel et les pipelines d'apprentissage automatique sur les serveurs dorsaux.
Pour commencer à déployer Node.js, consultez le guide Run TensorFlow.js in Node.j s à l'adresse TensorFlow.