Być może natknąłeś się na TensorFlow Lite podczas przeglądania płyt programistycznych Edge AI lub projektów akceleracji AI.
TensorFlow Lite to struktura pakietów oprogramowania, która umożliwia szkolenie ML lokalnie na sprzęcie. To przetwarzanie i przetwarzanie na urządzeniu umożliwia programistom uruchamianie modeli na docelowym sprzęcie. Sprzęt obejmuje płyty rozwojowe, moduły sprzętowe, urządzenia wbudowane i IoT.
Omówienie TensorFlow Lite Framework
TensorFlow to popularny termin w głębokim uczeniu się, ponieważ wielu programistów ML używa tej struktury do różnych przypadków użycia. Zapewnia łatwość wdrożenia modele uczenia maszynowego i wnioski dotyczące aplikacji AI.
Ale TensorFlow Lite to platforma do głębokiego uczenia się do lokalnego wnioskowania, szczególnie dla sprzętu o niskiej mocy obliczeniowej. Umożliwia uczenie maszynowe na urządzeniu, pomagając programistom w uruchamianiu ich modeli na kompatybilnym sprzęcie i urządzeniach IoT.
Programista musi wybrać odpowiedni model w zależności od przypadku użycia. Struktura daje również opcję ponownego przeszkolenia istniejącego modelu w niestandardowym zestawie danych. Ponieważ model bufora protokołu TensorFlow ma duży rozmiar i wymaga zaawansowanej mocy obliczeniowej, umożliwia więc konwersję modelu TensorFlow do modelu TensorFlow Lite.
Dostosowanie parametrów optymalizacji i kwantyzacji umożliwia zmniejszenie rozmiaru modelu i opóźnienia.
Oprócz zalet TensorFlow Lite w zakresie opóźnień i rozmiaru, platforma zapewnia bezpieczeństwo danych, ponieważ szkolenie odbywa się lokalnie na urządzeniu. Ponadto nie ma potrzeby łączenia się z Internetem. Dlatego wdrażanie aplikacji nie jest ograniczone do określonych obszarów z łącznością.
Te czynniki ostatecznie zmniejszają zużycie energii przez urządzenie, eliminując współczynnik łączności i zwiększając efektywność wnioskowania głębokiego uczenia się.
Modele struktury TensorFlow Lite istnieją w formacie wieloplatformowym znanym jako FlatBuffers. Jest to biblioteka serializacji, która przechowuje dane hierarchiczne w płaskim buforze binarnym, dzięki czemu możliwy jest bezpośredni dostęp bez rozpakowywania. Możesz również zaobserwować rozszerzenie „.tflite” dla modeli TensorFlow Lite. Ta technika reprezentacji umożliwia optymalizację obliczeń i zmniejsza wymagania dotyczące pamięci. Dlatego jest znacznie lepszy niż modele TensorFlow
TinyML w TensorFlow Lite Micro
Ponieważ TensorFlow Lite jest kompatybilny z różnymi platformami dla aplikacji Edge AI, konieczna była dalsza konwergencja biblioteki. Dlatego organizacja opracowała podzbiór biblioteki TensorFlow Lite, znanej jako TensorFlow Lite Micro. TensorFlow Lite Micro w szczególności uruchamia modele uczenia maszynowego na mikrokontrolerach lokalnie przy minimalnych wymaganiach dotyczących pamięci wynoszących około kilku kilobajtów.
Rdzeń środowiska uruchomieniowego procedury integruje się z 16KB na Arm Cortex M3 i może działać na różnych modelach. Struktura nie wymaga dodatkowej obsługi systemu operacyjnego ani innych bibliotek języka wysokiego poziomu jako zależności do uruchamiania wnioskowania na urządzeniu.
Rozwój TensorFlow Lite Micro wywodzi się z C ++ 11, który wymaga 32-bitowej architektury w celu zapewnienia zgodności. Mówiąc więcej o architekturach, biblioteka działa dobrze na szerokiej gamie procesorów opartych na architekturze Arm Cortex-M Series do innych projektowanie architektur, takich jak ESP32.
Przebieg pracy dla przypadków użycia TensorFlow Lite Micro
Proces uczenia sieci neuronowej wymaga dużej mocy obliczeniowej. W ten sposób jest szkolony na generale Model TensorFlow. Jednak szkolenie jest wymagane tylko wtedy, gdy niestandardowy zestaw danych pasuje do modelu uczenia głębokiego, podczas gdy wstępnie wytrenowane modele w ramach mogą być również używane dla aplikacji.
Zakładając niestandardowy przypadek użycia z zestawem danych specyficznym dla aplikacji, użytkownik szkoli model w ogólnej strukturze TensorFlow z wysoką wydajnością przetwarzania i architekturą. Po zakończeniu szkolenia ocena modelu przy użyciu technik testowych weryfikuje dokładność i wiarygodność modelu. Ponadto po procesie następuje konwersja modelu TensorFlow do zgodnego ze sprzętem modelu TensorFlow Lite w formacie .tflite.
Format .tflite to plik z płaskim buforem, wspólny dla struktury TensorFlow Lite i kompatybilnego sprzętu. Model można ponadto wykorzystać do uczenia wnioskowania na podstawie danych w czasie rzeczywistym otrzymanych z modelu. Trening wnioskowania zoptymalizował modele pod kątem solidnych przypadków użycia. Dlatego opcja treningu wnioskowania jest kluczowa dla krawędzi Aplikacje AI.
Większość oprogramowania układowego mikrokontrolera nie obsługuje natywnego systemu plików do bezpośredniego osadzania formatu płaskiego bufora modelu TensorFlow Lite. Dlatego konieczna jest konwersja pliku .tflite do formatu struktury tablicowej, który jest zgodny z mikrokontrolerami.
Dołączenie programu do tablicy C, a następnie normalna kompilacja jest łatwą techniką takiej konwersji. Wynikowy format działa jak plik źródłowy i składa się z tablicy znaków zgodnej z mikrokontrolerami.
Urządzenia obsługujące TensorFlow Lite Micro
TensorFlow Lite nadaje się do wydajnych urządzeń, ale ma tę wadę, że procesor jest obciążony większym obciążeniem. Chociaż TensorFlow Lite Micro ma pliki o małych rozmiarach, które są podatne na niedopasowanie, optymalizując to pasuje do pamięci może znacznie poprawić wydajność w przypadku sprzętu o niskim poborze mocy i przetwarzaniu niewielkim, takim jak mikrokontrolery.
Oto lista płyt programistycznych z oficjalnej dokumentacji TensorFlow, która obsługuje TensorFlow Lite Micro:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- Zestaw Discovery STM32F746
- Adafruit EdgeBadge
- Zestaw Adafruit TensorFlow Lite dla mikrokontrolerów
- Plac zabaw Adafruit Circuit Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- Terminal Wio: ATSAMD51
- Płytka rozwojowa Himax WE-I Plus EVB Endpoint AI
TensorFlow Lite Micro jest również dostępny jako biblioteka Arduino do rozszerzonej obsługi mikrokontrolerów. Może również tworzyć projekty dla środowisk programistycznych podobnych do Mbed.
TensorFlow Lite oferuje wiele
Struktura głębokiego uczenia TensorFlow Lite otwiera możliwości dla wielu skrajnych aplikacji AI. Ponieważ framework jest open-source dla entuzjastów sztucznej inteligencji, wsparcie społeczności sprawia, że jest jeszcze bardziej popularny w przypadkach użycia uczenia maszynowego. Ogólna platforma TensorFlow Lite poprawia środowisko do rozwoju aplikacji brzegowych dla urządzeń wbudowanych i IoT
Dodatkowo istnieje wiele przykładów dla początkujących, aby pomóc im w praktycznych przypadkach użycia we frameworku. Niektóre z tych przykładów obejmują wykrywanie osób w zależności od danych zebranych przez czujnik obrazu płyty rozwojowej oraz standardowy program hello world dla wszystkich płyt deweloperskich. Przykłady obejmują również aplikacje, takie jak wykrywanie gestów i rozpoznawanie mowy dla określonych płyt deweloperskich.
Aby uzyskać więcej informacji na temat TensorFlow Lite i TensorFlow Lite Micromożesz odwiedzić oficjalną stronę dokumentacji organizacji. Istnieje wiele sekcji koncepcyjnych i samouczków dla lepszego zrozumienia struktury.
Chcesz uporać się z rozpoznawaniem obrazu? Dzięki Tensorflow i Raspberry Pi możesz zacząć od razu.
Czytaj dalej
- Technologia wyjaśniona
- Sztuczna inteligencja
- Nauczanie maszynowe
- Google TensorFlow
Zapisz się do naszego newslettera
Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Jeszcze jeden krok…!
Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.