Machine Learning: TensorFlow 2.8 soll Funktionen von TensorFlow Lite erweitern

Der erste Release Candidate für Version 2.8 gibt einen Ausblick auf umfangreiche Änderungen – inklusive Breaking Changes für die zugehörige Python-API Keras.

In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen

(Bild: sdecoret/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Maika Möbus

Das Machine-Learning-Framework TensorFlow hat den ersten Release Candidate für Version 2.8 erhalten. Das Minor Release soll größere Änderungen enthalten, die verschiedene Komponenten wie das Keras-Backend oder TensorFlow Lite (TF Lite) betreffen. Für den Einsatz auf Windows Subsystem for Linux 2 (WSL 2) gilt TensorFlow nun als validiert.

Das in TensorFlow enthaltene Open-Source-Framework TensorFlow Lite eignet sich zur Inferenz auf mobilen und IoT-Geräten. Es lässt sich mit einigen TensorFlow-Operationen (Ops) nutzen, jedoch nicht mit allen. In TensorFlow 2.8 soll TensorFlow Lite eine integrierte Unterstützung für fünf weitere Ops erhalten, darunter tf.where für die Datentypen tf.int32/ tf.uint32/ tf.int8/ tf.uint8/ tf.int64 sowie die Operation tf.raw_ops.Bucketize auf einer CPU.

Zudem zeigt der Release Candidate, dass TensorFlow Lite die Möglichkeit zur GPU-Delegation zum Serialisieren der Java-API erhalten soll. Die Initialisierungszeit soll sich dadurch um bis zu 90 Prozent verringern, wenn OpenCL (Open Computing Language) zum Einsatz kommt. Auch gilt nun Interpreter::SetNumThreads zugunsten von InterpreterBuilder::SetNumThreads als veraltet (deprecated).

TensorFlow 2.8 soll eine Vielzahl an Neuerungen für die Python-API tf.keras bringen, die seit Version 2.3 das alleinige Backend darstellt. So erhält sie die zusätzlichen Modi standardize und split für TextVectorization: standardize="lower" verwandelt den Input in Kleinbuchstaben, standardize="string_punctuation" entfernt alle Satzzeichen und split="character" sorgt für eine Teilung bei jedem Unicode-Zeichen.

Als mögliche abwärtsinkompatible Neuerung führt der Release Candidate tf.random.Generator für Keras-Initialisierer und sämtlichen Zufallszahlengenerator-Code ein. tf.random.Generator soll künftig das neue Backend für alle Zufallszahlengeneratoren (Random Number Generators, RNG) in Keras darstellen, ab TensorFlow 2.8 soll der Codepfad standardmäßig aktiviert sein – ein potenzieller User-seitiger Breaking Change. Drei neue APIs sollen die Verwendung von tf.random.Generator aktivieren/deaktivieren/überprüfen und bieten die Möglichkeit, zum Legacy-Verhalten (Stateful Random Ops) zurückzukehren. Ab TensorFlow 2.10 sollen sowohl der Legacy-Codepfad als auch diese drei APIs entfallen.

Weitere Details zum ersten Release Candidate für TensorFlow 2.8 lassen sich dem Changelog auf GitHub entnehmen.

(mai)