Zbuduj modele TensorFlow Lite

Ta strona zawiera wskazówki dotyczące tworzenia modeli TensorFlow z zamiarem konwersji do formatu modelu TensorFlow Lite. Modele uczenia maszynowego (ML), których używasz z TensorFlow Lite, zostały pierwotnie zbudowane i przeszkolone przy użyciu podstawowych bibliotek i narzędzi TensorFlow. Po zbudowaniu modelu z rdzeniem TensorFlow można go przekonwertować na mniejszy, bardziej wydajny format modelu ML, zwany modelem TensorFlow Lite.

  • Jeśli masz już model do przekonwertowania, zobacz stronę Przegląd Konwertuj modele , aby uzyskać wskazówki dotyczące konwertowania modelu.

  • Jeśli chcesz zmodyfikować istniejący model zamiast zaczynać od zera, zapoznaj się z omówieniem Modyfikuj modele, aby uzyskać wskazówki.

Budowanie modelu

Jeśli budujesz niestandardowy model dla konkretnego przypadku użycia, powinieneś zacząć od opracowania i szkolenia modelu TensorFlow lub rozszerzenia istniejącego.

Ograniczenia projektowe modelu

Przed rozpoczęciem procesu opracowywania modelu należy zdawać sobie sprawę z ograniczeń modeli TensorFlow Lite i budować swój model, mając na uwadze te ograniczenia:

  • Ograniczone możliwości obliczeniowe — w porównaniu z w pełni wyposażonymi serwerami z wieloma procesorami, dużą pojemnością pamięci i wyspecjalizowanymi procesorami, takimi jak GPU i TPU, urządzenia mobilne i brzegowe są znacznie bardziej ograniczone. Mimo że ich moc obliczeniowa i specjalistyczna kompatybilność sprzętowa rosną, modele i dane, które można z nimi efektywnie przetwarzać, są nadal porównywalnie ograniczone.
  • Rozmiar modeli — ogólna złożoność modelu, w tym logika wstępnego przetwarzania danych i liczba warstw w modelu, zwiększa rozmiar modelu w pamięci. Duży model może działać niedopuszczalnie wolno lub po prostu nie mieścić się w dostępnej pamięci urządzenia mobilnego lub urządzenia brzegowego.
  • Rozmiar danych — rozmiar danych wejściowych, które można skutecznie przetwarzać za pomocą modelu uczenia maszynowego, jest ograniczony na urządzeniu mobilnym lub urządzeniu brzegowym. Modele korzystające z dużych bibliotek danych, takich jak biblioteki językowe, biblioteki obrazów lub biblioteki klipów wideo, mogą nie pasować do tych urządzeń i mogą wymagać rozwiązań do przechowywania i dostępu poza urządzeniem.
  • Obsługiwane operacje TensorFlow — środowiska wykonawcze TensorFlow Lite obsługują podzbiór operacji modelu uczenia maszynowego w porównaniu ze zwykłymi modelami TensorFlow. Podczas opracowywania modelu do użytku z TensorFlow Lite należy śledzić zgodność modelu z możliwościami środowisk wykonawczych TensorFlow Lite.

Aby uzyskać więcej informacji o tworzeniu efektywnych, zgodnych i wydajnych modeli dla TensorFlow Lite, zobacz Najlepsze praktyki dotyczące wydajności .

Rozwój modelu

Aby zbudować model TensorFlow Lite, najpierw musisz zbudować model przy użyciu podstawowych bibliotek TensorFlow. Podstawowe biblioteki TensorFlow to biblioteki niższego poziomu, które zapewniają interfejsy API do tworzenia, trenowania i wdrażania modeli ML.

Przepływ pracy w kompilacji TFLite

TensorFlow udostępnia do tego dwie ścieżki. Możesz stworzyć swój własny kod modelu lub zacząć od implementacji modelu dostępnej w TensorFlow Model Garden .

Modelowy Ogród

TensorFlow Model Garden zapewnia implementacje wielu najnowocześniejszych modeli uczenia maszynowego (ML) do przetwarzania wizji i języka naturalnego (NLP). Znajdziesz tu również narzędzia przepływu pracy, które pozwolą Ci szybko skonfigurować i uruchomić te modele na standardowych zestawach danych. Modele uczenia maszynowego w Model Garden zawierają pełny kod, dzięki czemu można je testować, trenować lub ponownie trenować przy użyciu własnych zestawów danych.

Niezależnie od tego, czy chcesz porównać wydajność znanego modelu, zweryfikować wyniki niedawno opublikowanych badań, czy rozszerzyć istniejące modele, Model Garden może pomóc w osiągnięciu celów ML.

Modele niestandardowe

Jeśli Twój przypadek użycia wykracza poza te obsługiwane przez modele w Model Garden, możesz użyć biblioteki wysokiego poziomu, takiej jak Keras , do opracowania niestandardowego kodu szkoleniowego. Aby poznać podstawy TensorFlow, zapoznaj się z przewodnikiem TensorFlow . Aby rozpocząć pracę z przykładami, zapoznaj się z omówieniem samouczków TensorFlow , które zawierają wskazówki do samouczków na poziomie eksperckim.

Ocena modelu

Po opracowaniu modelu należy ocenić jego wydajność i przetestować na urządzeniach użytkownika końcowego. TensorFlow udostępnia kilka sposobów, aby to zrobić.

  • TensorBoard to narzędzie do dostarczania pomiarów i wizualizacji potrzebnych podczas przepływu pracy uczenia maszynowego. Umożliwia śledzenie metryk eksperymentu, takich jak strata i dokładność, wizualizacja wykresu modelu, rzutowanie osadzeń na niższą przestrzeń wymiarową i wiele więcej.
  • Narzędzia do analizy porównawczej są dostępne dla każdej obsługiwanej platformy, takiej jak aplikacja testowa systemu Android i aplikacja testowa systemu iOS. Użyj tych narzędzi do mierzenia i obliczania statystyk ważnych wskaźników wydajności.

Optymalizacja modelu

Ze względu na ograniczenia dotyczące zasobów charakterystyczne dla modeli TensorFlow Lite optymalizacja modelu może pomóc zapewnić dobrą wydajność modelu i zużywać mniej zasobów obliczeniowych. Wydajność modelu uczenia maszynowego jest zwykle równowagą między rozmiarem i szybkością wnioskowania a dokładnością. TensorFlow Lite obsługuje obecnie optymalizację poprzez kwantyzację, przycinanie i klastrowanie. Więcej informacji na temat tych technik można znaleźć w temacie dotyczącym optymalizacji modelu . TensorFlow udostępnia również zestaw narzędzi do optymalizacji modelu , który zapewnia interfejs API, który implementuje te techniki.

Następne kroki