Tworzenie modeli TensorFlow Lite

Na tej stronie znajdziesz wskazówki dotyczące tworzenia modeli TensorFlow z myślą o konwersji na format TensorFlow Lite. Modele systemów uczących się (ML), których używasz w TensorFlow Lite, są pierwotnie tworzone i trenowane przy użyciu podstawowych bibliotek i narzędzi TensorFlow. Gdy utworzysz model z rdzeniem TensorFlow, możesz go przekonwertować na mniejszy i bardziej wydajny format ML nazywany TensorFlow Lite.

Jeśli masz już model do przekonwertowania, zapoznaj się ze wskazówkami na temat konwertowania modelu na stronie Omówienie konwertowania modeli.

Tworzenie modelu

Jeśli tworzysz model niestandardowy do konkretnego przypadku użycia, zacznij od opracowania i trenowania modelu TensorFlow lub rozszerzenia już istniejącego.

Ograniczenia projektu modelu

Zanim zaczniesz tworzyć model, zapoznaj się z ograniczeniami, jakie występują w przypadku modeli TensorFlow Lite, i twórz je, biorąc pod uwagę te ograniczenia:

  • Ograniczone możliwości obliczeniowe – w porównaniu z w pełni wyposażonymi serwerami z wieloma procesorami, dużą ilością pamięci i wyspecjalizowanymi procesorami, takimi jak GPU i TPU, urządzenia mobilne i na brzegowe mają dużo mniejszy zakres. Choć moc obliczeniowa i specjalna zgodność sprzętu rosną, to modele i dane, które możesz za ich pomocą skutecznie przetwarzać, nadal są znacznie ograniczone.
  • Rozmiar modeli – ogólna złożoność modelu, w tym logika wstępnego przetwarzania danych i liczba warstw w modelu, zwiększa rozmiar pamięci modelu. Duży model może działać wyjątkowo wolno lub po prostu nie mieścić się w dostępnej pamięci urządzenia mobilnego lub brzegowego.
  • Rozmiar danych – na urządzeniu mobilnym lub urządzeniu brzegowym rozmiar danych wejściowych, które mogą być skutecznie przetworzone za pomocą modelu systemów uczących się, jest ograniczony. Modele korzystające z dużych bibliotek danych, takich jak biblioteki językowe, biblioteki obrazów czy biblioteki klipów wideo, mogą się nie mieścić na tych urządzeniach i wymagać rozwiązań z zakresu dostępu oraz miejsca na dane poza urządzeniem.
  • Obsługiwane operacje TensorFlow – środowiska wykonawcze TensorFlow Lite obsługują podzbiór operacji modeli systemów uczących się w porównaniu do zwykłych modeli TensorFlow. Tworząc model do użytku z TensorFlow Lite, musisz śledzić jego zgodność z możliwościami środowisk wykonawczych TensorFlow Lite.

Więcej informacji o tworzeniu skutecznych, zgodnych modeli o wysokiej wydajności dla TensorFlow Lite znajdziesz w artykule o sprawdzonych metodach dotyczących wydajności.

Opracowywanie modeli

Aby zbudować model TensorFlow Lite, musisz najpierw zbudować go za pomocą podstawowych bibliotek TensorFlow. Podstawowe biblioteki TensorFlow to biblioteki niższego poziomu, które udostępniają interfejsy API do tworzenia, trenowania i wdrażania modeli ML.

Przepływ pracy kompilacji TFLite

W TensorFlow można to zrobić na 2 sposoby. Możesz utworzyć własny niestandardowy kod modelu lub zacząć od implementacji modelu dostępnej w ogrodzie modeli TensorFlow.

Baza modeli

Ogród modeli TensorFlow udostępnia wiele najnowocześniejszych modeli systemów uczących się do rozpoznawania i przetwarzania języka naturalnego (NLP). Dostępne są też narzędzia do obsługi przepływu pracy, które pozwolą Ci szybko konfigurować i uruchamiać te modele w standardowych zbiorach danych. Modele systemów uczących się w ogrodzie modeli zawierają pełny kod, dzięki czemu możesz je testować, wytrenować lub ponownie wytrenować z wykorzystaniem własnych zbiorów danych.

Niezależnie od tego, czy chcesz porównać wydajność dobrze znanego modelu, zweryfikować wyniki niedawno opublikowanych badań czy rozszerzyć dotychczasowe modele, Park modeli pomoże Ci osiągnąć cele związane z systemami uczącymi się.

Modele niestandardowe

Jeśli Twój przypadek użycia wykracza poza możliwości obsługiwane przez modele w bazie modeli, do opracowania niestandardowego kodu trenowania możesz użyć biblioteki wysokiego poziomu, np. Keras. Informacje o podstawach działania TensorFlow znajdziesz w przewodniku po TensorFlow. Zacznij od przykładów w omówieniu samouczków na temat TensorFlow, które zawierają wskaźniki do samouczków dla ekspertów.

Ocena modelu

Po opracowaniu modelu należy ocenić jego wydajność i przetestować go na urządzeniach użytkowników. TensorFlow udostępnia na to kilka sposobów.

  • TensorBoard to narzędzie dostarczające pomiary i wizualizacje potrzebne w procesie systemów uczących się. Umożliwia śledzenie wskaźników eksperymentu, takich jak straty i dokładność, wizualizowanie wykresu modelu, rzutowanie wektorów dystrybucyjnych na niższe wymiary.
  • Dla każdej obsługiwanej platformy, np. aplikacji testów porównawczych na Androida i aplikacji do testów porównawczych na iOS, dostępne są narzędzia do analizy porównawczej. Korzystając z tych narzędzi, możesz mierzyć i obliczać ważne dane o skuteczności.

Optymalizacja modelu

Dzięki ograniczeniom dotyczącym zasobów specyficznych dla modeli TensorFlow Lite optymalizacja modeli może pomóc zapewnić dobrą wydajność modelu i ograniczyć wykorzystanie zasobów obliczeniowych. Wydajność modelu systemów uczących się to zwykle równowaga między rozmiarem, szybkością wnioskowania a dokładnością. TensorFlow Lite obsługuje obecnie optymalizację przez kwantyzację, przycinanie i grupowanie. Więcej informacji o tych metodach znajdziesz w temacie o optymalizacji modelu. TensorFlow udostępnia też narzędzie do optymalizacji modeli, które udostępnia interfejs API implementujący te metody.

Dalsze kroki