我有一个keras模型,想把它保存为张流图。tf.saved_model.save(model, path_to_dir)
和tf.keras.model.save
有什么区别吗?
在这两种情况下,我都希望以tensorflow
保存格式保存,而不会使用h5
。我知道tf.saved_model.save
更通用,但如果我使用keras
模型,这两种格式在任何方面都不同。
我有一个keras模型,想把它保存为张流图。tf.saved_model.save(model, path_to_dir)
和tf.keras.model.save
有什么区别吗?
在这两种情况下,我都希望以tensorflow
保存格式保存,而不会使用h5
。我知道tf.saved_model.save
更通用,但如果我使用keras
模型,这两种格式在任何方面都不同。
2条答案
按热度按时间hfyxw5xn1#
一般情况下应该不会有什么区别,具体来说我们可以保存整个
tf. keras
模型--一个是TensorFlow SavedModel,一个是.h5
。如前所述,您有一个
keras
模型并希望保存其图表。Model.save
或tf.keras.models.save_model
正如你所看到的,它们都有相同的参数。我建议选择**(1)或(2),这很容易理解。下面是一个例子,我在
CIFAR
数据集上训练了一个函数模型,并使用(1)和(2)**方法保存了该模型。加载并重新培训他们
另外注意有一个参数叫
save_traces
,默认设置为True
,我设置为False
,因为我不想,新增,据doc:保存跟踪:(仅适用于SavedModel格式)启用后,SavedModel将存储每个层的函数跟踪。可以禁用此选项,以便仅存储每个层的配置。默认值为True。禁用此选项将缩短序列化时间并减小文件大小,但要求所有自定义层/模型都实现get_config()方法。
另外,在您保存整个模型时,如果您自定义了类似层的内容,我想提醒您在加载模型时使用
custom_object
参数。zbwhf8kr2#
你能查一下这个吗TF2.2:从tensorflow_hub加载保存的模型失败,原因为“AttributeError:“_UserObject”对象没有属性“summary”
向下滚动到@WGierke的答案: