将 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
包含:
- 包含模型权重的检查点。
- 包含 Tensorflow 后端图的
SavedModel
原型。为预测(服务)、训练和评估保存单独的图表。如果模型尚未编译,则仅导出图计算预测。 - 模型的 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()
相关用法
- Python tf.compat.v1.keras.experimental.load_from_saved_model用法及代码示例
- Python tf.compat.v1.keras.estimator.model_to_estimator用法及代码示例
- Python tf.compat.v1.keras.initializers.Ones.from_config用法及代码示例
- Python tf.compat.v1.keras.layers.DenseFeatures用法及代码示例
- Python tf.compat.v1.keras.initializers.Zeros.from_config用法及代码示例
- Python tf.compat.v1.keras.utils.track_tf1_style_variables用法及代码示例
- Python tf.compat.v1.keras.initializers.Ones用法及代码示例
- Python tf.compat.v1.keras.initializers.RandomNormal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.glorot_uniform.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.lecun_uniform用法及代码示例
- Python tf.compat.v1.keras.initializers.he_normal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.Orthogonal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.lecun_normal.from_config用法及代码示例
- Python tf.compat.v1.keras.initializers.TruncatedNormal用法及代码示例
- Python tf.compat.v1.keras.initializers.RandomNormal用法及代码示例
- Python tf.compat.v1.keras.layers.enable_v2_dtype_behavior用法及代码示例
- Python tf.compat.v1.keras.initializers.he_uniform用法及代码示例
- Python tf.compat.v1.keras.initializers.Identity.from_config用法及代码示例
- Python tf.compat.v1.keras.callbacks.TensorBoard用法及代码示例
- Python tf.compat.v1.keras.initializers.Constant用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.keras.experimental.export_saved_model。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。