Vue d'ensemble

TensorFlow 2.6, publie le 12 aout 2021, separe Keras en tant que module independant et ameliore l'integration avec l'ecosysteme TensorFlow.

Fonctionnalites principales

Keras en module separe

Keras est desormais distribue comme un package independant (keras) tout en restant accessible via tf.keras. Cette separation permet des cycles de release independants et une meilleure modularite.

python
import tensorflow as tf

# Keras reste accessible via tf.keras
model = tf.keras.Sequential([
    tf.keras.layers.Dense(128, activation='relu', input_shape=(784,)),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10, activation='softmax'),
])

model.compile(
    optimizer='adam',
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy'],
)
model.summary()

Ameliorations de l'ecosysteme

TensorFlow 2.6 ameliore le support de la serialisation des modeles, la compatibilite avec Python 3.9 et les performances du mode eager d'execution.

python
import tensorflow as tf

# Sauvegarde et chargement ameliores
model = tf.keras.Sequential([
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(1),
])
model.build(input_shape=(None, 10))

# SavedModel avec signatures
# tf.saved_model.save(model, './mon_modele')

# Mode eager ameliore
x = tf.random.normal((32, 10))
y = model(x)  # execution immediate
print(f'Sortie : {y.shape}')  # (32, 1)

Sources