Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
e9280064
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
5
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
23
列表
看板
标记
里程碑
合并请求
111
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FluidDoc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
23
Issue
23
列表
看板
标记
里程碑
合并请求
111
合并请求
111
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
e9280064
编写于
9月 02, 2020
作者:
C
Chen Weihang
提交者:
GitHub
9月 02, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refine paddle.load and paddle.SaveLoadConfig cn doc (#2531)
* polish load and saveloadconfig doc * adjust alias
上级
effa1c93
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
65 addition
and
24 deletion
+65
-24
doc/paddle/api/alias_api_mapping
doc/paddle/api/alias_api_mapping
+1
-1
doc/paddle/api/paddle/fluid/dygraph/checkpoint/load_dygraph_cn.rst
...e/api/paddle/fluid/dygraph/checkpoint/load_dygraph_cn.rst
+27
-21
doc/paddle/api/paddle/jit/SaveLoadConfig_cn.rst
doc/paddle/api/paddle/jit/SaveLoadConfig_cn.rst
+37
-2
未找到文件。
doc/paddle/api/alias_api_mapping
浏览文件 @
e9280064
...
...
@@ -405,7 +405,7 @@ paddle.tensor.math.isnan paddle.isnan,paddle.tensor.isnan
paddle.nn.functional.activation.hsigmoid paddle.nn.functional.hsigmoid
paddle.nn.functional.loss.kl_div paddle.nn.functional.kl_div
paddle.tensor.manipulation.expand paddle.expand,paddle.tensor.expand
paddle.fluid.dygraph.jit.SaveLoadConfig paddle.
jit.
SaveLoadConfig
paddle.fluid.dygraph.jit.SaveLoadConfig paddle.SaveLoadConfig
paddle.nn.functional.common.dropout paddle.nn.functional.dropout
paddle.nn.functional.common.linear paddle.nn.functional.linear
paddle.nn.layer.activation.LogSoftmax paddle.nn.LogSoftmax,paddle.nn.layer.LogSoftmax
...
...
doc/paddle/api/paddle/fluid/dygraph/checkpoint/load_dygraph_cn.rst
浏览文件 @
e9280064
.. _cn_api_fluid_dygraph_load_dygraph:
load
_dygraph
----
---------------------------
load
----
.. py:function:: paddle.
fluid.dygraph.load_dygraph(model_path
)
.. py:function:: paddle.
load(model_path, configs=None
)
:api_attr: 命令式编程模式(动态图)
该接口用于从磁盘中加载Layer和Optimizer的 ``state_dict`` ,该接口会同时加载 ``model_path + ".pdparams"`` 和 ``model_path + ".pdopt"`` 中的内容。
该接口尝试从磁盘中加载参数或优化器的 ``dict`` 。
该接口会同时加载 ``model_path + ".pdparams"`` 和 ``model_path + ".pdopt"`` 中的内容。
.. note::
由于一些历史原因,如果从 ``paddle.io.save_inference_model`` 的存储结果中载入 ``state_dict`` ,动态图模式下参数的结构性变量名将无法被恢复。并且在将载入的 ``state_dict`` 配置到当前Layer中时,需要配置 ``Layer.set_state_dict`` 的参数 ``use_structured_name=False`` 。
参数:
- **model_path** (str) – 保存state_dict的文件前缀。该路径不应该包括后缀 ``.pdparams`` 或 ``.pdopt``。
- **model_path** (str) – 保存state_dict的文件前缀。该路径不应该包括后缀 ``.pdparams`` 或 ``.pdopt``。
- **configs** (SaveLoadConfig, 可选) - 用于指定额外配置选项的 :ref:`cn_api_fluid_dygraph_jit_SaveLoadConfig` 对象,这些选项主要是用于兼容 ``paddle.io.save_inference_model`` 存储模型的格式。默认为 ``None``。
返回: 两个 ``dict`` ,即从文件中恢复的
参数 ``dict`` 和优化器 ``dict``
返回: 两个 ``dict`` ,即从文件中恢复的
模型参数 ``dict`` 和优化器参数 ``dict``,如果只找到其中一个的存储文件,另一个返回None
- para
_dict: 从文件中恢复的
参数 ``dict``
- opt
i_dict: 从文件中恢复的优化器
``dict``
- para
m_dict: 从文件中恢复的模型
参数 ``dict``
- opt
_dict: 从文件中恢复的优化器参数
``dict``
返回类型: tuple(dict, dict)
...
...
@@ -29,18 +29,24 @@ load_dygraph
.. code-block:: python
import paddle.fluid as fluid
import paddle
paddle.disable_static()
emb = paddle.nn.Embedding([10, 10])
state_dict = emb.state_dict()
paddle.save(state_dict, "paddle_dy")
with fluid.dygraph.guard():
emb = fluid.dygraph.Embedding([10, 10])
state_dict = emb.state_dict()
fluid.save_dygraph( state_dict, "paddle_dy")
adam = fluid.optimizer.Adam( learning_rate = fluid.layers.noam_decay( 100, 10000) ,
parameter_list = emb.parameters() )
state_dict = adam.state_dict()
fluid.save_dygraph( state_dict, "paddle_dy")
scheduler = paddle.optimizer.lr_scheduler.NoamLR(
d_model=0.01, warmup_steps=100, verbose=True)
adam = paddle.optimizer.Adam(
learning_rate=scheduler,
parameters=emb.parameters())
state_dict = adam.state_dict()
paddle.save(state_dict, "paddle_dy")
para_state_dict, opti_state_dict = fluid.load_dygraph(
"paddle_dy")
para_state_dict, opti_state_dict = paddle.load(
"paddle_dy")
doc/paddle/api/paddle/jit/SaveLoadConfig_cn.rst
浏览文件 @
e9280064
.. _cn_api_fluid_dygraph_jit_SaveLoadConfig:
SaveLoadConfig
--------------
-----------------
--------------
.. py:class:: paddle.
fluid.dygraph.jit.
SaveLoadConfig()
.. py:class:: paddle.SaveLoadConfig()
用于配置接口 :ref:`cn_api_fluid_dygraph_jit_save` 和 :ref:`cn_api_fluid_dygraph_jit_load` 存储载入 :ref:`cn_api_fluid_dygraph_TranslatedLayer` 时的附加选项。
...
...
@@ -271,3 +271,38 @@ SaveLoadConfig
infer_net = fluid.dygraph.jit.load(model_path, configs=configs)
x = fluid.dygraph.to_variable(np.random.random((4, 8)).astype('float32'))
pred = infer_net(x)
.. py:attribute:: keep_name_table
配置是否保留 ``paddle.load`` 载入结果中 ``structured_name`` 到真实的参数变量名的映射表。这个映射表是调用 ``paddle.save`` 时存储的,一般仅用于调试,移除此映射表不影响真实的训练和预测。默认情况下不会保留在 ``paddle.load`` 的结果中。默认值为False。
.. note::
该配置仅用于 ``paddle.load`` 方法。
**示例代码**
.. code-block:: python
import paddle
paddle.disable_static()
linear = paddle.nn.Linear(5, 1)
state_dict = linear.state_dict()
paddle.save(state_dict, "paddle_dy")
configs = paddle.SaveLoadConfig()
configs.keep_name_table = True
para_state_dict, _ = paddle.load("paddle_dy", configs)
print(para_state_dict)
# the name_table is 'StructuredToParameterName@@'
# {'bias': array([0.], dtype=float32),
# 'StructuredToParameterName@@':
# {'bias': u'linear_0.b_0', 'weight': u'linear_0.w_0'},
# 'weight': array([[ 0.04230034],
# [-0.1222527 ],
# [ 0.7392676 ],
# [-0.8136974 ],
# [ 0.01211023]], dtype=float32)}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录