From 16c8df0cc8f56a60fa7e3779bd484671d5518e79 Mon Sep 17 00:00:00 2001 From: silingtong123 <35439432+silingtong123@users.noreply.github.com> Date: Thu, 20 Feb 2020 11:34:45 +0800 Subject: [PATCH] add the API doc of prepare_context (#1773) add the doc of prepare_context --- .../api_cn/dygraph_cn/prepare_context_cn.rst | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 doc/fluid/api_cn/dygraph_cn/prepare_context_cn.rst diff --git a/doc/fluid/api_cn/dygraph_cn/prepare_context_cn.rst b/doc/fluid/api_cn/dygraph_cn/prepare_context_cn.rst new file mode 100644 index 000000000..295cc0bb8 --- /dev/null +++ b/doc/fluid/api_cn/dygraph_cn/prepare_context_cn.rst @@ -0,0 +1,33 @@ +.. _api_fluid_dygraph_prepare_context: + +prepare_context +--------------- + +.. py:class:: paddle.fluid.dygraph.prepare_context(strategy=None) + +该API是进行多进程多卡训练的环境配置接口,接受一个ParallelStrategy结构体变量作为输入。当strategy属性中的nums_trainer小于2时,API会直接返回,当nums_trainer大于1且为CUDAPlace时,由于目前动态图模式仅支持GPU多卡训练,仅能配置NCCL多卡训练的环境,所以此时会对NCCL环境进行配置,具体内容包括:生成NCCL ID,并广播至参与训练的各进程,用于支持的处理器同步操作,创建并配置NCCL通信器等。 + +参数: + - **strategy** (ParallelStrategy, 可选) – 该参数是配置储存多进程多卡训练配置信息的结构体变量,其具体成员包括:trainer节点的个数,当前trainer节点的ID,所有trainer节点的endpoint,当前节点的endpoint。当输入为None时,会调用PallelStrategy构造函数初始化strategy,此时,strategy的属性值为PallelStrategy结构体的默认值,接着strategy的属性会被环境变量中的对应值覆盖。默认值为None。 + +返回:一个属性配置后的ParallelStrategy结构体变量。 + +返回类型:实例(ParallelStrategy) + +**代码示例**: + +.. code-block:: python + + import paddle.fluid.dygraph as dygraph + import paddle.fluid as fluid + with fluid.dygraph.guard(): + strategy=dygraph.parallel.prepare_context() + emb = fluid.dygraph.Embedding([10, 10]) + emb = dygraph.parallel.DataParallel(emb, strategy) + + state_dict = emb.state_dict() + fluid.save_dygraph( state_dict, "paddle_dy") + + para_state_dict, _ = fluid.load_dygraph( "paddle_dy") + + emb.set_dict( para_state_dict ) -- GitLab