Créer des modèles TensorFlow Lite

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

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

Créer 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 par extension d'un modèle existant.

Contraintes liées à la conception du modèle

Avant de commencer le processus de développement de votre modèle, vous devez connaître les contraintes liées aux modèles TensorFlow Lite et les garder en tête lorsque vous créez votre modèle:

  • Capacités de calcul limitées : par rapport aux serveurs entièrement équipés dotés de plusieurs processeurs, d'une grande capacité de mémoire et de processeurs spécialisés tels que des GPU et des TPU, les appareils mobiles et de périphérie sont bien plus limités. Malgré l'augmentation de la puissance de calcul et de la compatibilité matérielle spécialisée, les modèles et les données que vous pouvez traiter efficacement avec eux restent 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 du modèle, augmente sa taille en mémoire. Un grand modèle peut fonctionner trop lentement ou tout simplement ne pas tenir dans la mémoire disponible d'un appareil mobile ou de périphérie.
  • Taille des données : la taille des données d'entrée pouvant être traitées efficacement avec un modèle de machine learning est limitée sur un appareil mobile ou de périphérie. Les modèles qui utilisent des bibliothèques de données volumineuses, telles que des bibliothèques de langages, d'images ou d'extraits vidéo, peuvent ne pas convenir à ces appareils et nécessiter des solutions de stockage et d'accès hors appareil.
  • Opérations TensorFlow compatibles : les environnements d'exécution TensorFlow Lite acceptent un sous-ensemble d'opérations de modèle de machine learning par rapport aux modèles TensorFlow standards. Lorsque vous développez un modèle à utiliser avec TensorFlow Lite, vous devez suivre sa compatibilité par rapport aux capacités des environnements d'exécution TensorFlow Lite.

Pour en savoir plus sur la création de modèles hautes performances, compatibles et efficaces pour TensorFlow Lite, consultez la page Bonnes pratiques concernant les performances.

Développement du modèle

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

Workflow de compilation TFLite

TensorFlow propose deux méthodes pour y parvenir. Vous pouvez développer votre propre code de modèle personnalisé ou commencer avec une mise en œuvre de modèle disponible dans le jardin de modèles TensorFlow.

Model Garden

TensorFlow Model Garden fournit des implémentations de nombreux modèles de machine learning (ML) de pointe pour la vision et le traitement du langage naturel (TLN). Vous trouverez également des outils de workflow vous permettant de configurer et d'exécuter rapidement ces modèles sur des ensembles de données standards. Les modèles de machine learning de Model Garden incluent du code complet afin que vous puissiez les tester, les entraîner ou les réentraîner à 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 d'études récentes 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 ne correspond pas à ceux pris en charge par les modèles dans Model Garden, vous pouvez utiliser une bibliothèque de haut niveau telle que Keras pour développer votre code d'entraînement personnalisé. Pour découvrir les principes de base de TensorFlow, consultez le guide TensorFlow. Pour commencer à utiliser des exemples, consultez la présentation des tutoriels TensorFlow, qui contient des liens vers les tutoriels de niveau Expert, depuis un début.

É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 propose plusieurs méthodes pour y parvenir.

  • TensorBoard est un outil permettant de fournir les mesures et les visualisations nécessaires au workflow de machine learning. Il permet de suivre les métriques de test telles que la perte et la justesse, de visualiser le graphique du modèle, de projeter des représentations vectorielles continues dans un espace de dimension inférieure, et bien plus encore.
  • Des outils d'analyse comparative sont disponibles pour chaque plate-forme compatible, comme l'application de benchmark Android et l'application de benchmark iOS. Utilisez-les pour mesurer et calculer les statistiques des métriques de performances importantes.

Optimisation du modèle

Compte tenu des contraintes appliquées aux ressources spécifiques aux modèles TensorFlow Lite, l'optimisation des modèles peut vous aider à garantir les performances de votre modèle tout en utilisant moins de ressources de calcul. Les performances des modèles de machine learning correspondent généralement à un équilibre entre la taille et la vitesse d'inférence, et la justesse. TensorFlow Lite est actuellement compatible avec l'optimisation via la quantification, l'élagage et le clustering. Pour en savoir plus sur ces techniques, consultez la rubrique Optimisation du modèle. TensorFlow fournit également un kit d'optimisation de modèles qui fournit une API pour implémenter ces techniques.

Étapes suivantes