Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Waga grupowanie

Utrzymywane przez ARM ML Tooling

Niniejszy dokument zawiera przegląd na wadze klastrów, które pomogą Ci określić, jak to pasuje do Twojego przypadku użycia.

Przegląd

Grupowanie lub dzielenie masy ciała, redukuje liczbę unikalnych wartości masy w modelu, co prowadzi do korzyści dla wdrożenia. To pierwsze grupy wagi każdej warstwy w N klastrów, a następnie dzieli ciężkości wartość klastra dla wszystkich wag należące do klastra.

Technika ta przynosi poprawę poprzez kompresję modelu. wsparcie ramy przyszłość może odblokować ulepszeń zużycie pamięci, które mogą uczynić istotną różnicę dla wdrożenia głębokich modele uczenia się na systemach wbudowanych z ograniczonymi zasobami.

Mamy eksperymentował z całej grupowania zadań widzenia i mowy. Widzieliśmy do 5x ulepszeń w kompresji model z minimalnym utraty dokładności, o czym świadczą wyniki przedstawiono poniżej.

Należy pamiętać, że klastry zapewni obniżonych świadczeń dla splotu i gęstych warstw, które poprzedzają warstwę normalizacji partii, jak również w połączeniu z per-osi potreningowej kwantyzacji.

API zgodność matrycy

Użytkownicy mogą zastosować klastrów z następujących interfejsów API:

  • Budynek Model: tf.keras z tylko sekwencyjną i modeli funkcjonalnych
  • TensorFlow wersje: TF 1.x dla wersji 1.14+ i 2.x.
    • tf.compat.v1 z pakietem TF 2.x oraz tf.compat.v2 z pakietem 1.x TF nie są obsługiwane.
  • Tryb realizacji TensorFlow: zarówno wykres i chętnie

wyniki

Klasyfikacja obraz

Model Oryginalny skupione
Top-1 Dokładność (%) Wielkość skompresowanego .tflite (MB) Konfiguracja # Klastrów Top-1 Dokładność (%) Wielkość skompresowanego .tflite (MB)
MobileNetV1 71,02 14,96
Selektywne (ostatnia 3 warstwy Conv2D) 256 256 32 70,62 8.42
Full (wszystkie warstwy Conv2D) 64 66,07 2.98
MobileNetV2 72,29 12,90
Selektywne (ostatnia 3 warstwy Conv2D) 256 256 32 72,31 7.00
Full (wszystkie warstwy Conv2D) 32 69,33 2,60

Modele zostały przeszkolone i testowany na IMAGEnet.

word spotting

Model Oryginalny skupione
Top-1 Dokładność (%) Wielkość skompresowanego .tflite (MB) Konfiguracja # Klastrów Top-1 Dokładność (%) Wielkość skompresowanego .tflite (MB)
DS-CNN-L 95,03 1.5 Pełny 32 94,71 0.3

Modele zostały przeszkolone i testowany na SpeechCommands v0.02.

  1. Serializacji modelu Keras do .h5 pliku
  2. Przekonwertować plik .h5 do .tflite wykorzystaniem TFLiteConverter.from_keras_model_file()
  3. Skompresować plik .tflite pod zamkiem

Przykłady

W uzupełnieniu do grupowania Waga w przykładzie Keras , zobacz następujące przykłady:

  • Klaster wagi modelu CNN przeszkolony na MNIST odręcznym klasyfikacji cyfra zbiorze: kod

Realizacja waga grupowanie opiera się na głębokim Kompresja: Kompresja Głębokie Neural Networks Z odcinaniem, Przeszkolony kwantyzacji i kodowania Huffmana papier . Patrz rozdział 3, zatytułowany Wyszkolony kwantyzacji i waga Udostępnianie.