Comment sauvegarder un modèle Tensorflow / Keras dans un fichier HDF ?

Published: 12 septembre 2022

Tags: Python; Tensorflow; Keras;

DMCA.com Protection Status

Exemple de comment sauvegarder un modèle Tensorflow / Keras dans un fichier HDF:

Créer un modèle avec Tensorflow

Créons et compilons un modèle avec Tensorflow

from keras.utils.data_utils import get_file
from tensorflow import keras
from tensorflow.keras import layers

model = keras.Sequential([
    layers.Dense(20, activation='relu', input_shape=[11]),
    layers.Dense(10, activation='relu'),
    layers.Dense(10, activation='relu'),
    layers.Dense(1, activation='sigmoid')
    ])

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

model.summary()

donne

Model: "sequential_1"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense_2 (Dense)             (None, 20)                240

 dense_3 (Dense)             (None, 10)                210

 dense_4 (Dense)             (None, 10)                110

 dense_5 (Dense)             (None, 1)                 11

=================================================================
Total params: 571
Trainable params: 571
Non-trainable params: 0
_________________________

Note: ici, le modèle n'a pas été entrainé avec des données.

Enregistrer le modèle dans un fichier HDF

Pour enregistrer les poids dans un fichier HDF (appelé par exemple 'model_weights.h5'), une solution consiste à utiliser tensorflow: save & load:

filename = 'model_weights.h5'

model.save(filename)

Recharger les poids d'un modèle sauvegardé

Pour recharger les poids plus tard une solution est de faire :

filename = 'model_weights.h5'

my_saved_model = keras.models.load_model(filename)

Références