Questions fréquentes

Si vous ne trouvez pas de réponse à votre question ici, veuillez consulter notre documentation détaillée sur le sujet ou déposer un problème GitHub .

Conversion de modèle

Quels formats sont pris en charge pour la conversion de TensorFlow vers TensorFlow Lite ?

Les formats pris en charge sont répertoriés ici

Pourquoi certaines opérations ne sont-elles pas implémentées dans TensorFlow Lite ?

Afin de conserver la légèreté de TFLite, seuls certains opérateurs TF (répertoriés dans la liste blanche ) sont pris en charge dans TFLite.

Pourquoi mon modèle ne se convertit-il pas ?

Étant donné que le nombre d'opérations TensorFlow Lite est inférieur à celui de TensorFlow, certains modèles peuvent ne pas pouvoir effectuer de conversion. Certaines erreurs courantes sont répertoriées ici .

Pour les problèmes de conversion non liés à des opérations manquantes ou à des opérations de flux de contrôle, recherchez nos problèmes GitHub ou déposez-en un nouveau .

Comment puis-je tester qu'un modèle TensorFlow Lite se comporte de la même manière que le modèle TensorFlow d'origine ?

La meilleure façon de tester est de comparer les sorties des modèles TensorFlow et TensorFlow Lite pour les mêmes entrées (données de test ou entrées aléatoires), comme indiqué ici .

Comment déterminer les entrées/sorties du tampon du protocole GraphDef ?

Le moyen le plus simple d'inspecter un graphique à partir d'un fichier .pb consiste à utiliser Netron , une visionneuse open source pour les modèles d'apprentissage automatique.

Si Netron ne parvient pas à ouvrir le graphique, vous pouvez essayer l'outil summary_graph .

Si l'outil summary_graph génère une erreur, vous pouvez visualiser le GraphDef avec TensorBoard et rechercher les entrées et sorties dans le graphique. Pour visualiser un fichier .pb , utilisez le script import_pb_to_tensorboard.py comme ci-dessous :

python import_pb_to_tensorboard.py --model_dir <model path> --log_dir <log dir path>

Comment inspecter un fichier .tflite ?

Netron est le moyen le plus simple de visualiser un modèle TensorFlow Lite.

Si Netron ne parvient pas à ouvrir votre modèle TensorFlow Lite, vous pouvez essayer le script visualize.py dans notre référentiel.

Si vous utilisez TF 2.5 ou une version ultérieure

python -m tensorflow.lite.tools.visualize model.tflite visualized_model.html

Sinon, vous pouvez exécuter ce script avec Bazel

bazel run //tensorflow/lite/tools:visualize model.tflite visualized_model.html

Optimisation

Comment puis-je réduire la taille de mon modèle TensorFlow Lite converti ?

La quantification post-entraînement peut être utilisée lors de la conversion vers TensorFlow Lite pour réduire la taille du modèle. La quantification post-entraînement quantifie les poids avec une précision de 8 bits à partir de la virgule flottante et les déquantifie pendant l'exécution pour effectuer des calculs en virgule flottante. Notez cependant que cela pourrait avoir des implications en matière de précision.

Si le recyclage du modèle est une option, envisagez une formation prenant en compte la quantification . Cependant, notez que la formation prenant en compte la quantification n'est disponible que pour un sous-ensemble d'architectures de réseaux neuronaux convolutifs.

Pour une compréhension plus approfondie des différentes méthodes d'optimisation, consultez Optimisation du modèle .

Comment optimiser les performances de TensorFlow Lite pour ma tâche de machine learning ?

Le processus de haut niveau permettant d'optimiser les performances de TensorFlow Lite ressemble à ceci :

  • Assurez-vous que vous disposez du bon modèle pour la tâche. Pour la classification des images, consultez le TensorFlow Hub .
  • Ajustez le nombre de threads. De nombreux opérateurs TensorFlow Lite prennent en charge les noyaux multithread. Vous pouvez utiliser SetNumThreads() dans l' API C++ pour ce faire. Cependant, l’augmentation du nombre de threads entraîne une variabilité des performances en fonction de l’environnement.
  • Utilisez des accélérateurs matériels. TensorFlow Lite prend en charge l'accélération de modèles pour du matériel spécifique à l'aide de délégués. Consultez notre guide des délégués pour plus d’informations sur les accélérateurs pris en charge et comment les utiliser avec votre modèle sur l’appareil.
  • Modèle de profil (avancé). L' outil d'analyse comparative Tensorflow Lite dispose d'un profileur intégré qui peut afficher des statistiques par opérateur. Si vous savez comment optimiser les performances d'un opérateur pour votre plate-forme spécifique, vous pouvez implémenter un opérateur personnalisé .

Pour une discussion plus approfondie sur la façon d’optimiser les performances, consultez Best Practices .