首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用keras加载tf.keras模型

如何使用keras加载tf.keras模型
EN

Stack Overflow用户
提问于 2019-05-01 23:02:38
回答 2查看 1.9K关注 0票数 2

我一直在使用tensorflow 1.12.0中的keras模块来训练和保存模型。我最近发现了一个看似有用的库,用于可视化权重/输出,但它们需要将模型加载为Keras模型。我在尝试使用keras加载我的tf.keras模型时遇到了一个错误,希望有人能提供一个解决方案。Python版本3.5.2,Keras版本2.2.4。

我为GlorotUniform定义了自定义对象,因为keras无法识别该初始值设定项。之后,当我尝试加载模型时,我得到了一个TypeError

代码语言:javascript
复制
# This works
model = tf.keras.models.load_model('./densenet_model.h5')

# This does not work
model = keras.models.load_model('./densenet_model.h5', custom_objects={"GlorotUniform": tf.keras.initializers.glorot_uniform})

# This is the error that happens
TypeError: tuple indices must be integers or slices, not list

总之,我想知道是否有一种简单的方法可以将使用tf.keras创建的模型转换为keras模型。

EN

回答 2

Stack Overflow用户

发布于 2019-05-02 01:57:43

我想出了一个解决办法。我只需使用tf.keras.load_model加载模型,然后加载save_weights。然后,我使用Keras构建相同的模型,并只使用load_weights。我用我的验证数据集检查了输出,从而验证了权重是否被正确加载。

票数 0
EN

Stack Overflow用户

发布于 2019-11-22 05:01:33

我使用的是from tensorflow.python.keras.models import load_model而不是from keras.models import load_model。问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55938313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档