Save/Load models using HDF5 files

save_model_hdf5(object, filepath, overwrite = TRUE, include_optimizer = TRUE)

load_model_hdf5(filepath, custom_objects = NULL, compile = TRUE)



Model object to save


File path


Overwrite existing file if necessary


If TRUE, save optimizer's state.


Mapping class names (or function names) of custom (non-Keras) objects to class/functions (for example, custom metrics or custom loss functions).


Whether to compile the model after loading.


The following components of the model are saved:

  • The model architecture, allowing to re-instantiate the model.

  • The model weights.

  • The state of the optimizer, allowing to resume training exactly where you left off. This allows you to save the entirety of the state of a model in a single file.

Saved models can be reinstantiated via load_model_hdf5(). The model returned by load_model_hdf5() is a compiled model ready to be used (unless the saved model was never compiled in the first place or compile = FALSE is specified).

As an alternative to providing the custom_objects argument, you can execute the definition and persistence of your model using the with_custom_object_scope() function.


The serialize_model() function enables saving Keras models to R objects that can be persisted across R sessions.

See also