Machine Learning: TensorFlow 2.12 wird ein neues Keras-Speicherformat einfĂĽhren
Der aktuelle Release Candidate bringt ein neues Speicherformat fĂĽr Keras-Modelle sowie einen neuen Namespace und entfernt redundante Pakete.

(Bild: Andrey Suslov/Shutterstock.com)
Googles quelloffenes Machine-Learning-Framework TensorFlow zeigt in Release Candidate 1 für Version 2.12, welche Neuerungen anstehen. Sie betreffen vor allem die zugehörige Python-API Keras, aber auch die APIs tf.lite
und tf.data
. Als Breaking Change entfallen tensorflow-gpu
und tf-nightly-gpu
zugunsten gleichwertiger Packages.
Neues Speicherformat fĂĽr Keras-Modelle
Im Release Candidate lässt sich das neue Keras-Modell-Speicherformat .keras mittels model.save(f"{fname}.keras", save_format="keras_v3")
verwenden. Zukünftig soll es zum Standard für alle Dateien mit der Dateiendung .keras werden. Das neue Speicherformat hat einzig die Python-Runtime zum Ziel und ermöglicht das Neuladen von Python-Objekten, die mit den gespeicherten Originalen identisch sind.
Es kann zudem mit nicht-numerischem State wie Vokabulardateien und Lookup-Tabellen umgehen und ist standardmäßig sicher. Wegen letzterem Aspekt sind Python-Lambdas zur Ladezeit untersagt. Wer Lambdas verwenden möchte, muss safe_mode=False
an die Loading-Methode ĂĽbergeben, was Entwicklerinnen und Entwickler laut dem TensorFlow-Team allerdings nur dann tun sollten, wenn sie der Quelle des Modells vertrauen.
Abwärtsinkompatible Neuerungen
Zu den Breaking Changes in TensorFlow 2.12 RC1 zählt das Entfernen der redundanten Packages tensorflow-gpu
und tf-nightly-gpu
. Das TensorFlow-Team hat sie durch Packages ersetzt, die Nutzerinnen und Nutzer zu tensorflow
beziehungsweise tf-nightly
führen. Die Begründung liegt darin, dass sich die zwei Sets von Packages lediglich durch ihren Namen unterschieden hätten, sodass diese Änderung keinen Funktionsverlust bedeutet. Auf der Website des Python Package Index (PyPI) finden Interessierte weitere Informationen dazu.
Auch in tf.function
und tf.keras
finden sich abwärtsinkompatible Neuerungen. Daneben hat das TensorFlow-Team zwei experimentelle APIs entfernt:
tf.config.experimental.enable_mlir_graph_optimization
tf.config.experimental.disable_mlir_graph_optimization
TensorFlow 2.12 RC1 ist nach dem vor wenigen Wochen erschienenen RC0 bereits der zweite Release Candidate fĂĽr die anstehende Version. Das aktuelle Minor Release TensorFlow 2.11 liegt seit November 2022 vor und stabilisierte unter anderem die Keras-Optimizer-API.
Weitere Details zu Release Candidate 1 bieten die Release Notes auf GitHub.
(mai)