Guide TensorFlow Lite

TensorFlow Lite est un ensemble d'outils conçus pour aider les développeurs à exécuter des modèles TensorFlow sur des appareils mobiles, intégrés et IoT. Il permet une inférence de machine learning sur l'appareil avec une faible latence et une petite taille binaire.

TensorFlow Lite comprend deux composants principaux :

  • L'interpréteur TensorFlow Lite, qui exécute des modèles spécialement optimisés sur de nombreux types de matériel, dont des téléphones mobiles, des appareils Linux intégrés et des microcontrôleurs.
  • Le convertisseur TensorFlow Lite, qui convertit les modèles TensorFlow en un format efficace utilisable par l'interpréteur. Il peut effectuer des optimisations afin d'améliorer les performances et la taille binaire.

Machine learning en périphérie

TensorFlow Lite est conçu pour faciliter le machine learning sur les appareils en périphérie du réseau, au lieu d'échanger les données avec un serveur. Pour les développeurs, exécuter le machine learning sur l'appareil peut contribuer à améliorer les éléments suivants :

  • Latence : pas d'aller-retour des données avec un serveur
  • Confidentialité : toutes les données sont conservées sur l'appareil
  • Connectivité : aucune connexion Internet n'est requise
  • Consommation d'énergie : les connexions réseau sont très énergivores

TensorFlow Lite est compatible avec une vaste gamme d'appareils, depuis les très petits microcontrôleurs jusqu'aux téléphones mobiles les plus puissants.

Premiers pas

Pour commencer à utiliser TensorFlow Lite sur des appareils mobiles, consultez la page Premiers pas. Si vous souhaitez déployer des modèles TensorFlow Lite sur des microcontrôleurs, consultez la page Microcontrôleurs.

Principales fonctionnalités

  • Interpréteur adapté au machine learning sur l'appareil, compatible avec un ensemble d'opérateurs principaux optimisés pour les applications sur l'appareil et ayant une petite taille binaire.
  • Compatibilité avec plusieurs plates-formes, dont les appareils Android et iOS, les appareils avec système d'exploitation Linux intégré et les microcontrôleurs, grâce à l'utilisation d'API de plate-forme pour une inférence accélérée.
  • API pour plusieurs langages, dont Java, Swift, Objective-C, C ++ et Python.
  • Hautes performances avec accélération matérielle sur les appareils compatibles, noyaux optimisés pour les appareils, et biais et activations pré-fusionnées.
  • Outils d'optimisation des modèles, dont la quantification, permettant de réduire la taille et d'améliorer les performances des modèles sans compromettre la justesse.
  • Format de modèle efficace, à l'aide d'un FlatBuffer optimisé pour la portabilité et pour une taille réduite.
  • Modèles pré-entraînés pour les tâches de machine learning courantes qui peuvent être personnalisées pour votre application.
  • Exemples et tutoriels illustrant le déploiement de modèles de machine learning sur les plates-formes compatibles.

Workflow de développement

Le workflow d'utilisation de TensorFlow Lite comprend les étapes suivantes :

  1. Choisir un modèle

    Utilisez votre propre modèle TensorFlow, recherchez-en un en ligne ou sélectionnez-en un parmi nos modèles pré-entraînés pour l'utiliser directement ou le réentraîner.

  2. Convertir le modèle

    Si vous utilisez un modèle personnalisé, utilisez le convertisseur TensorFlow Lite et quelques lignes de code Python pour le convertir au format TensorFlow Lite.

  3. Déployer sur votre appareil

    Exécutez votre modèle sur l'appareil à l'aide de l'interpréteur TensorFlow Lite, avec des API disponibles dans de nombreux langages.

  4. Optimiser votre modèle

    Utilisez notre Kit d'optimisation de modèles pour réduire la taille de votre modèle et accroître son efficacité, avec un impact minime sur la justesse.

Pour en savoir plus sur l'utilisation de TensorFlow Lite dans votre projet, consultez Premiers pas.

Contraintes techniques

TensorFlow Lite se propose de fournir une inférence hautes performances sur l'appareil pour tous les modèles TensorFlow. Toutefois, l'interpréteur TensorFlow Lite est actuellement compatible avec un sous-ensemble limité d'opérateurs TensorFlow qui ont été optimisés pour une utilisation sur l'appareil. Cela signifie que pour certains modèles, des étapes supplémentaires sont nécessaires pour offrir une compatibilité avec TensorFlow Lite.

Pour connaître les opérateurs disponibles, consultez Compatibilité des opérateurs.

Si votre modèle utilise des opérateurs qui ne sont pas encore compatibles avec l'interpréteur TensorFlow Lite, vous pouvez utiliser TensorFlow Select pour inclure des opérations TensorFlow dans votre build TensorFlow Lite. Cependant, cela entraînera une augmentation de la taille binaire.

Actuellement, TensorFlow Lite n'est pas compatible avec l'entraînement sur l'appareil, mais cela est prévu, au même titre que d'autres améliorations.

Étapes suivantes

Vous souhaitez en apprendre plus sur TensorFlow Lite ? Voici les prochaines étapes à suivre :