將 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。