save
methodModel.save(filepath, overwrite=True, **kwargs)
Saves a model as a .keras
file.
Arguments
str
or pathlib.Path
object. Path where to save
the model. Must end in .keras
.save_format
argument is deprecated in Keras 3.
Format to use, as a string. Only the "keras"
format is
supported at this time.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, **kwargs)
Saves a model as a .keras
file.
Arguments
str
or pathlib.Path
object. Path where to save the model.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.
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
.