TensorFlow Lite

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

Kluczowe cechy

  • Zoptymalizowany pod kątem uczenia maszynowego na urządzeniu , rozwiązując 5 kluczowych ograniczeń: opóźnienie (nie ma powrotu do serwera), prywatność (żadne dane osobowe nie opuszczają urządzenia), łączność (łączność z Internetem nie jest wymagana), rozmiar (zredukowany model i rozmiar binarny) i zużycie energii (efektywne wnioskowanie i brak połączeń sieciowych).
  • Obsługa wielu platform , obejmująca urządzenia z systemem Android i iOS , wbudowany system Linux i mikrokontrolery .
  • Obsługa różnych języków , w tym Java, Swift, Objective-C, C ++ i Python.
  • Wysoka wydajność z akceleracją sprzętową i optymalizacją modelu .
  • Kompleksowe przykłady do 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 deweloperskiej

Poniższy przewodnik prowadzi przez 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 przenośnym formacie 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 (bezpośredni dostęp do danych bez dodatkowego etapu analizowania / rozpakowywania), co umożliwia TensorFlow Lite wydajne wykonywanie na urządzeniach o ograniczonych zasobach obliczeniowych i pamięci .

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

Model TensorFlow Lite można wygenerować 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ą, ale nie muszą, zawierać metadane.

  • 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 przekształcić model TensorFlow w model TensorFlow Lite. Podczas konwersji można zastosować optymalizacje, takie jak kwantyzacja, w celu zmniejszenia rozmiaru modelu i opóźnienia 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 tworzenia prognoz na podstawie danych wejściowych. Wnioskowanie można uruchamiać w następujący sposób 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żesz użyć delegata GPU , na Androidzie możesz użyć delegata NNAPI (dla nowszych urządzeń) lub delegata sześciokąta (na starszych urządzeniach), a na iOS możesz użyć delegata Core ML . Aby dodać obsługę nowych akceleratorów sprzętowych, możesz zdefiniować własnego pełnomocnika .

Zaczynaj

Możesz zapoznać się z następującymi przewodnikami w zależności od urządzenia docelowego:

Ograniczenia techniczne

  • Wszystkich modeli TensorFlow nie można przekształcić w modele TensorFlow Lite , patrz Zgodność operatora .

  • Nieobsługiwane szkolenie na urządzeniu , jednak znajduje się ono w naszej mapie drogowej .