Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
b06883f0
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看板
未验证
提交
b06883f0
编写于
12月 07, 2018
作者:
T
Tink_Y
提交者:
GitHub
12月 07, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #455 from haowang101779990/1207-cnapi
1207 api 翻译
上级
ab589e5b
adec5536
变更
17
展开全部
隐藏空白更改
内联
并排
Showing
17 changed file
with
2417 addition
and
839 deletion
+2417
-839
doc/fluid/api_cn/average_cn.rst
doc/fluid/api_cn/average_cn.rst
+4
-3
doc/fluid/api_cn/backward_cn.rst
doc/fluid/api_cn/backward_cn.rst
+4
-3
doc/fluid/api_cn/clip_cn.rst
doc/fluid/api_cn/clip_cn.rst
+16
-9
doc/fluid/api_cn/data_feeder_cn.rst
doc/fluid/api_cn/data_feeder_cn.rst
+11
-10
doc/fluid/api_cn/executor_cn.rst
doc/fluid/api_cn/executor_cn.rst
+62
-4
doc/fluid/api_cn/fluid_cn.rst
doc/fluid/api_cn/fluid_cn.rst
+206
-106
doc/fluid/api_cn/initializer_cn.rst
doc/fluid/api_cn/initializer_cn.rst
+36
-28
doc/fluid/api_cn/io_cn.rst
doc/fluid/api_cn/io_cn.rst
+37
-22
doc/fluid/api_cn/layers_cn.rst
doc/fluid/api_cn/layers_cn.rst
+1071
-462
doc/fluid/api_cn/metrics_cn.rst
doc/fluid/api_cn/metrics_cn.rst
+115
-98
doc/fluid/api_cn/nets_cn.rst
doc/fluid/api_cn/nets_cn.rst
+253
-0
doc/fluid/api_cn/optimizer_cn.rst
doc/fluid/api_cn/optimizer_cn.rst
+174
-46
doc/fluid/api_cn/param_attr_cn.rst
doc/fluid/api_cn/param_attr_cn.rst
+41
-30
doc/fluid/api_cn/profiler_cn.rst
doc/fluid/api_cn/profiler_cn.rst
+20
-11
doc/fluid/api_cn/recordio_writer_cn.rst
doc/fluid/api_cn/recordio_writer_cn.rst
+77
-0
doc/fluid/api_cn/regularizer_cn.rst
doc/fluid/api_cn/regularizer_cn.rst
+31
-7
doc/fluid/api_cn/transpiler_cn.rst
doc/fluid/api_cn/transpiler_cn.rst
+259
-0
未找到文件。
doc/fluid/api_cn/average_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.average
fluid.average
#################
#################
...
@@ -8,7 +7,7 @@
...
@@ -8,7 +7,7 @@
.. _cn_api_fluid_average_WeightedAverage:
.. _cn_api_fluid_average_WeightedAverage:
WeightedAverage
WeightedAverage
>>>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.average.WeightedAverage
.. py:class:: paddle.fluid.average.WeightedAverage
...
@@ -65,5 +64,7 @@ WeightedAverage
...
@@ -65,5 +64,7 @@ WeightedAverage
英文版API文档: :ref:`api_fluid_average_WeightedAverage`
doc/fluid/api_cn/backward_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.backward
fluid.backward
#################
#################
...
@@ -8,7 +7,7 @@
...
@@ -8,7 +7,7 @@
.. _cn_api_fluid_backward_append_backward:
.. _cn_api_fluid_backward_append_backward:
append_backward
append_backward
>>>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:function:: paddle.fluid.backward.append_backward(loss, parameter_list=None, no_grad_set=None, callbacks=None)
.. py:function:: paddle.fluid.backward.append_backward(loss, parameter_list=None, no_grad_set=None, callbacks=None)
...
@@ -86,5 +85,7 @@ append_backward
...
@@ -86,5 +85,7 @@ append_backward
英文版API文档: :ref:`api_fluid_backward_append_backward`
doc/fluid/api_cn/clip_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.clip
fluid.clip
#################
#################
...
@@ -8,7 +7,7 @@
...
@@ -8,7 +7,7 @@
.. _cn_api_fluid_clip_ErrorClipByValue:
.. _cn_api_fluid_clip_ErrorClipByValue:
ErrorClipByValue
ErrorClipByValue
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.clip.ErrorClipByValue(max, min=None)
.. py:class:: paddle.fluid.clip.ErrorClipByValue(max, min=None)
...
@@ -34,12 +33,14 @@ ErrorClipByValue
...
@@ -34,12 +33,14 @@ ErrorClipByValue
英文版API文档: :ref:`api_fluid_clip_ErrorClipByValue`
.. _cn_api_fluid_clip_GradientClipByGlobalNorm:
.. _cn_api_fluid_clip_GradientClipByGlobalNorm:
GradientClipByGlobalNorm
GradientClipByGlobalNorm
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.clip.GradientClipByGlobalNorm(clip_norm, group_name='default_group')
.. py:class:: paddle.fluid.clip.GradientClipByGlobalNorm(clip_norm, group_name='default_group')
...
@@ -78,12 +79,14 @@ GradientClipByGlobalNorm
...
@@ -78,12 +79,14 @@ GradientClipByGlobalNorm
英文版API文档: :ref:`api_fluid_clip_GradientClipByGlobalNorm`
.. _cn_api_fluid_clip_GradientClipByNorm:
.. _cn_api_fluid_clip_GradientClipByNorm:
GradientClipByNorm
GradientClipByNorm
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.clip.GradientClipByNorm(clip_norm)
.. py:class:: paddle.fluid.clip.GradientClipByNorm(clip_norm)
...
@@ -116,12 +119,14 @@ GradientClipByNorm
...
@@ -116,12 +119,14 @@ GradientClipByNorm
英文版API文档: :ref:`api_fluid_clip_GradientClipByNorm`
.. _cn_api_fluid_clip_GradientClipByValue:
.. _cn_api_fluid_clip_GradientClipByValue:
GradientClipByValue
GradientClipByValue
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.clip.GradientClipByValue(max, min=None)
.. py:class:: paddle.fluid.clip.GradientClipByValue(max, min=None)
...
@@ -152,5 +157,7 @@ GradientClipByValue
...
@@ -152,5 +157,7 @@ GradientClipByValue
英文版API文档: :ref:`api_fluid_clip_GradientClipByValue`
doc/fluid/api_cn/data_feeder_cn.rst
浏览文件 @
b06883f0
###################
#################
fluid.data_feeder
fluid.data_feeder
###################
#################
.. _cn_api_fluid_data_feeder_DataFeeder:
.. _cn_api_fluid_data_feeder_DataFeeder:
DataFeeder
DataFeeder
>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.data_feeder.DataFeeder(feed_list, place, program=None)
.. py:class:: paddle.fluid.data_feeder.DataFeeder(feed_list, place, program=None)
...
@@ -101,10 +100,10 @@ reader通常返回一个minibatch条目列表。在列表中每一条目都是
...
@@ -101,10 +100,10 @@ reader通常返回一个minibatch条目列表。在列表中每一条目都是
将reader返回的输入数据batch转换为多个mini-batch,之后每个mini-batch都会被输入进各个设备(CPU或GPU)中。
将reader返回的输入数据batch转换为多个mini-batch,之后每个mini-batch都会被输入进各个设备(CPU或GPU)中。
参数:
参数:
- **reader** (fun) –
待输入的数据
- **reader** (fun) –
该参数是一个可以生成数据的函数
- **multi_devices** (bool) –
执行场所的数目,默认为None
- **multi_devices** (bool) –
bool型,指明是否使用多个设备
- **num_places** (int) –
执行场所的数目,默认为None
- **num_places** (int) –
如果 ``multi_devices`` 为 ``True`` , 可以使用此参数来设置GPU数目。如果 ``num_places`` 为 ``None`` ,该函数默认使用当前训练机所有GPU设备。默认为None。
- **drop_last** (bool) –
舍弃数目匹配不上的batch或设备
- **drop_last** (bool) –
如果最后一个batch的大小比 ``batch_size`` 要小,则可使用该参数来指明是否选择丢弃最后一个batch数据。 默认为 ``True``
返回:转换结果
返回:转换结果
...
@@ -117,5 +116,7 @@ reader通常返回一个minibatch条目列表。在列表中每一条目都是
...
@@ -117,5 +116,7 @@ reader通常返回一个minibatch条目列表。在列表中每一条目都是
英文版API文档: :ref:`api_fluid_data_feeder_DataFeeder`
doc/fluid/api_cn/executor_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.executor
fluid.executor
#################
#################
.. _cn_api_fluid_executor:
.. _cn_api_fluid_executor
_Executor
:
Executor
Executor
>>>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.executor.Executor (place)
.. py:class:: paddle.fluid.executor.Executor (place)
...
@@ -107,5 +106,64 @@ feed map为该program提供输入数据。fetch_list提供program训练结束后
...
@@ -107,5 +106,64 @@ feed map为该program提供输入数据。fetch_list提供program训练结束后
英文版API文档: :ref:`api_fluid_executor`
.. _cn_api_fluid_executor_global_scope:
global_scope
-------------------------------
.. py:function:: paddle.fluid.global_scope()
获取全局/默认作用域实例。很多api使用默认 ``global_scope`` ,例如 ``Executor.run`` 。
返回:全局/默认作用域实例
返回类型:Scope
.. _cn_api_fluid_executor_scope_guard:
scope_guard
-------------------------------
.. py:function:: paddle.fluid.scope_guard(*args, **kwds)
修改全局/默认作用域(scope), 运行时中的所有变量都将分配给新的scope。
参数:
- **scope** - 新的全局/默认 scope。
**代码示例**
.. code-block:: python
import paddle.fluid as fluid
new_scope = fluid.Scope()
with fluid.scope_guard(new_scope):
...
doc/fluid/api_cn/fluid_cn.rst
浏览文件 @
b06883f0
此差异已折叠。
点击以展开。
doc/fluid/api_cn/initializer_cn.rst
浏览文件 @
b06883f0
###################
#################
fluid.initializer
fluid.initializer
#################
#################
##
.. _cn_api_fluid_initializer_Bilinear:
.. _cn_api_fluid_initializer_Bilinear:
...
@@ -9,9 +8,9 @@
...
@@ -9,9 +8,9 @@
Bilinear
Bilinear
>>>>>>>>>>>
>>>>>>>>>>>
.. py:
function
:: paddle.fluid.initializer.Bilinear
.. py:
attribute
:: paddle.fluid.initializer.Bilinear
``BilinearInitializer``
的别名
``BilinearInitializer``
的别名
.. _cn_api_fluid_initializer_BilinearInitializer:
.. _cn_api_fluid_initializer_BilinearInitializer:
...
@@ -45,16 +44,16 @@ num_filters = C和groups = C 表示这是按通道转置的卷积函数。滤波
...
@@ -45,16 +44,16 @@ num_filters = C和groups = C 表示这是按通道转置的卷积函数。滤波
英文版API文档: :ref:`api_fluid_initializer_BilinearInitializer`
.. _cn_api_fluid_initializer_Constant:
.. _cn_api_fluid_initializer_Constant:
Constant
Constant
>>>>>>>>>>
>>>>>>>>>>
.. py:
function
:: paddle.fluid.initializer.Constant
.. py:
attribute
:: paddle.fluid.initializer.Constant
``ConstantInitializer``
的别名
``ConstantInitializer``
的别名
.. _cn_api_fluid_initializer_ConstantInitializer:
.. _cn_api_fluid_initializer_ConstantInitializer:
...
@@ -78,7 +77,7 @@ ConstantInitializer
...
@@ -78,7 +77,7 @@ ConstantInitializer
英文版API文档: :ref:`api_fluid_initializer_ConstantInitializer`
...
@@ -103,7 +102,7 @@ force_init_on_cpu
...
@@ -103,7 +102,7 @@ force_init_on_cpu
create_op('force_cpu': force_init_on_cpu())
create_op('force_cpu': force_init_on_cpu())
英文版API文档: :ref:`api_fluid_initializer_force_init_on_cpu`
...
@@ -130,7 +129,7 @@ init_on_cpu
...
@@ -130,7 +129,7 @@ init_on_cpu
英文版API文档: :ref:`api_fluid_initializer_init_on_cpu`
.. _cn_api_fluid_initializer_MSRA:
.. _cn_api_fluid_initializer_MSRA:
...
@@ -138,9 +137,9 @@ init_on_cpu
...
@@ -138,9 +137,9 @@ init_on_cpu
MSRA
MSRA
>>>>>>
>>>>>>
.. py:
function
:: paddle.fluid.initializer.MSRA
.. py:
attribute
:: paddle.fluid.initializer.MSRA
``MSRAInitializer``
的别名
``MSRAInitializer``
的别名
.. _cn_api_fluid_initializer_MSRAInitializer:
.. _cn_api_fluid_initializer_MSRAInitializer:
...
@@ -184,7 +183,7 @@ MSRAInitializer
...
@@ -184,7 +183,7 @@ MSRAInitializer
英文版API文档: :ref:`api_fluid_initializer_MSRAInitializer`
.. _cn_api_fluid_initializer_Normal:
.. _cn_api_fluid_initializer_Normal:
...
@@ -192,9 +191,9 @@ MSRAInitializer
...
@@ -192,9 +191,9 @@ MSRAInitializer
Normal
Normal
>>>>>>>>
>>>>>>>>
.. py:
function
:: paddle.fluid.initializer.Normal
.. py:
attribute
:: paddle.fluid.initializer.Normal
``NormalInitializer``
的别名
``NormalInitializer``
的别名
.. _cn_api_fluid_initializer_NormalInitializer:
.. _cn_api_fluid_initializer_NormalInitializer:
...
@@ -222,16 +221,16 @@ NormalInitializer
...
@@ -222,16 +221,16 @@ NormalInitializer
英文版API文档: :ref:`api_fluid_initializer_NormalInitializer`
.. _cn_api_fluid_initializer_TruncatedNormal:
.. _cn_api_fluid_initializer_TruncatedNormal:
TruncatedNormal
TruncatedNormal
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
.. py:
function
:: paddle.fluid.initializer.TruncatedNormal
.. py:
attribute
:: paddle.fluid.initializer.TruncatedNormal
``TruncatedNormalInitializer``
的别名
``TruncatedNormalInitializer``
的别名
.. _cn_api_fluid_initializer_TruncatedNormalInitializer:
.. _cn_api_fluid_initializer_TruncatedNormalInitializer:
...
@@ -260,7 +259,7 @@ Random Truncated Normal(高斯)分布初始化器
...
@@ -260,7 +259,7 @@ Random Truncated Normal(高斯)分布初始化器
英文版API文档: :ref:`api_fluid_initializer_TruncatedNormalInitializer`
.. _cn_api_fluid_initializer_Uniform:
.. _cn_api_fluid_initializer_Uniform:
...
@@ -268,13 +267,14 @@ Random Truncated Normal(高斯)分布初始化器
...
@@ -268,13 +267,14 @@ Random Truncated Normal(高斯)分布初始化器
Uniform
Uniform
>>>>>>>>>
>>>>>>>>>
..
_cn_api_fluid_initializer_UniformInitializer:
..
py:attribute:: paddle.fluid.initializer.Uniform
.. py:class:: paddle.fluid.initializer.Uniform
``UniformInitializer`` 的别名
``UniformInitializer``的别名
.. _cn_api_fluid_initializer_UniformInitializer:
UniformInitializer
UniformInitializer
>>>>>>>>>>>>
>>>>>>>>>>>>
...
@@ -297,16 +297,24 @@ UniformInitializer
...
@@ -297,16 +297,24 @@ UniformInitializer
英文版API文档: :ref:`api_fluid_initializer_UniformInitializer`
.. _api_fluid_initializer_Xavier:
.. _cn_api_fluid_initializer_Xavier:
Xavier
Xavier
>>>>>>>>>
>>>>>>>>>
.. py:function:: paddle.fluid.initializer.Xavier
.. py:attribute:: paddle.fluid.initializer.Xavier
``XavierInitializer`` 的别名
``XavierInitializer``的别名
.. _cn_api_fluid_initializer_XavierInitializer:
.. _cn_api_fluid_initializer_XavierInitializer:
...
@@ -351,5 +359,5 @@ XavierInitializer
...
@@ -351,5 +359,5 @@ XavierInitializer
英文版API文档: :ref:`api_fluid_initializer_XavierInitializer`
doc/fluid/api_cn/io_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.io
fluid.io
#################
#################
...
@@ -8,7 +7,7 @@
...
@@ -8,7 +7,7 @@
.. _cn_api_fluid_io_load_inference_model:
.. _cn_api_fluid_io_load_inference_model:
load_inference_model
load_inference_model
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.io.load_inference_model(dirname, executor, model_filename=None, params_filename=None, pserver_endpoints=None)
.. py:class:: paddle.fluid.io.load_inference_model(dirname, executor, model_filename=None, params_filename=None, pserver_endpoints=None)
...
@@ -44,12 +43,14 @@ load_inference_model
...
@@ -44,12 +43,14 @@ load_inference_model
英文版API文档: :ref:`api_fluid_io_load_inference_model`
.. _cn_api_fluid_io_load_params:
.. _cn_api_fluid_io_load_params:
load_params
load_params
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.io.load_params(executor, dirname, main_program=None, filename=None)
.. py:class:: paddle.fluid.io.load_params(executor, dirname, main_program=None, filename=None)
...
@@ -79,12 +80,14 @@ load_params
...
@@ -79,12 +80,14 @@ load_params
英文版API文档: :ref:`api_fluid_io_load_params`
.. _cn_api_fluid_io_load_persistables:
.. _cn_api_fluid_io_load_persistables:
load_persistables
load_persistables
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.io.load_persistables(executor, dirname, main_program=None, filename=None)
.. py:class:: paddle.fluid.io.load_persistables(executor, dirname, main_program=None, filename=None)
...
@@ -112,12 +115,14 @@ load_persistables
...
@@ -112,12 +115,14 @@ load_persistables
英文版API文档: :ref:`api_fluid_io_load_persistables`
.. _cn_api_fluid_io_load_vars:
.. _cn_api_fluid_io_load_vars:
load_vars
load_vars
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.io.load_vars(executor, dirname, main_program=None, vars=None, predicate=None, filename=None)
.. py:class:: paddle.fluid.io.load_vars(executor, dirname, main_program=None, vars=None, predicate=None, filename=None)
...
@@ -154,24 +159,28 @@ load_vars
...
@@ -154,24 +159,28 @@ load_vars
prog = fluid.default_main_program()
prog = fluid.default_main_program()
fluid.io.load_vars(executor=exe, dirname=path, main_program=prog,
fluid.io.load_vars(executor=exe, dirname=path, main_program=prog,
vars=None)
vars=None, predicate=name_has_fc)
#加载所有`main_program`中变量名包含 ‘fc’ 的变量
#并且此前所有变量应该保存在不同文件中
#
The second usage: using `vars` to specify variables
#
用法2:使用 `vars` 列表来指明变量
var_list = [var_a, var_b, var_c]
var_list = [var_a, var_b, var_c]
fluid.io.load_vars(executor=exe, dirname=path, vars=var_list,
fluid.io.load_vars(executor=exe, dirname=path, vars=var_list,
filename="vars_file")
filename="vars_file")
#
var_a, var_b and var_c will be loaded. And they are supposed to haven
#
加载 var_a , var_b , var_c .它们此前应被保存在同一文件中
#
been saved in the same file named 'var_file' in the path
"./my_paddle_model".
#
文件名为 'var_file' ,路径为
"./my_paddle_model".
英文版API文档: :ref:`api_fluid_io_load_vars`
.. _cn_api_fluid_io_save_inference_model:
.. _cn_api_fluid_io_save_inference_model:
save_inference_model
save_inference_model
>>>>>>>>>>>>
-------------------------------
.. py:class:: 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)
.. py:class:: 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)
...
@@ -211,12 +220,14 @@ save_inference_model
...
@@ -211,12 +220,14 @@ save_inference_model
英文版API文档: :ref:`api_fluid_io_save_inference_model`
.. _cn_api_fluid_io_save_params:
.. _cn_api_fluid_io_save_params:
save_params
save_params
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.io.save_params(executor, dirname, main_program=None, filename=None)
.. py:class:: paddle.fluid.io.save_params(executor, dirname, main_program=None, filename=None)
...
@@ -248,12 +259,14 @@ save_params
...
@@ -248,12 +259,14 @@ save_params
英文版API文档: :ref:`api_fluid_io_save_params`
.. _cn_api_fluid_io_save_persistables:
.. _cn_api_fluid_io_save_persistables:
save_persistables
save_persistables
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.io.save_persistables(executor, dirname, main_program=None, filename=None)
.. py:class:: paddle.fluid.io.save_persistables(executor, dirname, main_program=None, filename=None)
...
@@ -284,14 +297,14 @@ save_persistables
...
@@ -284,14 +297,14 @@ save_persistables
英文版API文档: :ref:`api_fluid_io_save_persistables`
.. _cn_api_fluid_io_save_vars:
.. _cn_api_fluid_io_save_vars:
save_vars
save_vars
>>>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.io.save_vars(executor, dirname, main_program=None, vars=None, predicate=None, filename=None)
.. py:class:: paddle.fluid.io.save_vars(executor, dirname, main_program=None, vars=None, predicate=None, filename=None)
...
@@ -328,7 +341,7 @@ save_vars
...
@@ -328,7 +341,7 @@ save_vars
prog = fluid.default_main_program()
prog = fluid.default_main_program()
fluid.io.save_vars(executor=exe, dirname=path, main_program=prog,
fluid.io.save_vars(executor=exe, dirname=path, main_program=prog,
vars=None)
vars=None
, predicate = name_has_fc
)
# 将main_program中名中包含“fc”的的所有变量保存。
# 将main_program中名中包含“fc”的的所有变量保存。
# 变量将分开保存。
# 变量将分开保存。
...
@@ -341,5 +354,7 @@ save_vars
...
@@ -341,5 +354,7 @@ save_vars
英文版API文档: :ref:`api_fluid_io_save_vars`
doc/fluid/api_cn/layers_cn.rst
浏览文件 @
b06883f0
此差异已折叠。
点击以展开。
doc/fluid/api_cn/metrics_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.metrics
fluid.metrics
#################
#################
.. _cn_api_fluid_merics_Auc:
.. _cn_api_fluid_metrics_Accuracy:
Auc
>>>>
.. py:class:: paddle.fluid.metrics.Auc(name, curve='ROC', num_thresholds=4095)
Auc度量适用于二分类。参考 https://en.wikipedia.org/wiki/Receiver_operating_characteristic#Area_under_the_curve 。需要注意auc度量本身是用Python计算值。如果关心速度,请用fluid.layers.auc。
Accuracy
-------------------------------
auc函数创建四个局部变量true_positives, true_negatives, false_positives和false_negatives,用于计算AUC。对于离散化AUC曲线,临界值线性间隔设置以便计算召回率和准确率的值,用false positive率的召回值高度计算ROC曲线面积,用recall的准确值高度计算PR曲线面积。
.. py:class:: paddle.fluid.metrics.Accuracy(name=None)
参数:
累加mini-batch正确率,计算每次pass的平均准确率。https://en.wikipedia.org/wiki/Accuracy_and_precision
- **name** - 度量名
- **curve** - 将要计算的曲线名的详情,曲线包括ROC(默认)或者PR(Precision-Recall-curve)。
注:目前只用Python实现ROC曲线
参数:
- **name** — 度量标准的名称
**代码示例**
:
**代码示例**
.. code-block:: python
.. code-block:: python
labels = fluid.layers.data(name="data", shape=[1], dtype="int32")
data = fluid.layers.data(name="data", shape=[32, 32], dtype="int32")
pred = fluid.layers.fc(input=data, size=1000, act="tanh")
pred = fluid.layers.fc(input=data, size=1000, act="tanh")
metric = fluid.metrics.Auc()
minibatch_accuracy = fluid.layers.accuracy(pred, label)
for data in train_reader():
accuracy_evaluator = fluid.metrics.Accuracy()
loss, preds, labels = exe.run(fetch_list=[cost, preds, labels])
for pass in range(PASSES):
metric.update(preds, labels)
accuracy_evaluator.reset()
numpy_auc = metric.eval()
for data in train_reader():
batch_size = data[0]
loss = exe.run(fetch_list=[cost, minibatch_accuracy])
accuracy_evaluator.update(value=minibatch_accuracy, weight=batch_size)
numpy_acc = accuracy_evaluator.eval()
英文版API文档: :ref:`api_fluid_merics_Auc`
..
_cn_api_fluid_merics_MetricBase:
..
py:method:: update(value, weight)
MetricBase
更新mini batch的状态.
>>>>>>>>>>>>
.. py:class:: paddle.fluid.metrics.MetricBase(name)
参数:
- **value** (float|numpy.array) – 每个mini batch的正确率
- **weight** (int|float) – batch 大小
所有Metrics的基类。MetricBase为模型估计方法定义一组接口。Metrics累积连续的两个minibatch之间的度量状态,对每个minibatch用最新接口将当前minibatch值添加到全局状态。用eval函数来计算last reset()或者scratch on()中累积的度量值。如果需要定制一个新的metric,请继承自MetricBase和自定义实现类。
参数:
- **name** (str) - metric实例名。例如准确率(accuracy)。如果想区分一个模型里不同的metrics,则需要实例名。
.. py:method:: reset()
reset()清除度量(metric)的状态(state)。默认情况下,状态(state)包含没有 ``_`` 前缀的metric。reset将这些状态设置为初始状态。如果不想使用隐式命名规则,请自定义reset接口。
.. py:method:: get_config()
获取度量(metric)状态和当前状态。状态(state)包含没有 ``_`` 前缀的成员。
参数:**None**
返回:metric对应到state的字典
.. _cn_api_fluid_metrics_Auc:
返回类型:字典(dict)
Auc
-------------------------------
.. py:class:: paddle.fluid.metrics.Auc(name, curve='ROC', num_thresholds=4095)
.. py:method:: update(preds,labels)
Auc度量适用于二分类。参考 https://en.wikipedia.org/wiki/Receiver_operating_characteristic#Area_under_the_curve 。需要注意auc度量本身是用Python计算值。如果关心速度,请用fluid.layers.auc。
更新每个minibatch的度量状态(metric states),用户可通过Python或者C++操作符计算minibatch度量值(metric)
。
auc函数创建四个局部变量true_positives, true_negatives, false_positives和false_negatives,用于计算AUC。对于离散化AUC曲线,临界值线性间隔设置以便计算召回率和准确率的值,用false positive率的召回值高度计算ROC曲线面积,用recall的准确值高度计算PR曲线面积
。
参数:
参数:
- **preds** (numpy.array) - 当前minibatch的预测
- **name** - 度量名
- **labels** (numpy.array) - 当前minibatch的标签,如果标签为one-hot或者soft-label,应该自定义相应的更新规则。
- **curve** - 将要计算的曲线名的详情,曲线包括ROC(默认)或者PR(Precision-Recall-curve)。
.. py:method:: eval()
基于累积状态(accumulated states)评估当前度量(current metric)。
返回:metrics(Python中)
返回类型:float|list(float)|numpy.array
注:目前只用Python实现ROC曲线
英文版API文档: :ref:`api_fluid_merics_MetricBase`
**代码示例**:
..
_cn_api_fluid_metrics_Accuracy:
..
code-block:: python
Accuracy
pred = fluid.layers.fc(input=data, size=1000, act="tanh")
>>>>>>>>>>>>
metric = fluid.metrics.Auc()
for data in train_reader():
loss, preds, labels = exe.run(fetch_list=[cost, preds, labels])
metric.update(preds, labels)
numpy_auc = metric.eval()
.. py:class:: paddle.fluid.metrics.Accuracy(name=None)
累加mini-batch正确率,计算每次pass的平均准确率。https://en.wikipedia.org/wiki/Accuracy_and_precision
参数:
- **name** — 度量标准的名称
**代码示例**
.. code-block:: python
labels = fluid.layers.data(name="data", shape=[1], dtype="int32")
data = fluid.layers.data(name="data", shape=[32, 32], dtype="int32")
pred = fluid.layers.fc(input=data, size=1000, act="tanh")
minibatch_accuracy = fluid.layers.accuracy(pred, label)
accuracy_evaluator = fluid.metrics.Accuracy()
for pass in range(PASSES):
accuracy_evaluator.reset()
for data in train_reader():
batch_size = data[0]
loss = exe.run(fetch_list=[cost, minibatch_accuracy])
accuracy_evaluator.update(value=minibatch_accuracy, weight=batch_size)
numpy_acc = accuracy_evaluator.eval()
.. py:method:: update(value, weight)
更新mini batch的状态.
参数:
- **value** (float|numpy.array) – 每个mini batch的正确率
- **weight** (int|float) – batch 大小
英文版API文档: :ref:`api_fluid_metrics_Accuracy`
.. _cn_api_fluid_metrics_ChunkEvaluator:
.. _cn_api_fluid_metrics_ChunkEvaluator:
ChunkEvaluator
ChunkEvaluator
>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.metrics.ChunkEvaluator(name=None)
.. py:class:: paddle.fluid.metrics.ChunkEvaluator(name=None)
...
@@ -169,12 +125,14 @@ ChunkEvaluator
...
@@ -169,12 +125,14 @@ ChunkEvaluator
英文版API文档: :ref:`api_fluid_metrics_ChunkEvaluator`
.. _cn_api_fluid_metrics_CompositeMetric:
.. _cn_api_fluid_metrics_CompositeMetric:
CompositeMetric
CompositeMetric
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.metrics.CompositeMetric(name=None)
.. py:class:: paddle.fluid.metrics.CompositeMetric(name=None)
...
@@ -229,14 +187,16 @@ CompositeMetric
...
@@ -229,14 +187,16 @@ CompositeMetric
英文版API文档: :ref:`api_fluid_metrics_CompositeMetric`
.. _cn_api_fluid_metrics_DetectionMAP:
.. _cn_api_fluid_metrics_DetectionMAP:
DetectionMAP
DetectionMAP
>>>>>>>>>>>>
-------------------------------
.. py:class::
class
paddle.fluid.metrics.DetectionMAP(name=None)
.. py:class:: paddle.fluid.metrics.DetectionMAP(name=None)
计算 detection 平均精度(mAP)。 mAP是衡量object detectors精度的指标,比如 Faster R-CNN,SSD等。它不同于召回率,它是最大精度的平均值。 请从以下文章中获取更多信息:
计算 detection 平均精度(mAP)。 mAP是衡量object detectors精度的指标,比如 Faster R-CNN,SSD等。它不同于召回率,它是最大精度的平均值。 请从以下文章中获取更多信息:
...
@@ -275,12 +235,14 @@ https://arxiv.org/abs/1512.02325
...
@@ -275,12 +235,14 @@ https://arxiv.org/abs/1512.02325
英文版API文档: :ref:`api_fluid_metrics_DetectionMAP`
.. _cn_api_fluid_metrics_EditDistance:
.. _cn_api_fluid_metrics_EditDistance:
EditDistance
EditDistance
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.metrics.EditDistance(name)
.. py:class:: paddle.fluid.metrics.EditDistance(name)
...
@@ -307,12 +269,63 @@ EditDistance
...
@@ -307,12 +269,63 @@ EditDistance
英文版API文档: :ref:`api_fluid_metrics_EditDistance`
.. _cn_api_fluid_metrics_MetricBase:
MetricBase
-------------------------------
.. py:class:: paddle.fluid.metrics.MetricBase(name)
所有Metrics的基类。MetricBase为模型估计方法定义一组接口。Metrics累积连续的两个minibatch之间的度量状态,对每个minibatch用最新接口将当前minibatch值添加到全局状态。用eval函数来计算last reset()或者scratch on()中累积的度量值。如果需要定制一个新的metric,请继承自MetricBase和自定义实现类。
参数:
- **name** (str) - metric实例名。例如准确率(accuracy)。如果想区分一个模型里不同的metrics,则需要实例名。
.. py:method:: reset()
reset()清除度量(metric)的状态(state)。默认情况下,状态(state)包含没有 ``_`` 前缀的metric。reset将这些状态设置为初始状态。如果不想使用隐式命名规则,请自定义reset接口。
.. py:method:: get_config()
获取度量(metric)状态和当前状态。状态(state)包含没有 ``_`` 前缀的成员。
参数:**None**
返回:metric对应到state的字典
返回类型:字典(dict)
.. py:method:: update(preds,labels)
更新每个minibatch的度量状态(metric states),用户可通过Python或者C++操作符计算minibatch度量值(metric)。
参数:
- **preds** (numpy.array) - 当前minibatch的预测
- **labels** (numpy.array) - 当前minibatch的标签,如果标签为one-hot或者soft-label,应该自定义相应的更新规则。
.. py:method:: eval()
基于累积状态(accumulated states)评估当前度量(current metric)。
返回:metrics(Python中)
返回类型:float|list(float)|numpy.array
.. _cn_api_fluid_metrics_Precision:
.. _cn_api_fluid_metrics_Precision:
Precision
Precision
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.metrics.Precision(name=None)
.. py:class:: paddle.fluid.metrics.Precision(name=None)
...
@@ -339,12 +352,14 @@ Precision(也称为 positive predictive value,正预测值)是被预测为正样
...
@@ -339,12 +352,14 @@ Precision(也称为 positive predictive value,正预测值)是被预测为正样
英文版API文档: :ref:`api_fluid_metrics_Precision`
.. _cn_api_fluid_metrics_Recall:
.. _cn_api_fluid_metrics_Recall:
Recall
Recall
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.metrics.Recall(name=None)
.. py:class:: paddle.fluid.metrics.Recall(name=None)
...
@@ -368,5 +383,7 @@ https://en.wikipedia.org/wiki/Precision_and_recall
...
@@ -368,5 +383,7 @@ https://en.wikipedia.org/wiki/Precision_and_recall
英文版API文档: :ref:`api_fluid_metrics_Recall`
doc/fluid/api_cn/nets_cn.rst
0 → 100644
浏览文件 @
b06883f0
#################
fluid.nets
#################
.. _cn_api_fluid_nets_glu:
glu
-------------------------------
.. py:function:: paddle.fluid.nets.glu(input, dim=-1)
T
he Gated Linear Units(GLU)由切分(split),sigmoid激活函数和按元素相乘组成。沿着给定维将input拆分成两个大小相同的部分,a和b,计算如下:
.. math::
GLU(a,b) = a\bigotimes \sigma (b)
参考论文: `Language Modeling with Gated Convolutional Networks <https://arxiv.org/pdf/1612.08083.pdf>`_
参数:
- **input** (Variable) - 输入变量,张量或者LoDTensor
- **dim** (int) - 拆分的维度。如果 :math:`dim<0`,拆分的维为 :math:`rank(input)+dim`。默认为-1
返回:变量 —— 变量的大小为输入的一半
返回类型:变量(Variable)
**代码示例:**
.. code-block:: python
data = fluid.layers.data(name="words", shape=[3, 6, 9], dtype="float32")
output = fluid.nets.glu(input=data, dim=1) # shape of output: [3, 3, 9]
.. _cn_api_fluid_nets_img_conv_group:
img_conv_group
-------------------------------
.. py:function:: paddle.fluid.nets.img_conv_group(input, conv_num_filter, pool_size, conv_padding=1, conv_filter_size=3, conv_act=None, param_attr=None, conv_with_batchnorm=False, conv_batchnorm_drop_rate=0.0, pool_stride=1, pool_type='max', use_cudnn=True)
Image Convolution Group由Convolution2d,BatchNorm,DropOut和Pool2d组成。根据输入参数,img_conv_group将使用Convolution2d,BatchNorm,DropOut对Input进行连续计算,并将最后一个结果传递给Pool2d。
参数:
- **input** (Variable) - 具有[N,C,H,W]格式的输入图像。
- **conv_num_filter** (list | tuple) - 表示该组的过滤器数。
- **pool_size** (int | list | tuple) - ``Pool2d Layer`` 池的大小。如果pool_size是列表或元组,则它必须包含两个整数(pool_size_H,pool_size_W)。否则,pool_size_H = pool_size_W = pool_size。
- **conv_padding** (int | list | tuple) - Conv2d Layer的 ``padding`` 大小。如果 ``padding`` 是列表或元组,则其长度必须等于 ``conv_num_filter`` 的长度。否则,所有Conv2d图层的 ``conv_padding`` 都是相同的。默认1。
- **conv_filter_size** (int | list | tuple) - 过滤器大小。如果filter_size是列表或元组,则其长度必须等于 ``conv_num_filter`` 的长度。否则,所有Conv2d图层的 ``conv_filter_size`` 都是相同的。默认3。
- **conv_act** (str) - ``Conv2d Layer`` 的激活类型, ``BatchNorm`` 后面没有。默认值:无。
- **param_attr** (ParamAttr) - Conv2d层的参数。默认值:无
- **conv_with_batchnorm** (bool | list) - 表示在 ``Conv2d Layer`` 之后是否使用 ``BatchNorm`` 。如果 ``conv_with_batchnorm`` 是一个列表,则其长度必须等于 ``conv_num_filter`` 的长度。否则, ``conv_with_batchnorm`` 指示是否所有Conv2d层都遵循 ``BatchNorm``。默认为False。
- **conv_batchnorm_drop_rate** (float | list) - 表示 ``BatchNorm`` 之后的 ``Dropout Layer`` 的 ``rop_rate`` 。如果 ``conv_batchnorm_drop_rate`` 是一个列表,则其长度必须等于 ``conv_num_filter`` 的长度。否则,所有 ``Dropout Layers`` 的 ``drop_rate`` 都是 ``conv_batchnorm_drop_rate`` 。默认值为0.0。
- **pool_stride** (int | list | tuple) - ``Pool2d`` 层的汇集步幅。如果 ``pool_stride`` 是列表或元组,则它必须包含两个整数(pooling_stride_H,pooling_stride_W)。否则,pooling_stride_H = pooling_stride_W = pool_stride。默认1。
- **pool_type** (str) - 池化类型可以是最大池化的 ``max`` 和平均池化的 ``avg`` 。默认max。
- **use_cudnn** (bool) - 是否使用cudnn内核,仅在安装cudnn库时才有效。默认值:True
返回: 使用Convolution2d进行串行计算后的最终结果,BatchNorm,DropOut和Pool2d。
返回类型: 变量(Variable)。
**代码示例**
.. code-block:: python
img = fluid.layers.data(name='img', shape=[1, 28, 28], dtype='float32')
conv_pool = fluid.nets.img_conv_group(input=img,
num_channels=3,
conv_padding=1,
conv_num_filter=[3, 3],
conv_filter_size=3,
conv_act="relu",
pool_size=2,
pool_stride=2)
.. _cn_api_fluid_nets_scaled_dot_product_attention:
scaled_dot_product_attention
-------------------------------
.. py:function:: paddle.fluid.nets.scaled_dot_product_attention(queries, keys, values, num_heads=1, dropout_rate=0.0)
点乘attention运算。
attention运算机制可以被视为将查询和一组键值对映射到输出。 将输出计算为值的加权和,其中分配给每个值的权重由查询的兼容性函数(此处的点积)与对应的密钥计算。
可以通过(batch)矩阵乘法实现点积attention运算,如下所示:
.. math::
Attention(Q, K, V)= softmax(QK^\mathrm{T})V
请参阅 `Attention Is All You Need <https://arxiv.org/pdf/1706.03762.pdf>`_
参数:
- **queries** (Variable) - 输入变量,应为3-D Tensor。
- **keys** (Variable) - 输入变量,应为3-D Tensor。
- **values** (Variable) - 输入变量,应为3-D Tensor。
- **num_heads** (int) - 计算缩放点积attention运算的head数。默认值:1。
- **dropout_rate** (float) - 降低attention的dropout率。默认值:0.0。
返回: 通过multi-head来缩放点积attention运算的三维张量。
返回类型: 变量(Variable)。
抛出异常:
- ``ValueError`` - 如果输入查询键,值不是3-D Tensor会报错。
.. note::
当num_heads> 1时,分别学习三个线性投影,以将输入查询,键和值映射到查询',键'和值'。 查询',键'和值'与查询,键和值具有相同的形状。
当num_heads == 1时,scaled_dot_product_attention没有可学习的参数。
**代码示例**
.. code-block:: python
queries = fluid.layers.data(name="queries",
shape=[3, 5, 9],
dtype="float32",
append_batch_size=False)
queries.stop_gradient = False
keys = fluid.layers.data(name="keys",
shape=[3, 6, 9],
dtype="float32",
append_batch_size=False)
keys.stop_gradient = False
values = fluid.layers.data(name="values",
shape=[3, 6, 10],
dtype="float32",
append_batch_size=False)
values.stop_gradient = False
contexts = fluid.nets.scaled_dot_product_attention(queries, keys, values)
contexts.shape # [3, 5, 10]
.. _cn_api_fluid_nets_sequence_conv_pool:
sequence_conv_pool
-------------------------------
.. py:function:: paddle.fluid.nets.sequence_conv_pool(input, num_filters, filter_size, param_attr=None, act='sigmoid', pool_type='max')
sequence_conv_pool由序列卷积和池化组成
参数:
- **input** (Variable) - sequence_conv的输入,支持变量时间长度输入序列。当前输入为shape为(T,N)的矩阵,T是mini-batch中的总时间步数,N是input_hidden_size
- **num_filters** (int)- 滤波器数
- **filter_size** (int)- 滤波器大小
- **param_attr** (ParamAttr) - Sequence_conv层的参数。默认:None
- **act** (str) - Sequence_conv层的激活函数类型。默认:sigmoid
- **pool_type** (str)- 池化类型。可以是max-pooling的max,average-pooling的average,sum-pooling的sum,sqrt-pooling的sqrt。默认max
返回:序列卷积(Sequence Convolution)和池化(Pooling)的结果
返回类型:变量(Variable)
**代码示例**:
.. code-block:: python
input_dim = len(word_dict)
emb_dim = 128
hid_dim = 512
data = fluid.layers.data( ame="words", shape=[1], dtype="int64", lod_level=1)
emb = fluid.layers.embedding(input=data, size=[input_dim, emb_dim], is_sparse=True)
seq_conv = fluid.nets.sequence_conv_pool(input=emb,
num_filters=hid_dim,
filter_size=3,
act="tanh",
pool_type="sqrt")
.. _cn_api_fluid_nets_simple_img_conv_pool:
simple_img_conv_pool
-------------------------------
.. py:function:: paddle.fluid.nets.simple_img_conv_pool(input, num_filters, filter_size, pool_size, pool_stride, pool_padding=0, pool_type='max', global_pooling=False, conv_stride=1, conv_padding=0, conv_dilation=1, conv_groups=1, param_attr=None, bias_attr=None, act=None, use_cudnn=True)
``simple_img_conv_pool`` 由一个Convolution2d和一个Pool2d组成。
参数:
- **input** (Variable) - 输入图像的格式为[N,C,H,W]。
- **num_filters** (int) - ``filter`` 的数量。它与输出的通道相同。
- **filter_size** (int | list | tuple) - 过滤器大小。如果 ``filter_size`` 是列表或元组,则它必须包含两个整数(filter_size_H,filter_size_W)。否则,filter_size_H = filter_size_W = filter_size。
- **pool_size** (int | list | tuple) - Pool2d池化层大小。如果pool_size是列表或元组,则它必须包含两个整数(pool_size_H,pool_size_W)。否则,pool_size_H = pool_size_W = pool_size。
- **pool_stride** (int | list | tuple) - Pool2d池化层步长。如果pool_stride是列表或元组,则它必须包含两个整数(pooling_stride_H,pooling_stride_W)。否则,pooling_stride_H = pooling_stride_W = pool_stride。
- **pool_padding** (int | list | tuple) - Pool2d池化层的padding。如果pool_padding是列表或元组,则它必须包含两个整数(pool_padding_H,pool_padding_W)。否则,pool_padding_H = pool_padding_W = pool_padding。默认值为0。
- **pool_type** (str) - 池化类型可以是 ``max-pooling`` 的 ``max`` 和平均池的 ``avg`` 。默认 ``max`` 。
- **global_pooling** (bool)- 是否使用全局池。如果global_pooling = true,则忽略pool_size和pool_padding。默认为False
- **conv_stride** (int | list | tuple) - conv2d Layer的步长。如果stride是列表或元组,则它必须包含两个整数,(conv_stride_H,conv_stride_W)。否则,conv_stride_H = conv_stride_W = conv_stride。默认值:conv_stride = 1。
- **conv_padding** (int | list | tuple) - conv2d Layer的padding大小。如果padding是列表或元组,则它必须包含两个整数(conv_padding_H,conv_padding_W)。否则,conv_padding_H = conv_padding_W = conv_padding。默认值:conv_padding = 0。
- **conv_dilation** (int | list | tuple) - conv2d Layer的dilation大小。如果dilation是列表或元组,则它必须包含两个整数(conv_dilation_H,conv_dilation_W)。否则,conv_dilation_H = conv_dilation_W = conv_dilation。默认值:conv_dilation = 1。
- **conv_groups** (int) - conv2d Layer的组数。根据Alex Krizhevsky的Deep CNN论文中的分组卷积:当group = 2时,前半部分滤波器仅连接到输入通道的前半部分,而后半部分滤波器仅连接到后半部分输入通道。默认值:groups = 1。
- **param_attr** (ParamAttr | None) - 可学习参数的参数属性或conv2d权重。如果将其设置为None或ParamAttr的一个属性,则conv2d将创建ParamAttr作为param_attr。如果未设置param_attr的初始化,则使用 :math:`Normal(0.0,std)` 初始化参数,并且 ``std`` 为 :math:`(\frac{2.0 }{filter\_elem\_num})^{0.5}` 。默认值:None
- **bias_attr** (ParamAttr | bool | None) - conv2d的bias参数属性。如果设置为False,则不会向输出单元添加bias。如果将其设置为None或ParamAttr的一个属性,则conv2d将创建ParamAttr作为bias_attr。如果未设置bias_attr的初始化程序,则将偏差初始化为零。默认值:None
- **act** (str) - conv2d的激活类型,如果设置为None,则不附加激活。默认值:无。
- **use_cudnn** (bool) - 是否使用cudnn内核,仅在安装cudnn库时才有效。默认值:True。
返回: Convolution2d和Pool2d之后输入的结果。
返回类型: 变量(Variable)
**示例代码**
.. code-block:: python
img = fluid.layers.data(name='img', shape=[1, 28, 28], dtype='float32')
conv_pool = fluid.nets.simple_img_conv_pool(input=img,
filter_size=5,
num_filters=20,
pool_size=2,
pool_stride=2,
act="relu")
doc/fluid/api_cn/optimizer_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.optimizer
fluid.optimizer
#################
#################
.. _cn_api_fluid_optimizer_Adadelta:
Adadelta
-------------------------------
.. py:attribute:: paddle.fluid.optimizer.Adadelta
``AdadeltaOptimizer`` 的别名
.. _cn_api_fluid_optimizer_Adagrad:
Adagrad
-------------------------------
.. py:attribute:: paddle.fluid.optimizer.Adagrad
``AdagradOptimizer`` 的别名
.. _cn_api_fluid_optimizer_AdagradOptimizer:
.. _cn_api_fluid_optimizer_AdagradOptimizer:
AdagradOptimizer
AdagradOptimizer
>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.optimizer.AdagradOptimizer(learning_rate, epsilon=1e-06, regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.AdagradOptimizer(learning_rate, epsilon=1e-06, regularization=None, name=None)
...
@@ -37,45 +60,42 @@ http://cs231n.github.io/neural-networks-3/#ada 用于维持数值稳定性,避
...
@@ -37,45 +60,42 @@ http://cs231n.github.io/neural-networks-3/#ada 用于维持数值稳定性,避
optimizer = fluid.optimizer.Adagrad(learning_rate=0.2)
optimizer = fluid.optimizer.Adagrad(learning_rate=0.2)
optimizer.minimize(cost)
optimizer.minimize(cost)
AdamOptimizer
>>>>>>>>>>>>>
.. py:class:: paddle.fluid.optimizer. AdamOptimizer(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, regularization=None, name=None)
该函数实现了自适应矩估计优化器,介绍自Adam论文:https://arxiv.org/abs/1412.6980的第二节。Adam是一阶基于梯度下降的算法,基于自适应低阶矩估计。
Adam更新如下:
.. math::
t & = t + 1\\moment\_out & = {\beta}_1 * moment + (1 - {\beta}_1) * grad\\inf\_norm\_out & = max({\beta}_2 * inf\_norm + \epsilon, |grad|)\\learning\_rate & = \frac{learning\_rate}{1 - {\beta}_1^t}\\param\_out & = param - learning\_rate * \frac{moment\_out}{inf\_norm\_out}
参数:
.. _cn_api_fluid_optimizer_Adam:
- **learning_rate** (float|Variable)-学习率,用于更新参数。作为数据参数,可以是一个浮点类型值或有一个浮点类型值的变量
- **beta1** (float)-一阶矩估计的指数衰减率
- **beta2** (float)-二阶矩估计的指数衰减率
- **epsilon** (float)-保持数值稳定性的短浮点类型值
- **regularization** - 规则化函数,例如''fluid.regularizer.L2DecayRegularizer
- **name** - 可选名称前缀
**代码示例**:
Adam
-------------------------------
.. py:attribute:: paddle.fluid.optimizer.Adam
``AdamOptimizer`` 的别名
.. code-block:: python:
optimizer = fluid.optimizer.Adam(learning_rate=0.2)
optimizer.minimize(cost)
.. note::
目前,AdamaxOptimizer不支持稀疏参数优化
.. _cn_api_fluid_optimizer_Adamax:
Adamax
-------------------------------
.. py:attribute:: paddle.fluid.optimizer.Adamax
``AdamaxOptimizer`` 的别名
英文版API文档: :ref:`api_fluid_optimizer_AdagradOptimizer`
.. _cn_api_fluid_optimizer_AdamaxOptimizer:
.. _cn_api_fluid_optimizer_AdamaxOptimizer:
AdamaxOptimizer
AdamaxOptimizer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.optimizer.AdamaxOptimizer(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.AdamaxOptimizer(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, regularization=None, name=None)
...
@@ -119,12 +139,68 @@ Adamax 更新规则:
...
@@ -119,12 +139,68 @@ Adamax 更新规则:
英文版API文档: :ref:`api_fluid_optimizer_AdamaxOptimizer`
.. _cn_api_fluid_optimizer_AdamOptimizer:
AdamOptimizer
-------------------------------
.. py:class:: paddle.fluid.optimizer. AdamOptimizer(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, regularization=None, name=None)
该函数实现了自适应矩估计优化器,介绍自 `Adam论文 <https://arxiv.org/abs/1412.6980>`_ 的第二节。Adam是一阶基于梯度下降的算法,基于自适应低阶矩估计。
Adam更新如下:
.. math::
t & = t + 1\\moment\_out & = {\beta}_1 * moment + (1 - {\beta}_1) * grad\\inf\_norm\_out & = max({\beta}_2 * inf\_norm + \epsilon, |grad|)\\learning\_rate & = \frac{learning\_rate}{1 - {\beta}_1^t}\\param\_out & = param - learning\_rate * \frac{moment\_out}{inf\_norm\_out}
参数:
- **learning_rate** (float|Variable)-学习率,用于更新参数。作为数据参数,可以是一个浮点类型值或有一个浮点类型值的变量
- **beta1** (float)-一阶矩估计的指数衰减率
- **beta2** (float)-二阶矩估计的指数衰减率
- **epsilon** (float)-保持数值稳定性的短浮点类型值
- **regularization** - 规则化函数,例如''fluid.regularizer.L2DecayRegularizer
- **name** - 可选名称前缀
**代码示例**:
.. code-block:: python:
optimizer = fluid.optimizer.Adam(learning_rate=0.2)
optimizer.minimize(cost)
.. _cn_api_fluid_optimizer_DecayedAdagrad:
DecayedAdagrad
-------------------------------
.. py:attribute:: paddle.fluid.optimizer.DecayedAdagrad
``DecayedAdagradOptimizer`` 的别名
.. _cn_api_fluid_optimizer_DecayedAdagradOptimizer:
.. _cn_api_fluid_optimizer_DecayedAdagradOptimizer:
DecayedAdagradOptimizer
DecayedAdagradOptimizer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.optimizer.DecayedAdagradOptimizer(learning_rate, decay=0.95, epsilon=1e-06, regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.DecayedAdagradOptimizer(learning_rate, decay=0.95, epsilon=1e-06, regularization=None, name=None)
...
@@ -160,12 +236,27 @@ Decayed Adagrad Optimizer
...
@@ -160,12 +236,27 @@ Decayed Adagrad Optimizer
英文版API文档: :ref:`api_fluid_optimizer_DecayedAdagradOptimizer`
.. _cn_api_fluid_optimizer_Ftrl:
Ftrl
-------------------------------
.. py:attribute:: paddle.fluid.optimizer.Ftrl
``FtrlOptimizer`` 的别名
.. _cn_api_fluid_optimizer_FtrlOptimizer:
.. _cn_api_fluid_optimizer_FtrlOptimizer:
FtrlOptimizer
FtrlOptimizer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.optimizer.FtrlOptimizer(learning_rate, l1=0.0, l2=0.0, lr_power=-0.5,regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.FtrlOptimizer(learning_rate, l1=0.0, l2=0.0, lr_power=-0.5,regularization=None, name=None)
...
@@ -194,9 +285,9 @@ TFRTL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-pred
...
@@ -194,9 +285,9 @@ TFRTL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-pred
参数:
参数:
- **learning_rate** (float|Variable)-全局学习率。
- **learning_rate** (float|Variable)-全局学习率。
- **l1** (float)
- **l1** (float)
- 暂无,请等待后期更新
- **l2** (float)
- **l2** (float)
- 暂无,请等待后期更新
- **lr_power** (float)
- **lr_power** (float)
- 暂无,请等待后期更新
- **regularization** - 正则化器,例如 ``fluid.regularizer.L2DecayRegularizer``
- **regularization** - 正则化器,例如 ``fluid.regularizer.L2DecayRegularizer``
- **name** — 可选的名称前缀
- **name** — 可选的名称前缀
...
@@ -211,29 +302,32 @@ TFRTL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-pred
...
@@ -211,29 +302,32 @@ TFRTL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-pred
_, params_grads = optimizer.minimize(cost)
_, params_grads = optimizer.minimize(cost)
.. note::
.. note::
目前, FtrlOptimizer 不支持 sparse gradient
目前, FtrlOptimizer 不支持 sparse gradient
英文版API文档: :ref:`api_fluid_optimizer_FtrlOptimizer`
.. _cn_api_fluid_optimizer_LarsMomentum:
.. _cn_api_fluid_optimizer_LarsMomentum:
LarsMomentum
LarsMomentum
>>>>>>>>>>>>>>
-------------------------------
:code:`fluid.optimizer.LarsMomentumOptimizer` 的别名
.. py:attribute:: paddle.fluid.optimizer.LarsMomentum
``fluid.optimizer.LarsMomentumOptimizer`` 的别名
英文版API文档: :ref:`api_fluid_optimizer_LarsMomentum`
.. _cn_api_fluid_optimizer_LarsMomentumOptimizer:
.. _cn_api_fluid_optimizer_LarsMomentumOptimizer:
LarsMomentumOptimizer
LarsMomentumOptimizer
>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:function:: paddle.fluid.optimizer.LarsMomentumOptimizer(learning_rate, momentum, lars_coeff=0.001, lars_weight_decay=0.0005, regularization=None, name=None)
.. py:function:: paddle.fluid.optimizer.LarsMomentumOptimizer(learning_rate, momentum, lars_coeff=0.001, lars_weight_decay=0.0005, regularization=None, name=None)
...
@@ -265,12 +359,14 @@ LARS支持的Momentum优化器
...
@@ -265,12 +359,14 @@ LARS支持的Momentum优化器
英文版API文档: :ref:`api_fluid_optimizer_LarsMomentumOptimizer`
.. _cn_api_fluid_optimizer_ModelAverage:
.. _cn_api_fluid_optimizer_ModelAverage:
ModelAverage
ModelAverage
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.optimizer.ModelAverage(average_window_rate, min_average_window=10000, max_average_window=10000, regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.ModelAverage(average_window_rate, min_average_window=10000, max_average_window=10000, regularization=None, name=None)
...
@@ -315,12 +411,25 @@ ModelAverage
...
@@ -315,12 +411,25 @@ ModelAverage
英文版API文档: :ref:`api_fluid_optimizer_ModelAverage`
.. _cn_api_fluid_optimizer_Momentum:
Momentum
-------------------------------
.. py:attribute:: paddle.fluid.optimizer.Momentum
``MomentumOptimizer`` 的别名
.. _cn_api_fluid_optimizer_MomentumOptimizer:
.. _cn_api_fluid_optimizer_MomentumOptimizer:
MomentumOptimizer
MomentumOptimizer
>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.optimizer.MomentumOptimizer(learning_rate, momentum, use_nesterov=False, regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.MomentumOptimizer(learning_rate, momentum, use_nesterov=False, regularization=None, name=None)
...
@@ -349,12 +458,14 @@ MomentumOptimizer
...
@@ -349,12 +458,14 @@ MomentumOptimizer
英文版API文档: :ref:`api_fluid_optimizer_MomentumOptimizer`
.. _cn_api_fluid_optimizer_RMSPropOptimizer:
.. _cn_api_fluid_optimizer_RMSPropOptimizer:
RMSPropOptimizer
RMSPropOptimizer
>>>>>>>>>>>>>>>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.optimizer.RMSPropOptimizer(learning_rate, rho=0.95, epsilon=1e-06, momentum=0.0, centered=False, regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.RMSPropOptimizer(learning_rate, rho=0.95, epsilon=1e-06, momentum=0.0, centered=False, regularization=None, name=None)
...
@@ -406,12 +517,27 @@ RMSPropOptimizer
...
@@ -406,12 +517,27 @@ RMSPropOptimizer
英文版API文档: :ref:`api_fluid_optimizer_RMSPropOptimizer`
.. _cn_api_fluid_optimizer_SGD:
SGD
-------------------------------
.. py:attribute:: paddle.fluid.optimizer.SGD
``SGDOptimizer`` 的别名
.. _cn_api_fluid_optimizer_SGDOptimizer:
.. _cn_api_fluid_optimizer_SGDOptimizer:
SGDOptimizer
SGDOptimizer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.optimizer.SGDOptimizer(learning_rate, regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.SGDOptimizer(learning_rate, regularization=None, name=None)
...
@@ -438,5 +564,7 @@ SGDOptimizer
...
@@ -438,5 +564,7 @@ SGDOptimizer
英文版API文档: :ref:`api_fluid_optimizer_SGDOptimizer`
doc/fluid/api_cn/param_attr_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.param_attr
fluid.param_attr
#################
#################
.. _cn_api_fluid_param_attr_ParamAttr:
ParamAttr
-------------------------------
.. py:class:: paddle.fluid.param_attr.ParamAttr(name=None, initializer=None, learning_rate=1.0, regularizer=None, trainable=True, gradient_clip=None, do_model_average=False)
该类代表了参数的各种属性。 为了使神经网络训练过程更加流畅,用户可以根据需要调整参数属性。比如learning rate(学习率), regularization(正则化), trainable(可训练性), do_model_average(平均化模型)和参数初始化方法.
参数:
- **name** (str) – 参数名。默认为None。
- **initializer** (Initializer) – 初始化该参数的方法。 默认为None
- **learning_rate** (float) – 参数的学习率。计算方法为 global_lr*parameter_lr∗scheduler_factor。 默认为1.0
- **regularizer** (WeightDecayRegularizer) – 正则因子. 默认为None
- **trainable** (bool) – 该参数是否可训练。默认为True
- **gradient_clip** (BaseGradientClipAttr) – 减少参数梯度的方法。默认为None
- **do_model_average** (bool) – 该参数是否服从模型平均值。默认为False
**代码示例**
.. code-block:: python
w_param_attrs = fluid.ParamAttr(name="fc_weight",
learning_rate=0.5,
regularizer=fluid.L2Decay(1.0),
trainable=True)
y_predict = fluid.layers.fc(input=x, size=10, param_attr=w_param_attrs)
.. _cn_api_fluid_param_attr_WeightNormParamAttr:
.. _cn_api_fluid_param_attr_WeightNormParamAttr:
WeightNormParamAttr
WeightNormParamAttr
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.param_attr.WeightNormParamAttr(dim=None, name=None, initializer=None, learning_rate=1.0, regularizer=None, trainable=True, gradient_clip=None, do_model_average=False)
.. py:class:: paddle.fluid.param_attr.WeightNormParamAttr(dim=None, name=None, initializer=None, learning_rate=1.0, regularizer=None, trainable=True, gradient_clip=None, do_model_average=False)
...
@@ -41,39 +80,11 @@ WeightNormParamAttr
...
@@ -41,39 +80,11 @@ WeightNormParamAttr
英文版API文档: :ref:`api_fluid_param_attr_WeightNormParamAttr`
.. _cn_api_fluid_ParamAttr:
ParamAttr
>>>>>>>>>>>>>>>>>>>>>>>>>
.. py:class:: paddle.fluid.param_attr.ParamAttr(name=None, initializer=None, learning_rate=1.0, regularizer=None, trainable=True, gradient_clip=None, do_model_average=False)
该类代表了参数的各种属性。 为了使神经网络训练过程更加流畅,用户可以根据需要调整参数属性。比如learning rate(学习率), regularization(正则化), trainable(可训练性), do_model_average(平均化模型)和参数初始化方法.
参数:
- **name** (str) – 参数名。默认为None。
- **initializer** (Initializer) – 初始化该参数的方法。 默认为None
- **learning_rate** (float) – 参数的学习率。计算方法为 global_lr*parameter_lr∗scheduler_factor。 默认为1.0
- **regularizer** (WeightDecayRegularizer) – 正则因子. 默认为None
- **trainable** (bool) – 该参数是否可训练。默认为True
- **gradient_clip** (BaseGradientClipAttr) – 减少参数梯度的方法。默认为None
- **do_model_average** (bool) – 该参数是否服从模型平均值。默认为False
**代码示例**
.. code-block:: python
w_param_attrs = fluid.ParamAttr(name="fc_weight",
learning_rate=0.5,
regularizer=fluid.L2Decay(1.0),
trainable=True)
y_predict = fluid.layers.fc(input=x, size=10, param_attr=w_param_attrs)
英文版API文档: :ref:`api_fluid_ParamAttr`
doc/fluid/api_cn/profiler_cn.rst
浏览文件 @
b06883f0
#################
#################
fluid.profiler
fluid.profiler
#################
#################
...
@@ -8,7 +7,7 @@
...
@@ -8,7 +7,7 @@
.. _cn_api_fluid_profiler_cuda_profiler:
.. _cn_api_fluid_profiler_cuda_profiler:
cuda_profiler
cuda_profiler
>>>>>>>>>>>>
-------------------------------
.. py:function:: paddle.fluid.profiler.cuda_profiler(*args, **kwds)
.. py:function:: paddle.fluid.profiler.cuda_profiler(*args, **kwds)
...
@@ -54,12 +53,14 @@ CUDA分析器。通过CUDA运行时应用程序编程接口对CUDA程序进行
...
@@ -54,12 +53,14 @@ CUDA分析器。通过CUDA运行时应用程序编程接口对CUDA程序进行
英文版API文档: :ref:`api_fluid_profiler_cuda_profiler`
.. _cn_api_fluid_profiler_profiler:
.. _cn_api_fluid_profiler_profiler:
profiler
profiler
>>>>>>>>>>>>
-------------------------------
.. py:function:: paddle.fluid.profiler.profiler(*args, **kwds)
.. py:function:: paddle.fluid.profiler.profiler(*args, **kwds)
...
@@ -93,12 +94,14 @@ profile interface 。与cuda_profiler不同,此profiler可用于分析CPU和GP
...
@@ -93,12 +94,14 @@ profile interface 。与cuda_profiler不同,此profiler可用于分析CPU和GP
英文版API文档: :ref:`api_fluid_profiler_profiler`
.. _cn_api_fluid_profiler_reset_profiler:
.. _cn_api_fluid_profiler_reset_profiler:
reset_profiler
reset_profiler
>>>>>>>>>>>>
-------------------------------
.. py:function:: paddle.fluid.profiler.reset_profiler()
.. py:function:: paddle.fluid.profiler.reset_profiler()
...
@@ -118,12 +121,14 @@ reset_profiler
...
@@ -118,12 +121,14 @@ reset_profiler
英文版API文档: :ref:`api_fluid_profiler_reset_profiler`
.. _cn_api_fluid_profiler_start_profiler:
.. _cn_api_fluid_profiler_start_profiler:
start_profiler
start_profiler
>>>>>>>>>>>>
-------------------------------
.. py:function:: paddle.fluid.profiler.start_profiler(state)
.. py:function:: paddle.fluid.profiler.start_profiler(state)
...
@@ -157,12 +162,14 @@ start_profiler
...
@@ -157,12 +162,14 @@ start_profiler
英文版API文档: :ref:`api_fluid_profiler_start_profiler`
.. _cn_api_fluid_profiler_stop_profiler:
.. _cn_api_fluid_profiler_stop_profiler:
stop_profiler
stop_profiler
>>>>>>>>>>>>
-------------------------------
.. py:function::paddle.fluid.profiler.stop_profiler(sorted_key=None, profile_path='/tmp/profile')
.. py:function::paddle.fluid.profiler.stop_profiler(sorted_key=None, profile_path='/tmp/profile')
...
@@ -192,5 +199,7 @@ stop_profiler
...
@@ -192,5 +199,7 @@ stop_profiler
英文版API文档: :ref:`api_fluid_profiler_stop_profiler`
doc/fluid/api_cn/recordio_writer_cn.rst
0 → 100644
浏览文件 @
b06883f0
#######################
fluid.recordio_writer
#######################
.. _cn_api_fluid_recordio_writer_convert_reader_to_recordio_file:
convert_reader_to_recordio_file
-------------------------------
.. py:function:: paddle.fluid.recordio_writer.convert_reader_to_recordio_file(filename, reader_creator, feeder, compressor=Compressor.Snappy, max_num_records=1000, feed_order=None)
将 Python reader 转换为recordio文件
**代码示例:**
.. code-block:: python
import paddle.fluid as fluid
import paddle.dataset.mnist as mnist
import paddle
tmp_program = fluid.Program()
with fluid.program_guard(tmp_program):
img = fluid.layers.data(name='img', shape=[784])
label = fluid.layers.data(name='label', shape=[1], dtype='int64')
feeder = fluid.DataFeeder(feed_list=[img, label], place=fluid.CPUPlace())
# mnist.recordio 会在当前目录生成
fluid.recordio_writer.convert_reader_to_recordio_file(
filename="mnist.recordio",
reader_creator=paddle.batch(mnist.train(), batch_size=32),
feeder=feeder)
参数:
- **filename** (str) - recordio文件名
- **reader_creator** (callable) - Python reader的创造器。可参考 :ref:`api_guide_python_reader`
- **feeder** (DataFeeder) - 数据处理实例。用于将 :code:`reader_creator` 转换为 :code:`lod_tensor`
- **compressor** – 必须在 :code:`fluid.core.RecordIOWriter.Compressor.Snappy` 或 :code:` fluid.core.RecordIOWriter.Compressor.NoCompress` 中, 默认情况下使用 :code:`Snappy`
- **max_num_records** (int) – 一个 chuck 中 records 的最大数量。每个 records 都是 reader 函数的返回值
- **feed_order** (list) - reader 返回的变量名的顺序
返回: 保存的 record 的数目
返回类型: int
.. _cn_api_fluid_recordio_writer_convert_reader_to_recordio_files:
convert_reader_to_recordio_files
-------------------------------
.. py:function:: paddle.fluid.recordio_writer.convert_reader_to_recordio_files(filename, batch_per_file, reader_creator, feeder, compressor=Compressor.Snappy, max_num_records=1000, feed_order=None)
该函数可以将一个python驱动的reader(数据读取器)转变为多个recodio文件。
该API实现的功能和 ``convert_reader_to_recordio_file`` 基本相同,只不过本函数会生成多个recordio文件。
每个文件最多存储 ``batch_per_file`` 条记录。
请参照 :ref:`cn_api_fluid_recordio_writer_convert_reader_to_recordio_file` 获取更详细的介绍。
doc/fluid/api_cn/regularizer_cn.rst
浏览文件 @
b06883f0
###################
#################
fluid.regularizer
fluid.regularizer
#################
###################
.. _cn_api_fluid_regularizer_L1Decay:
L1Decay
-------------------------------
.. py:attribute:: paddle.fluid.regularizer.L1Decay
``L1DecayRegularizer`` 的别名
.. _cn_api_fluid_regularizer_L1DecayRegularizer:
.. _cn_api_fluid_regularizer_L1DecayRegularizer:
L1DecayRegularizer
L1DecayRegularizer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.regularizer.L1DecayRegularizer(regularization_coeff=0.0)
.. py:class:: paddle.fluid.regularizer.L1DecayRegularizer(regularization_coeff=0.0)
...
@@ -37,12 +45,26 @@ L1正则将会稀疏化权重矩阵。
...
@@ -37,12 +45,26 @@ L1正则将会稀疏化权重矩阵。
英文版API文档: :ref:`api_fluid_regularizer_L1DecayRegularizer`
.. _cn_api_fluid_regularizer_L2Decay:
L2Decay
-------------------------------
.. py:attribute:: paddle.fluid.regularizer.L2Decay
``L2DecayRegularizer`` 的别名
.. _cn_api_fluid_regularizer_L2DecayRegularizer:
.. _cn_api_fluid_regularizer_L2DecayRegularizer:
L2DecayRegularizer
L2DecayRegularizer
>>>>>>>>>>>>
-------------------------------
.. py:class:: paddle.fluid.regularizer.L2DecayRegularizer(regularization_coeff=0.0)
.. py:class:: paddle.fluid.regularizer.L2DecayRegularizer(regularization_coeff=0.0)
...
@@ -68,5 +90,7 @@ L2DecayRegularizer
...
@@ -68,5 +90,7 @@ L2DecayRegularizer
英文版API文档: :ref:`api_fluid_regularizer_L2DecayRegularizer`
doc/fluid/api_cn/transpiler_cn.rst
0 → 100644
浏览文件 @
b06883f0
#################
fluid.transpiler
#################
.. _cn_api_fluid_transpiler_DistributeTranspiler:
DistributeTranspiler
-------------------------------
.. py:class:: paddle.fluid.transpiler.DistributeTranspiler (config=None)
该类可以把fluid program转变为分布式数据并行计算程序(distributed data-parallelism programs),可以有Pserver和NCCL2两种模式。
当program在Pserver(全称:parameter server)模式下, ``main_program`` (主程序)转为使用一架远程parameter server(即pserver,参数服务器)来进行参数优化,并且优化图会被输入到一个pserver program中。
在NCCL2模式下,transpiler会在 ``startup_program`` 中附加一个 ``NCCL_ID`` 广播算子(broadcasting operators)来实现在该集群中所有工作结点共享``NCCL_ID`` 。
调用 ``transpile_nccl2`` 后, 你 **必须** 将 ``trainer_id`` , ``num_trainers`` 参数提供给 ``ParallelExecutor`` 来启动NCCL2分布式模式。
**代码示例**
.. code-block:: python
# for pserver mode
pserver_endpoints = "192.168.0.1:6174,192.168.0.2:6174"
trainer_endpoints = "192.168.0.1:6174,192.168.0.2:6174"
current_endpoint = "192.168.0.1:6174"
trainer_id = 0
trainers = 4
role = os.getenv("PADDLE_TRAINING_ROLE")
t = fluid.DistributeTranspiler()
t.transpile(
trainer_id, pservers=pserver_endpoints, trainers=trainers)
if role == "PSERVER":
pserver_program = t.get_pserver_program(current_endpoint)
pserver_startup_program = t.get_startup_program(current_endpoint,
pserver_program)
elif role == "TRAINER":
trainer_program = t.get_trainer_program()
# for nccl2 mode
config = fluid.DistributeTranspilerConfig()
config.mode = "nccl2"
t = fluid.DistributeTranspiler(config=config)
t.transpile(trainer_id, workers=workers, current_endpoint=curr_ep)
exe = fluid.ParallelExecutor(
use_cuda,
loss_name=loss_var.name,
num_trainers=len(trainers.split(",)),
trainer_id=trainer_id
)
.. py:method:: transpile(trainer_id, program=None, pservers='127.0.0.1:6174', trainers=1, sync_mode=True, startup_program=None, current_endpoint='127.0.0.1:6174')
该方法可以运行该transpiler(转译器)。
参数:
- **trainer_id** (int) – 当前Trainer worker的id, 如果有n个Trainer worker, id 取值范围为0 ~ n-1
- **program** (Program|None) – 待transpile(转译)的program, 缺省为 ``fluid.default_main_program()``
- **startup_program** (Program|None) - 要转译的 ``startup_program`` ,默认为 ``fluid.default_startup_program()``
- **pservers** (str) – 内容为Pserver列表的字符串,格式为:按逗号区分不同的Pserver,每个Pserver的格式为 *ip地址:端口号*
- **trainers** (int|str) – 在Pserver模式下,该参数指Trainer机的个数;在nccl2模式下,它是一个内容为Trainer终端列表的字符串
- **sync_mode** (bool) – 是否做同步训练(synchronous training), 默认为True
- **startup_program** (Program|None) – 待transpile(转译)的startup_program,默认为 ``fluid.default_main_program()``
- **current_endpoint** (str) – 当需要把program转译(transpile)至NCCL2模式下时,需要将当前endpoint(终端)传入该参数。Pserver模式不使用该参数
.. py:method:: get_trainer_program(wait_port=True)
该方法可以得到Trainer侧的program。
返回: Trainer侧的program
返回类型: Program
.. py:method:: get_pserver_program(endpoint)
该方法可以得到Pserver(参数服务器)侧的程序
参数:
- **endpoint** (str) – 当前Pserver终端
返回: 当前Pserver需要执行的program
返回类型: Program
.. py:method:: get_pserver_programs(endpoint)
该方法可以得到Pserver侧用于分布式训练的 ``main_program`` 和 ``startup_program`` 。
参数:
- **endpoint** (str) – 当前Pserver终端
返回: (main_program, startup_program), “Program”类型的元组
返回类型: tuple
.. py:method:: get_startup_program(endpoint, pserver_program=None, startup_program=None)
**该函数已停止使用**
获取当前Pserver的startup_program,如果有多个被分散到不同blocks的变量,则修改operator的输入变量。
参数:
- **endpoint** (str) – 当前Pserver终端
- **pserver_program** (Program) – 已停止使用。 先调用get_pserver_program
- **startup_program** (Program) – 已停止使用。应在初始化时传入startup_program
返回: Pserver侧的startup_program
返回类型: Program
.. _cn_api_fluid_transpiler_DistributeTranspilerConfig:
DistributeTranspilerConfig
-------------------------------
.. py:class:: paddle.fluid.transpiler.DistributeTranspilerConfig
.. py:method:: slice_var_up (bool)
为Pserver将张量切片, 默认为True
.. py:method:: split_method (PSDispatcher)
可使用 RoundRobin 或者 HashName
注意: 尝试选择最佳方法来达到负载均衡。
.. py:attribute:: min_block_size (int)
最小数据块的大小
注意: 根据:https://github.com/PaddlePaddle/Paddle/issues/8638#issuecomment-369912156, 当数据块大小超过2MB时,我们可以有效地使用带宽。如果你想更改它,请详细查看slice_variable函数。
.. _cn_api_fluid_transpiler_HashName:
HashName
-------------------------------
.. py:class:: paddle.fluid.transpiler.HashName(pserver_endpoints)
使用 python ``Hash()`` 函数将变量名散列到多个pserver终端。
参数:
- **pserver_endpoints** (list) - endpoint (ip:port)的 list
.. _cn_api_fluid_transpiler_memory_optimize:
memory_optimize
-------------------------------
.. py:function:: paddle.fluid.transpiler.memory_optimize(input_program, skip_opt_set=None, print_log=False, level=0, skip_grads=False)
通过重用var内存来优化内存。
注意:它不支持block中嵌套子block。
参数:
- **input_program** (str) – 输入Program。
- **skip_opt_set** (set) – set中的vars将不被内存优化。
- **print_log** (bool) – 是否打印debug日志。
- **level** (int) - 如果 level=0 并且shape是完全相等,则重用。
返回: None
.. _cn_api_fluid_transpiler_release_memory:
release_memory
-------------------------------
.. py:function:: paddle.fluid.transpiler.release_memory(input_program, skip_opt_set=None)
该函数可以调整输入program,插入 ``delete_op`` 删除算子,提前删除不需要的变量。
改动是在变量本身上进行的。
**提醒** : 该API还在试验阶段,会在后期版本中删除。不建议用户使用。
参数:
- **input_program** (Program) – 在此program中插入 ``delete_op``
- **skip_opt_set** (set) – 在内存优化时跳过的变量的集合
返回: None
.. _cn_api_fluid_transpiler_RoundRobin:
RoundRobin
-------------------------------
.. py:class:: paddle.fluid.transpiler.RoundRobin(pserver_endpoints)
使用 ``RondRobin`` 方法将变量分配给服务器端点。
`RondRobin <https://en.wikipedia.org/wiki/Round-robin_scheduling>`_
参数:
- **pserver_endpoints** (list) - endpoint (ip:port)的 list
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录