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.
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.
TensorFlow Lite lernt dazu
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).
Neuerungen und Breaking Changes fĂĽr Keras
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)