Convertisseur TensorFlow Lite

Le convertisseur TensorFlow Lite génère un fichier FlatBuffer TensorFlow Lite (.tflite) à partir d'un modèle TensorFlow. Il est compatible avec les répertoires SavedModel, les modèles tf.keras et les fonctions concrètes.

Nouveautés de la version TF 2.2

Utilisation par défaut d'un nouveau backend de conversion dans les builds automatiques et dans la version stable TF 2.2. Nous avons opté pour ce changement pour plusieurs raisons :

  • Permettre la conversion de nouvelles classes de modèles, y compris Mask R-CNN, Mobile BERT et bien d'autres
  • Activer la compatibilité avec le flux de contrôle fonctionnel (activé par défaut dans TensorFlow 2.x)
  • Effectuer le suivi du code Python et du nom de nœud TensorFlow d'origine, et les exposer lors de la conversion si des erreurs se produisent
  • Tirer parti de MLIR, la technologie de compilation de pointe de Google pour le machine learning qui permet une extension plus facile afin de prendre en compte les demandes de fonctionnalités
  • Rendre compatibles les modèles avec Tensors d'entrée contenant des dimensions inconnues
  • Compatibilité avec toutes les fonctionnalités existantes du convertisseur

Si vous rencontrez des problèmes :

  • Veuillez signaler un problème GitHub avec le libellé de composant "TFLiteConvertor". Veuillez inclure les informations suivantes :
    • Commande utilisée pour exécuter le convertisseur ou le code si vous utilisez l'API Python
    • Résultat de l'appel du convertisseur
    • Modèle d'entrée du convertisseur
    • Si la conversion réussit, mais que le modèle généré est incorrect, indiquez ce qui ne va pas :
      • Les résultats générés sont incorrects et/ou la justesse est moindre
      • Les résultats générés sont corrects, mais le modèle est plus lent que prévu (modèle généré à partir de l'ancien convertisseur)
  • Si vous utilisez la fonctionnalité allow_custom_ops, consultez la documentation concernant l'API Python et à l'outil de ligne de commande
  • Basculez vers l'ancien convertisseur en définissant --experimental_new_converter=false (à partir de l'outil de ligne de commande tflite_convert) ou converter.experimental_new_converter=False (à partir de l'API Python)

Déploiement sur l'appareil

Le fichier FlatBuffer TensorFlow Lite est ensuite déployé sur un appareil client (un appareil mobile ou intégré, par exemple) et exécuté en local à l'aide de l'interpréteur TensorFlow Lite. Ce processus de conversion est illustré dans le diagramme ci-dessous :

Workflow de conversion TFLite

Convertir des modèles

Le convertisseur TensorFlow Lite doit être utilisé à partir de l'API Python. L'utilisation de l'API Python facilite la conversion de modèles dans le cadre d'un pipeline de développement de modèles et permet de réduire les problèmes de compatibilité dès le début. Quant à l'outil de ligne de commande, il accepte les modèles de base.