Omówienie konwersji modelu

Modele systemów uczących się używane z LiteRT to modele które zostały stworzone i wytrenowane z wykorzystaniem podstawowych bibliotek i narzędzi TensorFlow. Po utworzeniu modelu z rdzeniem TensorFlow, możesz przekonwertować go na mniejszy, wydajny format modeli ML nazywany modelem LiteRT. Ta sekcja zawiera wskazówki dotyczące konwersji z modeli TensorFlow do formatu modelu LiteRT.

Proces konwersji

Konwersja modeli TensorFlow na format LiteRT może potrwać kilka ścieżek w zależności od zawartości modelu ML. Pierwszym krokiem w tym procesie musisz ocenić model, aby określić, czy można go bezpośrednio przekonwertować. Ta ocena określa, czy treść modelu jest obsługiwana przez standardowe środowiska wykonawcze LiteRT oparte na operacjach TensorFlow i używanych danych. Jeśli model używa operacji spoza obsługiwanego zbioru, refaktoryzacji modelu lub zastosowania zaawansowanych technik konwersji.

Poniższy diagram przedstawia ogólne kroki konwersji modelu.

Proces konwersji TFLite

Rysunek 1. Proces konwersji LiteRT.

W poniższych sekcjach przedstawiamy proces oceny i konwersji modeli do użycia z LiteRT.

Formaty modelu wejściowego

Konwertera możesz używać w tych formatach modeli wejściowych:

Zarówno Keras, jak i konkretne modele funkcji możesz zapisać jako SavedModel i wykonać konwersję za pomocą zalecanej ścieżki.

Jeśli masz model Jax, możesz użyć parametru TFLiteConverter.experimental_from_jax za pomocą interfejsu API, aby przekonwertować go na format LiteRT. Pamiętaj, że ten interfejs API podlega aby zmienić w trybie eksperymentalnym.

Ocena konwersji

Ocena modelu to ważny krok przed próbą jego przekonwertowania. Przy ocenie chcesz określić, czy zawartość modelu jest zgodna z Format LiteRT. Sprawdź też, czy dany model do wykorzystania na urządzeniach mobilnych i urządzeniach brzegowych pod względem rozmiaru danych wykorzystywanych przez model, wymagań sprzętowych dotyczących procesora, a także ogólny rozmiar i jego złożoność.

W przypadku wielu modeli konwerter powinien działać od razu. Pamiętaj jednak: Wbudowana biblioteka operatorów LiteRT obsługuje podzbiór Podstawowe operatory TensorFlow, co oznacza, że niektóre modele mogą wymagać dodatkowych kroków przed konwersją na LiteRT. Ponadto niektóre operacje obsługiwane przez LiteRT mają wymagania dotyczące ograniczonego użycia ze względu na wydajność. Zobacz przewodnik po zgodności operatorów aby ustalić, czy model wymaga refaktoryzacji na potrzeby konwersji.

Konwersja modelu

Konwerter LiteRT pobiera model TensorFlow i generuje Model LiteRT (zoptymalizowany FlatBuffer wykrywany przez .tflite). Możesz wczytać SavedModel lub bezpośrednio przekonwertować model utworzony w kodzie.

Wykonujący konwersje mają 3 główne flagi (lub opcje), które dostosowują konwersję dla swojego modelu:

  1. Flagi zgodności umożliwiają określanie czy konwersja powinna zezwalać na operatory niestandardowe.
  2. Flagi optymalizacji umożliwiają: określ typ optymalizacji do zastosowania podczas konwersji. Najczęściej wykorzystywana metoda optymalizacji kwantyfikację po szkoleniu.
  3. Flagi metadanych umożliwiają dodawanie metadanych do przekonwertowanego modelu co ułatwia tworzenie kodu opakowań na poziomie platformy podczas wdrażania modeli urządzeń.

Możesz przekonwertować model za pomocą interfejsu Python API lub użyj narzędzia Wiersz poleceń. Zobacz Przewodnik po konwertowaniu modelu TF krok po kroku jak uruchomić konwerter w swoim modelu.

Zwykle trzeba przekonwertować model na standardową wersję LiteRT środowisko wykonawczego lub Środowisko wykonawcze Usług Google Play dla LiteRT (beta). Niektóre zaawansowane przypadki użycia wymagają dostosowania środowiska wykonawczego modelu, co wymaga dodatkowych czynności w proces konwersji. Zobacz sekcję zaawansowane środowisko wykonawcze w Androidzie. .

Konwersja zaawansowana

Jeśli wystąpią błędy podczas uruchamiania konwertera w modelu . Nie wszystkie operacje TensorFlow są wspierane przez TensorFlow Uproszczona. Aby obejść te problemy, możesz dokonać refaktoryzacji modelu lub użyć zaawansowane opcje konwersji, które umożliwiają tworzenie zmodyfikowanych wersji LiteRT. oraz niestandardowe środowisko wykonawcze dla tego modelu.

  • Zobacz Omówienie zgodności modeli. więcej informacji o zgodności modeli TensorFlow i LiteRT zalety i wady dostępnych metodologii.
  • Tematy w sekcji Omówienie zgodności modelu obejmują zaawansowane techniki refaktoryzacji modelu, na przykład operatorów wyboru; Google.
  • Pełną listę operacji i ograniczeń znajdziesz w artykule Strona operacji LiteRT.

Dalsze kroki