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 savoir 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 : la convivialité, les performances, l'optimisation et la portabilité. Nous vous encourageons vivement à commenter sur notre feuille de route et nous fournir des 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, y compris les opérations aléatoires, les opérations de couche Keras de base, les tables de hachage, certaines opérations d'entraînement.
  • 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.
    • Autoriser le ciblage et l'optimisation d'accélérateurs spécifiques pendant la conversion.
  • Formation sur l'appareil
    • Prend 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)
    • Prend en charge la conversion et l'exécution de graphiques avec plusieurs points d'entrée de fonction (ou de signature).
  • 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èle.
    • Améliorez la prise en charge du profilage Android Studio, y compris le profilage de la mémoire.
  • Maquettiste
    • Prend en charge de nouvelles tâches, notamment la détection d'objets, la recommandation et la classification audio, couvrant une large gamme d'utilisations courantes.
    • Prend en charge plus d'ensembles de données pour faciliter l'apprentissage par transfert.
  • Bibliothèque de tâches
    • Prend en charge plus de types de modèles (par exemple, audio, NLP) avec des capacités de pré et post-traitement associées.
    • Mettez à jour plus d'exemples de référence avec les API de tâche.
    • Prend en charge l'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 pour 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, une 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.
    • Des outils pour mieux comprendre la compatibilité des graphes avec les accélérateurs cibles.
  • Amélioration des performances du processeur
    • XNNPack activé par défaut pour une inférence plus rapide en virgule flottante.
    • Prise en charge de la demi-précision de bout en bout (float16) avec des noyaux optimisés.
  • Prise en charge de l'API NN mise à jour
    • Prise en charge complète des nouvelles fonctionnalités, opérations et types de l'API NN de la version Android.
  • Optimisations GPU
    • Temps de démarrage amélioré avec la prise en charge de la sérialisation des délégués.
    • Interopérabilité du tampon matériel pour l'inférence sans copie.
    • Une plus grande disponibilité de l'accélération sur l'appareil.
    • Meilleure couverture opérationnelle.

Optimisation

  • Quantification

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

    • Combinez des API configurables à durée d'entraînement (élagage + entraînement prenant en compte la quantification).
    • Augmentez la répartition de l'application 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
    • Ajout de 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.
    • Interface audio : prise en charge du prétraitement et de l'accélération audio dans le graphique
    • Exemples de code et de modèles pour les données visuelles et audio.