Mapa drogowa TensorFlow Lite

Zaktualizowano: maj 2021

Poniżej przedstawiamy ogólny przegląd naszej mapy drogowej. Należy pamiętać, że ten plan działania może ulec zmianie w dowolnym momencie, a poniższa kolejność nie odzwierciedla żadnego rodzaju priorytetu.

Dzielimy naszą mapę drogową na cztery kluczowe segmenty: użyteczność, wydajność, optymalizacja i przenośność. Gorąco zachęcamy do komentowania naszego harmonogramu i przedstawić nam swoją opinię na grupie dyskusyjnej TensorFlow Lite .

Użyteczność

  • Rozszerzony zasięg operacji
    • Dodaj ukierunkowane operacje na podstawie opinii użytkowników.
    • Dodaj ukierunkowane zestawy operacji dla określonych domen i obszarów, w tym operacje losowe, podstawowe operacje warstwy Keras, tabele mieszające, wybrane operacje szkoleniowe.
  • Więcej narzędzi pomocniczych
    • Zapewnij adnotacje wykresów TensorFlow i narzędzia zgodności, aby sprawdzić zgodność TFLite i akceleratora sprzętowego podczas szkolenia i po konwersji.
    • Zezwalaj na kierowanie i optymalizację pod kątem określonych akceleratorów podczas konwersji.
  • Szkolenie na urządzeniu
    • Wspieraj szkolenia na urządzeniu dotyczące personalizacji i transferu, w tym Colab demonstrujący kompleksowe użytkowanie.
    • Obsługa typów zmiennych/zasobów (zarówno na potrzeby wnioskowania, jak i szkolenia)
    • Obsługa konwersji i wykonywania wykresów z wieloma punktami wejścia funkcji (lub sygnatury).
  • Ulepszona integracja z Android Studio
    • Przeciągnij i upuść modele TFLite do Android Studio, aby wygenerować interfejsy modeli.
    • Popraw obsługę profilowania Android Studio, w tym profilowania pamięci.
  • Modelarz
    • Obsługuj nowsze zadania, w tym wykrywanie obiektów, rekomendacje i klasyfikację dźwięku, obejmując szeroki zbiór typowych zastosowań.
    • Obsługuj więcej zestawów danych, aby ułatwić uczenie się transferu.
  • Biblioteka zadań
    • Obsługa większej liczby typów modeli (np. audio, NLP) z powiązanymi możliwościami przetwarzania wstępnego i końcowego.
    • Zaktualizuj więcej przykładów referencyjnych za pomocą interfejsów API zadań.
    • Wspieraj gotową akcelerację dla wszystkich zadań.
  • Więcej modeli i przykładów SOTA
    • Dodaj więcej przykładów (np. audio, NLP, związane z danymi strukturalnymi), aby zademonstrować użycie modelu, a także nowe funkcje i interfejsy API, obejmujące różne platformy.
    • Twórz udostępniane modele szkieletów dla urządzeń, aby zmniejszyć koszty szkolenia i wdrażania.
  • Bezproblemowe wdrażanie na wielu platformach
    • Uruchom modele TensorFlow Lite w Internecie.
  • Ulepszona obsługa wielu platform
    • Rozszerz i ulepsz interfejsy API dla Javy na Androida, Swift na iOS, Pythona na RPi.
    • Ulepsz obsługę CMake (np. szerszą obsługę akceleratorów).
  • Lepsze wsparcie frontendowe
    • Popraw kompatybilność z różnymi frontendami autorskimi, w tym Keras, tf.numpy.

Wydajność

  • Lepsze oprzyrządowanie
    • Publiczny pulpit nawigacyjny do śledzenia wzrostu wydajności w każdym wydaniu.
    • Narzędzia do lepszego zrozumienia zgodności wykresów z akceleratorami docelowymi.
  • Poprawiona wydajność procesora
    • XNNPack jest domyślnie włączony, aby przyspieszyć wnioskowanie zmiennoprzecinkowe.
    • Pełna obsługa połowicznej precyzji (float16) ze zoptymalizowanymi jądrami.
  • Zaktualizowana obsługa interfejsu API NN
    • Pełna obsługa funkcji, operacji i typów interfejsu API NN w nowszej wersji systemu Android.
  • Optymalizacje GPU
    • Skrócony czas uruchamiania dzięki obsłudze serializacji delegatów.
    • Współdziałanie bufora sprzętowego dla wnioskowania z zerową kopią.
    • Szersza dostępność akceleracji na urządzeniu.
    • Lepszy zasięg operacji.

Optymalizacja

  • Kwantyzacja

    • Selektywna kwantyzacja po treningu, aby wykluczyć pewne warstwy z kwantyzacji.
    • Debuger kwantyzacji do kontroli strat błędów kwantyzacji w każdej warstwie.
    • Stosowanie szkolenia uwzględniającego kwantyzację na większym pokryciu modelu, np. TensorFlow Model Garden.
    • Poprawa jakości i wydajności dla kwantyzacji zakresu dynamicznego po treningu.
    • Tensor Compression API umożliwiający algorytmy kompresji, takie jak SVD.
  • Przycinanie / rzadkość

    • Połącz konfigurowalne interfejsy API czasu szkolenia (przycinanie + szkolenie uwzględniające kwantyzację).
    • Zwiększenie równomierności aplikacji w modelach TF Model Garden.
    • Rzadkie wsparcie wykonania modelu w TensorFlow Lite.

Ruchliwość

  • Obsługa mikrokontrolera
    • Dodaj obsługę szeregu 32-bitowych przypadków użycia architektury MCU do klasyfikacji mowy i obrazu.
    • Audio Frontend: obsługa wstępnego przetwarzania i akceleracji dźwięku na wykresie
    • Przykładowy kod i modele danych wizyjnych i dźwiękowych.