TensorFlow Lite

TensorFlow Lite to zestaw narzędzi, które umożliwiają działanie systemów uczących się na urządzeniu, ułatwiając programistom uruchamianie ich modeli na urządzeniach mobilnych, osadzonych i na brzegu sieci.

Najważniejsze funkcje

  • Zoptymalizowana pod kątem systemów uczących się na urządzeniu, która wyeliminuje 5 głównych ograniczeń: opóźnienie (brak transferu danych w obie strony), prywatność (dane osobowe nie opuszczają urządzenia), łączność (połączenie z internetem nie jest wymagane), rozmiar (mniejszy model i rozmiar binarny) oraz zużycie energii (efektywne wnioskowanie i brak połączeń sieciowych).
  • Obsługa wielu platform, w tym urządzeń z Androidem i iOS, umieszczonym systemem Linux i mikrokontrolerów.
  • Obsługa różnych języków – takich jak Java, Swift, Objective-C, C++ i Python.
  • Wysoka wydajność, akceleracja sprzętowa i optymalizacja modelu.

Proces programowania

Ten przewodnik zawiera omówienie każdego etapu przepływu pracy oraz linki do dalszych instrukcji:

1. Generowanie modelu TensorFlow Lite

Model TensorFlow Lite jest reprezentowany w specjalnym, wydajnym, przenośnym formacie o nazwie FlatBuffers (identyfikowanym przez rozszerzenie pliku .tflite). Ma to kilka zalet w porównaniu z formatem modelu bufora protokołu TensorFlow, na przykład mniejszy rozmiar (mały ślad kodu) i szybsze wnioskowanie (dostęp bezpośrednio do danych bez dodatkowego etapu analizowania czy rozpakowywania), dzięki czemu TensorFlow Lite może wydajnie wykonywać zadania na urządzeniach z ograniczonymi zasobami obliczeniowymi i pamięci.

Model TensorFlow Lite może opcjonalnie zawierać metadane zawierające zrozumiały dla człowieka opis modelu i dane czytelne dla komputera, co pozwala na automatyczne generowanie potoków przed i po przetwarzaniu podczas wnioskowania na urządzeniu. Więcej informacji znajdziesz w artykule Dodawanie metadanych.

Model TensorFlow Lite możesz wygenerować na te sposoby:

  • 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.

  • Konwertowanie modelu TensorFlow na TensorFlow Lite: za pomocą TensorFlow Lite Converter do skonwertowania modelu TensorFlow na TensorFlow Lite. Podczas konwersji możesz zastosować optymalizacje, np. kwantyzację, aby zmniejszyć rozmiar modelu i opóźnienia przy minimalnej lub zerowej utracie dokładności. Domyślnie wszystkie modele nie zawierają metadanych.

2. Uruchom wnioskowanie

Wnioskowanie oznacza proces wykonywania na urządzeniu modelu TensorFlow Lite w celu generowania prognoz na podstawie danych wejściowych. W zależności od typu modelu wnioskowanie można przeprowadzać w następujący sposób:

Na urządzeniach z Androidem i iOS możesz poprawić wydajność, korzystając z akceleracji sprzętowej. Na obu platformach możesz użyć delegata do procesora GPU, a na iOS – delegata do podstawowych systemów uczących się. Aby dodać obsługę nowych akceleratorów sprzętowych, możesz zdefiniować własnego przedstawiciela.

Rozpocznij

W zależności od urządzenia docelowego możesz skorzystać z tych przewodników:

Ograniczenia techniczne

  • Żadnych modeli TensorFlow nie można skonwertować na modele TensorFlow Lite (patrz Zgodność operatorów).