未验证 提交 272a6bcc 编写于 作者: C Cheerego 提交者: GitHub

syn_cn_en_apidoc (#856)

上级 91d67623
......@@ -2,138 +2,6 @@
fluid
#################
.. _cn_api_fluid_AsyncExecutor:
AsyncExecutor
-------------------------------
.. py:class:: paddle.fluid.AsyncExecutor(place=None, run_mode='')
**AsyncExecutor正在积极开发,API可能在短期内进行调整。**
Python中的异步执行器。AsyncExecutor利用多核处理器和数据排队的强大功能,使数据读取和融合解耦,每个线程并行运行。
AsyncExecutor不是在python端读取数据,而是接受一个训练文件列表,该列表将在c++中检索,然后训练输入将被读取、解析并在c++代码中提供给训练网络。
参数:
- **place** (fluid.CPUPlace|None) - 指示 executor 将在哪个设备上运行。目前仅支持CPU
**代码示例:**
.. code-block:: python
data_feed = fluid.DataFeedDesc('data.proto')
startup_program = fluid.default_startup_program()
main_program = fluid.default_main_program()
filelist = ["train_data/part-%d" % i for i in range(100)]
thread_num = len(filelist) / 4
place = fluid.CPUPlace()
async_executor = fluid.AsyncExecutor(place)
async_executor.run_startup_program(startup_program)
epoch = 10
for i in range(epoch):
async_executor.run(main_program,
data_feed,
filelist,
thread_num,
[acc],
debug=False)
.. note::
对于并行gpu调试复杂网络,您可以在executor上测试。他们有完全相同的参数,并可以得到相同的结果。
目前仅支持CPU
.. py:method:: run(program, data_feed, filelist, thread_num, fetch, mode='', debug=False)
使用此 ``AsyncExecutor`` 来运行 ``program`` 。
``filelist`` 中包含训练数据集。用户也可以通过在参数 ``fetch`` 中提出变量来检查特定的变量, 正如 ``fluid.Executor`` 。
但不像 ``fluid.Executor`` , ``AsyncExecutor`` 不返回获取到的变量,而是将每个获取到的变量作为标准输出展示给用户。
数据集上的运算在多个线程上执行,每个线程中都会独立出一个线程本地作用域,并在此域中建立运算。
所有运算同时更新参数值。
参数:
- **program** (Program) – 需要执行的program。如果没有提供该参数,默认使用 ``default_main_program``
- **data_feed** (DataFeedDesc) – ``DataFeedDesc`` 对象
- **filelist** (str) – 一个包含训练数据集文件的文件列表
- **thread_num** (int) – 并发训练线程数。参照 *注解* 部分获取合适的设置方法
- **fetch** (str|list) – 变量名,或者变量名列表。指明最后要进行观察的变量命名
- **mode** (str) – 该接口的运行模式
- **debug** (bool) – 如果为True, 在每一个minibatch处理后,fetch 中指明的变量将会通过标准输出打印出来
.. note::
1.该执行器会运行program中的所有运算,不只是那些依赖于fetchlist的运算
2.该类执行器在多线程上运行,每个线程占用一个CPU核。为了实现效率最大化,建议将 ``thread_num`` 等于或稍微小于CPU核心数
.. py:method:: download_data(afs_path, local_path, fs_default_name, ugi, file_cnt, hadoop_home='$HADOOP_HOME', process_num=12)
download_data是用于分布式训练的默认下载方法,用户可不使用该方法下载数据。
**示例**
.. code-block:: python
exe = fluid.AsyncExecutor()
exe.download_data("/xxx/xxx/xx/",
"./data", "afs://
xxx.xxx.xxx.xxx:9901", "xxx,yyy")
参数:
- **afs_path** (str) - 用户定义的afs_path
- **local_path** (str) - 下载数据路径
- **fs_default_name** (str) - 文件系统服务器地址
- **ugi** (str) - hadoop ugi
- **file_cnt** (int) - 用户可以指定用于调试的文件号
- **hadoop_home** (str) - hadoop home path
- **process_num** (int) - 下载进程号
.. py:method:: get_instance()
获取当前节点的实例,以便用户可以在分布式背景下中执行操作。
.. py:method:: config_distributed_nodes()
如果用户需要运行分布式AsyncExecutor,则需要进行全局配置,以便获取当前进程的信息。
.. py:method:: stop()
在流程结束时,用户应该停止服务器并阻止所有workers。
.. py:method:: init_server(dist_desc)
如果当前进程是server,则初始化当前节点的服务器。
参数:
- **dist_desc** (str)- 描述如何初始化worker和server的protobuf字符串
.. py:method:: init_worker(dist_desc, startup_program)
如果当前进程是worker,则初始化当前节点的worker
参数:
- **dist_desc** (str)- 描述如何初始化worker和server的protobuf字符串
- **startup_program** (fluid.Program)- 当前进程的startup program
.. py:method:: init_model()
可以从其中一个worker中调用的init_model命令。随之,在server中初始化模型参数。
.. py:method:: save_model(save_path)
可以从其中一个worker调用的save_model命令。随之,模型参数会保存在server中并上传到文件系统的save_path指定的位置。
参数:
- **save_path** (str)- 文件系统的保存路径
.. _cn_api_fluid_BuildStrategy:
BuildStrategy
......
......@@ -11295,37 +11295,9 @@ zeros
============
==========================
learning_rate_scheduler
============
.. _cn_api_fluid_layers_append_LARS:
append_LARS
-------------------------------
.. py:function:: paddle.fluid.layers.append_LARS(params_grads,learning_rate,weight_decay)
对每一层的学习率运用LARS(LAYER-WISE ADAPTIVE RATE SCALING)
参数:
- **learning_rate** -变量学习率。LARS的全局学习率。
- **weight_decay** -Python float类型数
返回: 衰减的学习率
**代码示例** :
.. code-block:: python
learning_rate*=local_gw_ratio * sqrt(sumsq(param))
/ (sqrt(sumsq(gradient))+ weight_decay * sqrt(sumsq(param)))
==========================
.. _cn_api_fluid_layers_cosine_decay:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册