TensorFlow Lite

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

TensorFlow Lite to zestaw narzędzi, które umożliwiają uczenie maszynowe na urządzeniu, pomagając programistom uruchamiać ich modele na urządzeniach mobilnych, wbudowanych i brzegowych.

Kluczowe cechy

  • Zoptymalizowany pod kątem uczenia maszynowego na urządzeniu , rozwiązując 5 kluczowych ograniczeń: opóźnienie (nie ma możliwości podróży w obie strony na serwer), prywatność (żadne dane osobowe nie opuszczają urządzenia), łączność (łączność internetowa nie jest wymagana), rozmiar (model zredukowany i rozmiar binarny) i pobór mocy (efektywne wnioskowanie i brak połączeń sieciowych).
  • Obsługa wielu platform , obejmująca urządzenia z systemem Android i iOS , wbudowany Linux i mikrokontrolery .
  • Obsługa różnych języków , w tym Java, Swift, Objective-C, C++ i Python.
  • Wysoka wydajność dzięki akceleracji sprzętowej i optymalizacji modelu .
  • Kompleksowe przykłady dla typowych zadań uczenia maszynowego, takich jak klasyfikacja obrazów, wykrywanie obiektów, szacowanie pozycji, odpowiadanie na pytania, klasyfikacja tekstu itp. na wielu platformach.

Przepływ pracy w programowaniu

Poniższy przewodnik przedstawia każdy etap przepływu pracy i zawiera łącza do dalszych instrukcji:

1. Wygeneruj model TensorFlow Lite

Model TensorFlow Lite jest reprezentowany w specjalnym, wydajnym formacie przenośnym znanym jako FlatBuffers (identyfikowany przez rozszerzenie pliku .tflite ). Zapewnia to kilka zalet w porównaniu z formatem modelu bufora protokołu TensorFlow, takich jak zmniejszony rozmiar (mały ślad kodu) i szybsze wnioskowanie (dostęp do danych jest bezpośrednio dostępny bez dodatkowego etapu analizowania/rozpakowywania), co umożliwia wydajne działanie TensorFlow Lite na urządzeniach z ograniczonymi zasobami obliczeniowymi i pamięciowymi .

Model TensorFlow Lite może opcjonalnie zawierać metadane , które zawierają czytelny dla człowieka opis modelu i dane do odczytu maszynowego do automatycznego generowania potoków przetwarzania wstępnego i końcowego podczas wnioskowania na urządzeniu. Więcej informacji można znaleźć w sekcji Dodawanie metadanych .

Możesz wygenerować model TensorFlow Lite w następujący sposób:

  • Użyj istniejącego modelu TensorFlow Lite: Zapoznaj się z przykładami TensorFlow Lite , aby wybrać istniejący model. Modele mogą zawierać metadane lub nie.

  • Utwórz model TensorFlow Lite: Użyj narzędzia TensorFlow Lite Model Maker , aby utworzyć model z własnym niestandardowym zestawem danych. Domyślnie wszystkie modele zawierają metadane.

  • Konwertuj model TensorFlow na model TensorFlow Lite: Użyj konwertera TensorFlow Lite , aby przekonwertować model TensorFlow na model TensorFlow Lite. Podczas konwersji można zastosować optymalizacje , takie jak kwantyzacja , aby zmniejszyć rozmiar modelu i opóźnienie przy minimalnej lub zerowej utracie dokładności. Domyślnie wszystkie modele nie zawierają metadanych.

2. Uruchom wnioskowanie

Wnioskowanie odnosi się do procesu wykonywania modelu TensorFlow Lite na urządzeniu w celu dokonywania prognoz na podstawie danych wejściowych. Wnioskowanie można uruchomić na następujące sposoby w zależności od typu modelu:

Na urządzeniach z Androidem i iOS możesz poprawić wydajność, używając akceleracji sprzętowej. Na obu platformach można użyć delegata GPU , w systemie Android można użyć delegata NNAPI (w przypadku nowszych urządzeń) lub delegata sześciokątnego (na starszych urządzeniach), a w systemie iOS można użyć delegata Core ML . Aby dodać obsługę nowych akceleratorów sprzętowych, możesz zdefiniować własnego delegata .

Zaczynaj

Możesz zapoznać się z następującymi przewodnikami opartymi na urządzeniu docelowym:

  • Android i iOS: zapoznaj się z krótkim wprowadzeniem na Androida i iOS .

  • Wbudowany system Linux: zapoznaj się z krótkim wprowadzeniem do języka Python dla urządzeń wbudowanych, takich jak urządzenia Raspberry Pi i Coral z Edge TPU , lub instrukcje kompilacji C++ dla ARM .

  • Mikrokontrolery: poznaj bibliotekę TensorFlow Lite for Microcontrollers dla mikrokontrolerów i procesorów DSP, które zawierają tylko kilka kilobajtów pamięci.

Ograniczenia techniczne