gpt4 book ai didi

python - 如何在没有模型的情况下读取keras模型权重

转载 作者:太空狗 更新时间:2023-10-30 01:47:35 25 4
gpt4 key购买 nike

一个keras模型可以保存在两个文件中。一个文件带有模型架构。另一种是模型权重,权重通过 model.save_weights() 方法保存。

然后可以使用 model.load_weights(file_path) 加载权重。它假设模型存在。

我只需要加载重量而不需要模型。我尝试使用 pickle.load()

with open(file_path, 'rb') as fp:
w = pickle.load(fp)

但它给出了错误:

_pickle.UnpicklingError: invalid load key, 'H'.

我想权重文件的保存方式不兼容。是否可以仅从 model.save_weights() 创建的文件中加载权重?

最佳答案

数据格式为h5,可以直接使用h5py库检查加载权重。来自quickstart guide :

import h5py
f = h5py.File('weights.h5', 'r')
print(list(f.keys()))
# will get a list of layer names which you can use as index
d = f['dense']['dense_1']['kernel:0']
# <HDF5 dataset "kernel:0": shape (128, 1), type "<f4">
d.shape == (128, 1)
d[0] == array([-0.14390108], dtype=float32)
# etc.

该文件包含层的权重等属性,您可以详细了解存储的内容和存储方式。如果您想要可视化版本,请访问 h5pyViewer

关于python - 如何在没有模型的情况下读取keras模型权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51173580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com