TensorFlow 中如何使用 SavedModel?

推荐答案

在 TensorFlow 中,SavedModel 是一种通用的序列化格式,用于保存和加载模型。以下是使用 SavedModel 的基本步骤:

保存模型

-- -------------------- ---- -------
------ ---------- -- --

- --------------
----- - ----------------------------
    ------------------------- ------------------ --------------------
    ------------------------- ---------------------
--

- ----
-------------------------------
              ---------------------------------------
              ---------------------

- ----
-------------------------- ------------------

加载模型

-- -------------------- ---- -------
------ ---------- -- --

- ----
------------ - --------------------------------------

- -----------
----- - ------------------------------------------
------ - ------------------------ ---- ---- ---------
-------------

本题详细解读

1. 保存模型

在 TensorFlow 中,tf.saved_model.save() 函数用于将模型保存为 SavedModel 格式。这个函数接受两个主要参数:

  • obj: 要保存的模型或对象。
  • export_dir: 保存模型的目录路径。

保存的模型目录中会包含以下内容:

  • saved_model.pb: 包含模型的架构和训练配置。
  • variables/: 包含模型的权重。

2. 加载模型

使用 tf.saved_model.load() 函数可以加载保存的 SavedModel。加载后的模型可以通过 signatures 属性访问模型的推理函数。通常,serving_default 是默认的推理签名。

3. 使用加载的模型进行推理

加载模型后,可以通过调用 signatures 中的推理函数来进行预测。infer 是一个 ConcreteFunction,可以直接传入输入数据进行推理。

4. 注意事项

  • SavedModel 格式是 TensorFlow 推荐的模型保存格式,因为它不仅保存了模型的权重,还保存了模型的架构和训练配置。
  • 在加载模型时,确保 TensorFlow 版本与保存模型时的版本兼容。
  • SavedModel 格式支持跨平台使用,可以在不同的 TensorFlow 实现(如 TensorFlow Serving、TensorFlow Lite)中使用。
纠错
反馈