'Dumps all layer weights to a HDF5 file.
The weight file has:
- `layer_names` (attribute), a list of strings
(ordered names of model layers).
- For every layer, a `group` named `layer.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.
# Arguments
filepath: String, path to the file to save the weights to.
overwrite: Whether to silently overwrite any existing file at the
target location, or provide the user with a manual prompt.
# Raises
ImportError: If h5py is not available.'

def save_weights(self, filepath, overwrite=True):

    if (h5py is None):
        raise ImportError('`save_weights`    requires    h5py.')
    if ((not overwrite) and os.path.isfile(filepath)):
        proceed = ask_to_proceed_with_overwrite(filepath)
        if (not proceed):
            return
    f = h5py.File(filepath, 'w')
    save_weights_to_hdf5_group(f, self.layers)
    f.flush()
    f.close()
