Keras 3 API 文档 / 模型 API / 保存与序列化 / 仅保存和加载权重

仅保存和加载权重

[源代码]

save_weights 方法

Model.save_weights(filepath, overwrite=True)

将所有层权重保存到 .weights.h5 文件中。

参数

  • filepath: strpathlib.Path 对象。保存模型的路径。必须以 .weights.h5 结尾。
  • overwrite: 是否应覆盖目标位置的任何现有模型,或者通过交互式提示询问用户。

[源代码]

load_weights 方法

Model.load_weights(filepath, skip_mismatch=False, **kwargs)

从通过 save_weights() 保存的文件中加载权重。

权重是根据网络的拓扑结构加载的。这意味着架构应该与保存权重时相同。请注意,没有权重的层不会在拓扑排序中考虑,因此只要它们没有权重,添加或删除层都可以。

部分权重加载

如果您修改了模型,例如添加了一个新的层(带权重)或更改了层的权重形状,您可以选择忽略错误并继续加载,方法是设置 skip_mismatch=True。在这种情况下,任何权重不匹配的层都将被跳过。每个跳过的层都会显示一条警告。

参数

  • filepath: 字符串,要加载的权重文件的路径。它可以是 .weights.h5 文件或旧版 .h5 权重文件。
  • skip_mismatch: 布尔值,是否跳过权重数量不匹配或权重形状不匹配的层的加载。