Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

TensorFlow Lite- und TensorFlow-Bedienerkompatibilität

TensorFlow Lite unterstützt eine Reihe von TensorFlow-Operationen, die in gängigen Inferenzmodellen verwendet werden. Während sie vom TensorFlow Lite Optimizing Converter verarbeitet werden, können diese Vorgänge entfernt oder zusammengeführt werden, bevor die unterstützten Vorgänge ihren TensorFlow Lite-Gegenstücken zugeordnet werden.

Da die in TensorFlow Lite integrierte Operatorbibliothek nur eine begrenzte Anzahl von TensorFlow-Operatoren unterstützt, ist nicht jedes Modell konvertierbar. Selbst für unterstützte Vorgänge werden aus Leistungsgründen manchmal sehr spezifische Verwendungsmuster erwartet. Wir gehen davon aus, dass wir die Anzahl der unterstützten Vorgänge in zukünftigen TensorFlow Lite-Versionen erweitern werden.

Der beste Weg, um zu verstehen, wie ein TensorFlow-Modell erstellt wird, das mit TensorFlow Lite verwendet werden kann, besteht darin, sorgfältig zu überlegen, wie Vorgänge konvertiert und optimiert werden, sowie die durch diesen Prozess auferlegten Einschränkungen.

Unterstützte Typen

Die meisten TensorFlow Lite-Operationen zielen sowohl auf Gleitkomma-Inferenzen ( float32 ) als auch auf quantisierte Inferenzen ( uint8 , int8 ) ab, aber viele Operationen funktionieren noch nicht für andere Typen wie tf.float16 und Strings.

Abgesehen von der Verwendung unterschiedlicher Versionen der Operationen besteht der andere Unterschied zwischen Gleitkomma- und quantisierten Modellen in der Art und Weise, wie sie konvertiert werden. Die quantisierte Umwandlung erfordert Informationen zum Dynamikbereich für Tensoren. Dies erfordert eine "Fake-Quantisierung" während des Modelltrainings, das Abrufen von Entfernungsinformationen über einen Kalibrierungsdatensatz oder eine "on-the-fly" -Bereichsschätzung. Siehe Quantisierung .

Unterstützte Operationen und Einschränkungen

TensorFlow Lite unterstützt eine Teilmenge von TensorFlow-Vorgängen mit einigen Einschränkungen. Eine vollständige Liste der Vorgänge und Einschränkungen finden Sie auf der Seite TF Lite Ops .

Einfache Konvertierungen, konstantes Falten und Verschmelzen

Eine Reihe von TensorFlow-Vorgängen kann von TensorFlow Lite verarbeitet werden, obwohl sie kein direktes Äquivalent haben. Dies ist der Fall bei Operationen, die einfach aus dem Diagramm entfernt werden können ( tf.identity ), durch Tensoren ersetzt werden ( tf.placeholder ) oder zu komplexeren Operationen verschmolzen werden können ( tf.nn.bias_add ). Sogar einige unterstützte Vorgänge können manchmal durch einen dieser Prozesse entfernt werden.

Hier ist eine nicht vollständige Liste der TensorFlow-Operationen, die normalerweise aus dem Diagramm entfernt werden:

Experimentelle Operationen

Die folgenden TensorFlow Lite-Vorgänge sind vorhanden, jedoch nicht für benutzerdefinierte Modelle bereit:

  • CALL
  • CONCAT_EMBEDDINGS
  • CUSTOM
  • EMBEDDING_LOOKUP_SPARSE
  • HASHTABLE_LOOKUP
  • LSH_PROJECTION
  • SKIP_GRAM
  • SVDF