首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tf.keras模型储蓄差异

tf.keras模型储蓄差异
EN

Stack Overflow用户
提问于 2019-08-20 13:49:08
回答 1查看 59关注 0票数 2

我注意到tf.keras中可用的两个储蓄函数之间的差异,两者似乎都在做相同的事情,我想知道实际的区别是什么。

当我使用以下方法保存模型时,然后通过以下方法计算其大小:

代码语言:javascript
复制
model.save(path)


print("Size of the model: %.2f Mb" % (os.path.getsize(path) / float(2**20)))

我有:

型号尺寸: 172.13 Mb

但是如果现在我尝试使用这个函数:

代码语言:javascript
复制
tf.keras.models.save_model(model, path)

我有:

型号尺寸:57.39Mb

通过查看Keras和tf.keras的文档,我发现:

tf.keras.models.save_model__:保存的模型包含:-模型的配置(拓扑)-模型的权重-模型的优化器的状态(如果有的话)

和:

model.save()__:保存包含以下内容的Keras模型:模型的体系结构、模型的权重、培训配置(损失、优化器)、优化器的状态。

两者似乎实现了相同的目标,所以我猜想tf.keras.save_model可能会在后台执行一些操作(压缩?)。你知不知道?

EN

回答 1

Stack Overflow用户

发布于 2019-08-20 19:44:03

如果保存格式为'tf‘,则model.save模型model.save源代码最终会导致在tensorflow.python.keras.saving.saved_model包中出现保存的内部方法,或者如果保存格式为'h5’,则会导致hdf5的内部方法。你可能在你的方法上做错了什么。

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

https://stackoverflow.com/questions/57575175

复制
相关文章

相似问题

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