save
methodModel.save(filepath, overwrite=True, zipped=None, **kwargs)
Saves a model as a .keras
file.
Arguments
str
or pathlib.Path
object.
The path where to save the model. Must end in .keras
(unless saving the model as an unzipped directory
via zipped=False
)..keras
archive (default when saving locally), or as an
unzipped directory (default when saving on the
Hugging Face Hub).Example
model = keras.Sequential(
[
keras.layers.Dense(5, input_shape=(3,)),
keras.layers.Softmax(),
],
)
model.save("model.keras")
loaded_model = keras.saving.load_model("model.keras")
x = keras.random.uniform((10, 3))
assert np.allclose(model.predict(x), loaded_model.predict(x))
Note that model.save()
is an alias for keras.saving.save_model()
.
The saved .keras
file contains:
Thus models can be reinstantiated in the exact same state.
save_model
functionkeras.saving.save_model(model, filepath, overwrite=True, zipped=None, **kwargs)
Saves a model as a .keras
file.
Arguments
str
or pathlib.Path
object. Path where to save the model..keras
archive (default when saving locally), or as an unzipped directory
(default when saving on the Hugging Face Hub).Example
model = keras.Sequential(
[
keras.layers.Dense(5, input_shape=(3,)),
keras.layers.Softmax(),
],
)
model.save("model.keras")
loaded_model = keras.saving.load_model("model.keras")
x = keras.random.uniform((10, 3))
assert np.allclose(model.predict(x), loaded_model.predict(x))
Note that model.save()
is an alias for keras.saving.save_model()
.
The saved .keras
file is a zip
archive that contains:
Thus models can be reinstantiated in the exact same state.
load_model
functionkeras.saving.load_model(filepath, custom_objects=None, compile=True, safe_mode=True)
Loads a model saved via model.save()
.
Arguments
str
or pathlib.Path
object, path to the saved model file.lambda
deserialization.
When safe_mode=False
, loading an object has the potential to
trigger arbitrary code execution. This argument is only
applicable to the Keras v3 model format. Defaults to True
.Returns
A Keras model instance. If the original model was compiled,
and the argument compile=True
is set, then the returned model
will be compiled. Otherwise, the model will be left uncompiled.
Example
model = keras.Sequential([
keras.layers.Dense(5, input_shape=(3,)),
keras.layers.Softmax()])
model.save("model.keras")
loaded_model = keras.saving.load_model("model.keras")
x = np.random.random((10, 3))
assert np.allclose(model.predict(x), loaded_model.predict(x))
Note that the model variables may have different name values
(var.name
property, e.g. "dense_1/kernel:0"
) after being reloaded.
It is recommended that you use layer attributes to
access specific variables, e.g. model.get_layer("dense_1").kernel
.