Save/Load model weights using HDF5 files
Save/Load model weights using HDF5 files
save_model_weights_hdf5(object, filepath, overwrite = TRUE)
load_model_weights_hdf5(object, filepath, by_name = FALSE,
skip_mismatch = FALSE, reshape = FALSE)
Arguments
object | Model object to save/load |
filepath | Path to the file |
overwrite | Whether to silently overwrite any existing file at the target location |
by_name | Whether to load weights by name or by topological order. |
skip_mismatch | Logical, whether to skip loading of layers
where there is a mismatch in the number of weights, or a mismatch in the
shape of the weight (only valid when |
reshape | Reshape weights to fit the layer when the correct number of values are present but the shape does not match. |
Details
The weight file has:
layer_names
(attribute), a list of strings (ordered names of model layers).For every layer, a
group
namedlayer.name
For every such layer group, a group attribute
weight_names
, a list of strings (ordered names of weights tensor of the layer).For every weight in the layer, a dataset storing the weight value, named after the weight tensor.
For load_model_weights()
, if by_name
is FALSE
(default) weights are
loaded based on the network's topology, meaning the architecture should be
the same as when the weights were saved. Note that layers that don't have
weights are not taken into account in the topological ordering, so adding
or removing layers is fine as long as they don't have weights.
If by_name
is TRUE
, weights are loaded into layers only if they share
the same name. This is useful for fine-tuning or transfer-learning models
where some of the layers have changed.
See also
Other model persistence: get_weights
,
model_to_json
, model_to_yaml
,
save_model_hdf5
,
serialize_model