Créer des modèles TensorFlow Lite

Cette page fournit des conseils pour créer vos modèles TensorFlow dans le but de les convertir au format de modèle TensorFlow Lite. Les modèles de machine learning (ML) que vous utilisez avec TensorFlow Lite sont créés et entraînés à l'origine à l'aide des bibliothèques et des outils principaux de TensorFlow. Une fois que vous avez créé un modèle avec le noyau TensorFlow, vous pouvez le convertir en un format de modèle ML plus petit et plus efficace appelé modèle TensorFlow Lite.

  • Si vous avez déjà un modèle à convertir, consultez la page de présentation de la conversion des modèles pour obtenir des conseils sur la conversion de votre modèle.

  • Si vous souhaitez modifier un modèle existant au lieu de partir de zéro, consultez la vue d'ensemble de la modification des modèles pour obtenir des conseils.

Construire votre modèle

Si vous créez un modèle personnalisé pour votre cas d'utilisation spécifique, vous devez commencer par développer et entraîner un modèle TensorFlow ou étendre un modèle existant.

Contraintes de conception du modèle

Avant de commencer le processus de développement de votre modèle, vous devez connaître les contraintes des modèles TensorFlow Lite et créer votre modèle en gardant ces contraintes à l'esprit :

  • Capacités de calcul limitées - Par rapport aux serveurs entièrement équipés avec plusieurs processeurs, une capacité de mémoire élevée et des processeurs spécialisés tels que les GPU et les TPU, les appareils mobiles et périphériques sont beaucoup plus limités. Alors qu'ils gagnent en puissance de calcul et en compatibilité matérielle spécialisée, les modèles et les données que vous pouvez traiter efficacement avec eux sont encore relativement limités.
  • Taille des modèles - La complexité globale d'un modèle, y compris la logique de prétraitement des données et le nombre de couches dans le modèle, augmente la taille en mémoire d'un modèle. Un grand modèle peut fonctionner d'une lenteur inacceptable ou tout simplement ne pas tenir dans la mémoire disponible d'un appareil mobile ou périphérique.
  • Taille des données - La taille des données d'entrée qui peuvent être traitées efficacement avec un modèle d'apprentissage automatique est limitée sur un appareil mobile ou périphérique. Les modèles qui utilisent de grandes bibliothèques de données telles que des bibliothèques de langues, des bibliothèques d'images ou des bibliothèques de clips vidéo peuvent ne pas tenir sur ces appareils et peuvent nécessiter des solutions de stockage et d'accès hors appareil.
  • Opérations TensorFlow prises en charge - Les environnements d'exécution TensorFlow Lite prennent en charge un sous-ensemble d'opérations de modèle d'apprentissage automatique par rapport aux modèles TensorFlow classiques. Lorsque vous développez un modèle à utiliser avec TensorFlow Lite, vous devez suivre la compatibilité de votre modèle par rapport aux fonctionnalités des environnements d'exécution TensorFlow Lite.

Pour plus d'informations sur la création de modèles efficaces, compatibles et hautes performances pour TensorFlow Lite, consultez Meilleures pratiques en matière de performances .

Développement d'un modèle

Pour créer un modèle TensorFlow Lite, vous devez d'abord créer un modèle à l'aide des bibliothèques principales de TensorFlow. Les bibliothèques principales de TensorFlow sont les bibliothèques de niveau inférieur qui fournissent des API pour créer, former et déployer des modèles ML.

Workflow de construction TFLite

TensorFlow fournit deux chemins pour ce faire. Vous pouvez développer votre propre code de modèle personnalisé ou commencer avec une implémentation de modèle disponible dans TensorFlow Model Garden .

Jardin modèle

Le TensorFlow Model Garden fournit des implémentations de nombreux modèles d'apprentissage automatique (ML) de pointe pour la vision et le traitement du langage naturel (NLP). Vous trouverez également des outils de workflow pour vous permettre de configurer et d'exécuter rapidement ces modèles sur des ensembles de données standard. Les modèles d'apprentissage automatique dans Model Garden incluent un code complet afin que vous puissiez les tester, les former ou les recycler à l'aide de vos propres ensembles de données.

Que vous cherchiez à comparer les performances d'un modèle bien connu, à vérifier les résultats de recherches récemment publiées ou à étendre des modèles existants, Model Garden peut vous aider à atteindre vos objectifs de ML.

Modèles personnalisés

Si votre cas d'utilisation est en dehors de ceux pris en charge par les modèles dans Model Garden, vous pouvez utiliser une bibliothèque de haut niveau comme Keras pour développer votre code de formation personnalisé. Pour découvrir les principes de base de TensorFlow, consultez le guide TensorFlow . Pour commencer avec des exemples, consultez la présentation des didacticiels TensorFlow qui contient des pointeurs vers des didacticiels de niveau débutant à expert.

Évaluation du modèle

Une fois que vous avez développé votre modèle, vous devez évaluer ses performances et le tester sur les appareils des utilisateurs finaux. TensorFlow fournit plusieurs façons de procéder.

  • TensorBoard est un outil permettant de fournir les mesures et les visualisations nécessaires au cours du flux de travail d'apprentissage automatique. Il permet de suivre les métriques d'expérience telles que la perte et la précision, de visualiser le graphique du modèle, de projeter les plongements dans un espace dimensionnel inférieur, et bien plus encore.
  • Des outils d'analyse comparative sont disponibles pour chaque plate-forme prise en charge, telles que l'application de référence Android et l'application de référence iOS. Utilisez ces outils pour mesurer et calculer des statistiques pour des indicateurs de performance importants.

Optimisation du modèle

Avec les contraintes sur les ressources spécifiques aux modèles TensorFlow Lite, l'optimisation des modèles peut aider à garantir les bonnes performances de votre modèle et à utiliser moins de ressources de calcul. Les performances des modèles d'apprentissage automatique sont généralement un équilibre entre la taille et la vitesse d'inférence et la précision. TensorFlow Lite prend actuellement en charge l'optimisation via la quantification, l'élagage et le clustering. Voir la rubrique Optimisation du modèle pour plus de détails sur ces techniques. TensorFlow fournit également une boîte à outils d'optimisation de modèle qui fournit une API qui implémente ces techniques.

Prochaines étapes