Modèles prédéfinis pour TensorFlow.js

Les modèles prédéfinis sont des modèles déjà formés dans un but spécifique. Il existe une variété de modèles open source déjà formés que vous pouvez utiliser immédiatement avec TensorFlow.js pour accomplir de nombreuses tâches d'apprentissage automatique. Cette rubrique fournit des conseils sur la manière de rechercher et de sélectionner des modèles prédéfinis pour votre cas d'utilisation.

Avantages de l'utilisation de modèles prédéfinis

TensorFlow.js propose un large éventail de modèles prédéfinis qui peuvent être utilisés immédiatement dans n'importe quel projet et vous offrent les avantages significatifs suivants :

  • Gagnez du temps et des ressources : évitez les processus fastidieux de collecte, de préparation et d'étiquetage des données, puis de formation, d'évaluation et d'amélioration du modèle. Être capable de prototyper rapidement vos idées.
  • Tirez parti de la recherche et de la documentation existantes : les recherches de pointe utilisées pour développer des modèles prédéfinis vous permettent de les déployer rapidement tout en comprenant comment ils fonctionnent dans différents scénarios du monde réel.
  • Activer l'apprentissage par transfert : les modèles prédéfinis vous permettent d'utiliser les informations apprises par un modèle pour une tâche sur un autre cas d'utilisation similaire. Ce processus d'apprentissage par transfert vous permettra de former rapidement des modèles existants sur des données personnalisées.

Trouver un modèle

La recherche d'un modèle TensorFlow.js existant pour votre cas d'utilisation dépend de ce que vous essayez d'accomplir. Par exemple, votre application doit-elle s’exécuter côté client ou côté serveur ? Quelle est l’importance de facteurs tels que la confidentialité, la rapidité et la précision ? etc.

Voici quelques méthodes recommandées pour découvrir des modèles à utiliser avec TensorFlow.js :

Par exemple : le moyen le plus rapide de rechercher et de commencer à utiliser des modèles avec TensorFlow.js consiste à parcourir la section Démos de TensorFlow.js pour trouver des démos qui effectuent une tâche similaire à votre cas d'utilisation. Ce catalogue fournit des exemples de cas d'utilisation amusants avec des liens vers le code qui vous aideront à démarrer.

Par type d'entrée de données : outre l'examen d'exemples similaires à votre cas d'utilisation, une autre façon de découvrir des modèles pour votre propre usage consiste à considérer le type de données que vous souhaitez traiter, telles que l'audio, le texte ou les images. Les modèles d'apprentissage automatique sont souvent conçus pour être utilisés avec l'un de ces types de données. Par conséquent, la recherche de modèles qui gèrent le type de données que vous souhaitez utiliser peut vous aider à affiner les modèles à prendre en compte. Vous pouvez commencer à parcourir les modèles TensorFlow.js en fonction de cas d'utilisation généraux dans la section Modèles TensorFlow.js ou parcourir un ensemble plus large de modèles sur TensorFlow Hub . Sur TensorFlow Hub, vous pouvez utiliser le filtre de domaine Problème pour afficher les types de données de modèle et affiner votre liste.

La liste suivante renvoie aux modèles TensorFlow.js sur TensorFlow Hub pour les cas d'utilisation courants :

Choisissez entre des modèles similaires

Si votre application suit un cas d'utilisation courant tel que la classification d'images ou la détection d'objets, vous pouvez trouver plusieurs modèles TensorFlow.js qui répondent à vos besoins. Une fois que vous disposez de modèles applicables à votre cas d’utilisation, vous souhaitez identifier le modèle qui fournira la meilleure solution. Pour ce faire, considérez les aspects suivants de chaque modèle :

  1. Vitesse d'inférence
  2. Taille du fichier
  3. Utilisation de la RAM d'exécution
  4. Caractéristiques/capacités du modèle

Lorsque vous décidez entre un certain nombre de modèles, vous pouvez affiner vos options en fonction d'abord de votre contrainte la plus limitante, telle que la taille du modèle, la taille des données, la vitesse d'inférence ou la précision, etc.

Si vous n'êtes pas sûr de quelle est votre contrainte la plus limitante, supposez qu'il s'agit de la taille du modèle et choisissez le plus petit modèle disponible. Choisir un petit modèle vous offre la plus grande flexibilité quant à l’endroit où vous pouvez réussir à déployer et exécuter le modèle. Les modèles plus petits produisent également généralement des inférences plus rapides, et des prédictions plus rapides créent généralement de meilleures expériences pour l'utilisateur final. Cependant , les modèles plus petits ont généralement des taux de précision inférieurs. Vous devrez donc peut-être choisir des modèles plus grands si la précision des prévisions est votre principale préoccupation.

Sources de modèles

Les modèles prédéfinis dans TensorFlow.js sont généralement disponibles sous deux formes. Les modèles officiels sont intégrés dans des classes JavaScript, ce qui les rend simples à déployer dans votre application. D'autres sont sous une forme brute qui peut nécessiter du code supplémentaire pour pré/post-traiter les données d'entrée et de sortie.

Utilisez les modèles TensorFlow.js comme première destination pour rechercher et sélectionner des modèles à utiliser avec TensorFlow.js. Ce sont les modèles officiels fournis par l'équipe TensorFlow.js qui disposent déjà des wrappers JavaScript qui facilitent l'intégration dans votre code. Le site TensorFlow Hub propose des modèles supplémentaires. Notez que les modèles du Hub peuvent être dans un format brut qui nécessite un travail supplémentaire de votre part pour leur intégration.

Modèles TensorFlow

Il est possible de convertir des modèles TensorFlow standards au format TensorFlow.js. Pour plus d'informations sur la conversion de modèles, consultez la rubrique Conversion de modèles . Vous pouvez trouver des modèles TensorFlow sur TensorFlow Hub et dans le TensorFlow Model Garden .

Lectures complémentaires

  • Maintenant que vous savez où trouver des modèles prêts à l’emploi, consultez le didacticiel natif React pour savoir comment utiliser un tel modèle dans une application Web.