当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.keras.experimental.export_saved_model用法及代码示例


tf.keras.Model 导出为 Tensorflow SavedModel。

用法

tf.compat.v1.keras.experimental.export_saved_model(
    model, saved_model_path, custom_objects=None, as_text=False,
    input_signature=None, serving_only=False
)

参数

  • model 一个要保存的tf.keras.Model。如果模型是子类,则标志 serving_only 必须设置为 True。
  • saved_model_path 一个字符串,指定 SavedModel 目录的路径。
  • custom_objects 可选字典将字符串名称映射到自定义类或函数(例如自定义损失函数)。
  • as_text 布尔值,默认为 False。是否以文本格式编写SavedModel proto。当前在serving-only 模式下不可用。
  • input_signature tf.TensorSpec 对象的可能嵌套序列,用于指定预期的模型输入。有关详细信息,请参阅tf.function
  • serving_only 布尔值,默认为 False。如果为真,则仅保存预测图。

抛出

  • NotImplementedError 如果模型是子类模型,并且serving_only 为 False。
  • ValueError 如果无法从模型中推断出输入签名。
  • AssertionError 如果 SavedModel 目录已存在且不为空。

请注意,此时只能使用 serving_only=True 保存子类模型。

导出的SavedModel 是 Tensorflow 对象的独立序列化,并受 TF 语言 API 和 Tensorflow Serving 系统支持。要加载模型,请使用函数 tf.keras.experimental.load_from_saved_model

SavedModel 包含:

  1. 包含模型权重的检查点。
  2. 包含 Tensorflow 后端图的 SavedModel 原型。为预测(服务)、训练和评估保存单独的图表。如果模型尚未编译,则仅导出图计算预测。
  3. 模型的 json 配置。如果模型是子类化的,则只有在模型的get_config() 方法被覆盖时才会包含它。

例子:

import tensorflow as tf

# Create a tf.keras model.
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(1, input_shape=[10]))
model.summary()

# Save the tf.keras model in the SavedModel format.
path = '/tmp/simple_keras_model'
tf.keras.experimental.export_saved_model(model, path)

# Load the saved keras model back.
new_model = tf.keras.experimental.load_from_saved_model(path)
new_model.summary()

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.keras.experimental.export_saved_model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。