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.

In Pocket speichern vorlesen Druckansicht
Artificial,Intelligence,With,Virtual,Hanging,Head,On,Podium.,Global,World

(Bild: Andrey Suslov/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Maika Möbus

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.

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.

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)