Feuille de route TensorFlow Lite

Mise à jour : mai 2021

Ce qui suit représente un aperçu de haut niveau de notre feuille de route. Vous devez être conscient que cette feuille de route peut changer à tout moment et que l'ordre ci-dessous ne reflète aucun type de priorité.

Nous divisons notre feuille de route en quatre segments clés : convivialité, performances, optimisation et portabilité. Nous vous encourageons fortement à commenter notre feuille de route et à nous faire part de vos commentaires dans le groupe de discussion TensorFlow Lite .

Convivialité

  • Couverture opérationnelle étendue
    • Ajoutez des opérations ciblées en fonction des commentaires des utilisateurs.
    • Ajoutez des ensembles d'opérations ciblés pour des domaines et des zones spécifiques, notamment les opérations aléatoires, les opérations de couche Keras de base, les tables de hachage et certaines opérations de formation.
  • Plus d'outils d'assistance
    • Fournissez des annotations graphiques TensorFlow et des outils de compatibilité pour valider la compatibilité de TFLite et de l'accélérateur matériel pendant la formation et après la conversion.
    • Autorisez le ciblage et l'optimisation d'accélérateurs spécifiques lors de la conversion.
  • Formation sur appareil
    • Prenez en charge la formation sur l'appareil pour la personnalisation et l'apprentissage par transfert, y compris un Colab démontrant l'utilisation de bout en bout.
    • Prise en charge des types de variables/ressources (à la fois pour l'inférence et la formation)
    • Prise en charge de la conversion et de l'exécution de graphiques avec plusieurs points d'entrée de fonctions (ou de signatures).
  • Intégration améliorée d'Android Studio
    • Faites glisser et déposez les modèles TFLite dans Android Studio pour générer des interfaces de modèles.
    • Améliorez la prise en charge du profilage Android Studio, y compris le profilage de la mémoire.
  • Maquettiste
    • Prend en charge des tâches plus récentes, notamment la détection d'objets, la recommandation et la classification audio, couvrant un large éventail d'utilisations courantes.
    • Prend en charge davantage d'ensembles de données pour faciliter l'apprentissage par transfert.
  • Bibliothèque de tâches
    • Prend en charge davantage de types de modèles (par exemple audio, NLP) avec les capacités de pré et post-traitement associées.
    • Mettez à jour davantage d'exemples de référence avec les API de tâches.
    • Prise en charge d'une accélération prête à l'emploi pour toutes les tâches.
  • Plus de modèles et d'exemples SOTA
    • Ajoutez plus d'exemples (par exemple audio, NLP, liés aux données de structure) pour démontrer l'utilisation du modèle ainsi que les nouvelles fonctionnalités et API, couvrant différentes plates-formes.
    • Créez des modèles de backbone partageables sur l'appareil afin de réduire les coûts de formation et de déploiement.
  • Déploiement transparent sur plusieurs plates-formes
    • Exécutez des modèles TensorFlow Lite sur le Web.
  • Prise en charge multiplateforme améliorée
    • Étendez et améliorez les API pour Java sur Android, Swift sur iOS, Python sur RPi.
    • Améliorer la prise en charge de CMake (par exemple, prise en charge plus large des accélérateurs).
  • Meilleur support frontal
    • Améliorez la compatibilité avec diverses interfaces de création, notamment Keras, tf.numpy.

Performance

  • Un meilleur outillage
    • Tableau de bord public pour suivre les gains de performances à chaque version.
    • Outils pour mieux comprendre la compatibilité des graphiques avec les accélérateurs cibles.
  • Performances améliorées du processeur
    • XNNPack activé par défaut pour une inférence en virgule flottante plus rapide.
    • Prise en charge de bout en bout de la demi-précision (float16) avec des noyaux optimisés.
  • Prise en charge de l'API NN mise à jour
    • Prise en charge complète des fonctionnalités, opérations et types de l'API NN de la version Android la plus récente.
  • Optimisations du GPU
    • Temps de démarrage amélioré grâce à la prise en charge de la sérialisation des délégués.
    • Interopérabilité du tampon matériel pour une inférence sans copie.
    • Disponibilité plus large de l’accélération sur l’appareil.
    • Meilleure couverture opérationnelle.

Optimisation

  • Quantification

    • Quantification sélective post-formation pour exclure certaines couches de la quantification.
    • Débogueur de quantification pour inspecter les pertes d’erreurs de quantification pour chaque couche.
    • Appliquer une formation prenant en compte la quantification sur une plus grande couverture de modèle, par exemple TensorFlow Model Garden.
    • Améliorations de la qualité et des performances pour la quantification de la plage dynamique post-entraînement.
    • API de compression Tensor pour permettre des algorithmes de compression tels que SVD.
  • Taille / parcimonie

    • Combinez des API de temps de formation configurables (élagage + formation prenant en compte la quantification).
    • Augmentez l'application de parité sur les modèles TF Model Garden.
    • Prise en charge de l'exécution de modèles clairsemés dans TensorFlow Lite.

Portabilité

  • Prise en charge des microcontrôleurs
    • Ajoutez la prise en charge d'une gamme de cas d'utilisation d'architecture MCU 32 bits pour la classification de la parole et des images.
    • Frontend audio : prise en charge du prétraitement audio et de l'accélération dans le graphique
    • Exemples de code et de modèles pour les données visuelles et audio.