當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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