From 30d781c63f92c3e10cf1ea7d681bfbfcffbc1e01 Mon Sep 17 00:00:00 2001 From: Zhen Wang Date: Sat, 28 Sep 2019 10:53:18 +0800 Subject: [PATCH] Rewrite the content of save_inference_model_cn.rst. (#1264) --- .../api_cn/io_cn/save_inference_model_cn.rst | 43 +++++++++---------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/doc/fluid/api_cn/io_cn/save_inference_model_cn.rst b/doc/fluid/api_cn/io_cn/save_inference_model_cn.rst index 0728ee764..41279449f 100644 --- a/doc/fluid/api_cn/io_cn/save_inference_model_cn.rst +++ b/doc/fluid/api_cn/io_cn/save_inference_model_cn.rst @@ -5,32 +5,29 @@ save_inference_model .. py:function:: paddle.fluid.io.save_inference_model(dirname, feeded_var_names, target_vars, executor, main_program=None, model_filename=None, params_filename=None, export_for_deployment=True, program_only=False) -修改指定的 ``main_program`` ,构建一个专门用于预测的 ``Program``,然后 ``executor`` 把它和所有相关参数保存到 ``dirname`` 中。 - - -``dirname`` 用于指定保存变量的目录。如果变量保存在指定目录的若干文件中,设置文件名 None; 如果所有变量保存在一个文件中,请使用filename来指定它。 - -如果您仅想保存您训练好的模型的参数,请使用save_params API。更多细节请参考 :ref:`api_guide_model_save_reader` 。 +修剪指定的 ``main_program`` 以构建一个专门用于预测的 ``Inference Program`` ( ``Program`` 含义详见 :ref:`api_guide_Program` )。 所得到的 ``Inference Program`` 及其对应的所有相关参数均被保存到 ``dirname`` 指定的目录中。若只想保存训练后的模型参数,请使用 :ref:`cn_api_fluid_io_save_params` 接口。更多细节请参考 :ref:`api_guide_model_save_reader` 。 +**注意:dirname用于指定保存预测模型结构和参数的目录。若需要将模型参数保存在指定目录的若干文件中,请设置params_filename的值为None; 若需要将所有模型参数保存在一个单独的二进制文件中,请使用params_filename来指定该二进制文件的名称。** 参数: - - **dirname** (str) – 保存预测model的路径 - - **feeded_var_names** (list[str]) – 预测(inference)需要 feed 的数据 - - **target_vars** (list[Variable]) – 保存预测(inference)结果的 Variables - - **executor** (Executor) – executor 保存 inference model - - **main_program** (Program|None) – 使用 ``main_program`` ,构建一个专门用于预测的 ``Program`` (inference model). 如果为None, 使用 ``default main program`` 默认: None. - - **model_filename** (str|None) – 保存预测Program 的文件名称。如果设置为None,将使用默认的文件名为: ``__model__`` - - **params_filename** (str|None) – 保存所有相关参数的文件名称。如果设置为None,则参数将保存在单独的文件中。 - - **export_for_deployment** (bool) – 如果为真,Program将被修改为只支持直接预测部署的Program。否则,将存储更多的信息,方便优化和再训练。目前只支持True。 - - **program_only** (bool) – 如果为真,将只保存预测程序,而不保存程序的参数。 + - **dirname** (str) – 指定保存预测模型结构和参数的文件目录。 + - **feeded_var_names** (list[str]) – 字符串列表,包含着Inference Program预测时所需提供数据的所有变量名称(即所有输入变量的名称)。 + - **target_vars** (list[Variable]) – ``Variable`` (详见 :ref:`api_guide_Program` )类型列表,包含着模型的所有输出变量。通过这些输出变量即可得到模型的预测结果。 + - **executor** (Executor) – 用于保存预测模型的 ``executor`` ,详见 :ref:`api_guide_executor` 。 + - **main_program** (Program,可选) – 通过该参数指定的 ``main_program`` 可构建一个专门用于预测的 ``Inference Program`` 。 若为None, 则使用全局默认的 ``_main_program_`` 。默认值为None。 + - **model_filename** (str,可选) – 保存预测模型结构 ``Inference Program`` 的文件名称。若设置为None,则使用 ``__model__`` 作为默认的文件名。 + - **params_filename** (str,可选) – 保存预测模型所有相关参数的文件名称。若设置为None,则模型参数被保存在单独的文件中。 + - **export_for_deployment** (bool,可选) – 若为True,则 ``main_program`` 指定的Program将被修改为只支持直接预测部署的Program。否则,将存储更多的信息,方便优化和再训练。目前只支持设置为True,且默认值为True。 + - **program_only** (bool,可选) – 若为True,则只保存预测模型的网络结构,而不保存预测模型的网络参数。默认值为False。 + -返回: 获取的变量名列表 +**返回:** 用于获取模型预测结果的所有输出变量的名称列表。 -返回类型:target_var_name_list(list) +**返回类型:** 列表(list) 抛出异常: - - ``ValueError`` – 如果 ``feed_var_names`` 不是字符串列表 - - ``ValueError`` – 如果 ``target_vars`` 不是 ``Variable`` 列表 + - ``ValueError`` – 若 ``feed_var_names`` 不是字符串列表,则抛出异常。 + - ``ValueError`` – 若 ``target_vars`` 不是 ``Variable`` 类型列表,则抛出异常。 **代码示例** @@ -54,12 +51,12 @@ save_inference_model # 数据输入及训练过程 - # 保存预测模型。注意我们不在这个示例中保存标签和损失。 + # 保存预测模型。注意,用于预测的模型网络结构不需要保存标签和损失。 fluid.io.save_inference_model(dirname=path, feeded_var_names=['img'], target_vars=[predict], executor=exe) - # 在这个示例中,函数将修改默认的主程序让它适合于预测‘predict_var’ - # 修改的预测Program 将被保存在 ./infer_model/__model__”中。 - # 参数将保存在文件夹下的单独文件中 ./infer_mode + # 在这个示例中,save_inference_mode接口将根据网络的输入结点(img)和输出结点(predict)修剪默认的主程序(_main_program_)。 + # 修剪得到的Inference Program将被保存在 “./infer_model/__model__”文件中, + # 模型参数将被保存在“./infer_model/”文件夹下以各自名称命名的单独文件中。 -- GitLab