Keras 3 API documentation / Models API / Saving & serialization / Keras weights file editor

Keras weights file editor

[source]

KerasFileEditor class

keras.saving.KerasFileEditor(filepath)

Utility to inspect, edit, and resave Keras weights files.

You will find this class useful when adapting an old saved weights file after having made architecture changes to a model.

Arguments

  • filepath: The path to a local file to inspect and edit.

Examples

editor = KerasFileEditor("my_model.weights.h5")

# Displays current contents
editor.summary()

# Remove the weights of an existing layer
editor.delete_object("layers/dense_2")

# Add the weights of a new layer
editor.add_object("layers/einsum_dense", weights={"0": ..., "1": ...})

# Save the weights of the edited model
editor.resave_weights("edited_model.weights.h5")

[source]

summary method

KerasFileEditor.summary()

Prints the weight structure of the opened file.


[source]

compare method

KerasFileEditor.compare(reference_model)

Compares the opened file to a reference model.

This method will list all mismatches between the currently opened file and the provided reference model.

Arguments

  • reference_model: Model instance to compare to.

Returns

  • Dict with the following keys: 'status', 'error_count', 'match_count'. Status can be 'success' or 'error'. 'error_count' is the number of mismatches found. 'match_count' is the number of matching weights found.

[source]

save method

KerasFileEditor.save(filepath)

Save the edited weights file.

Arguments

  • filepath: Path to save the file to. Must be a .weights.h5 file.

[source]

rename_object method

KerasFileEditor.rename_object(object_name, new_name)

Rename an object in the file (e.g. a layer).

Arguments

  • object_name: String, name or path of the object to rename (e.g. "dense_2" or "layers/dense_2").
  • new_name: String, new name of the object.

[source]

delete_object method

KerasFileEditor.delete_object(object_name)

Removes an object from the file (e.g. a layer).

Arguments

  • object_name: String, name or path of the object to delete (e.g. "dense_2" or "layers/dense_2").

[source]

add_object method

KerasFileEditor.add_object(object_path, weights)

Add a new object to the file (e.g. a layer).

Arguments

  • object_path: String, full path of the object to add (e.g. "layers/dense_2").
  • weights: Dict mapping weight names to weight values (arrays), e.g. {"0": kernel_value, "1": bias_value}.

[source]

delete_weight method

KerasFileEditor.delete_weight(object_name, weight_name)

Removes a weight from an existing object.

Arguments

  • object_name: String, name or path of the object from which to remove the weight (e.g. "dense_2" or "layers/dense_2").
  • weight_name: String, name of the weight to delete (e.g. "0").

[source]

add_weights method

KerasFileEditor.add_weights(object_name, weights)

Add one or more new weights to an existing object.

Arguments

  • object_name: String, name or path of the object to add the weights to (e.g. "dense_2" or "layers/dense_2").
  • weights: Dict mapping weight names to weight values (arrays), e.g. {"0": kernel_value, "1": bias_value}.