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)