未验证 提交 70fa670b 编写于 作者: X xsrobin 提交者: GitHub

update 1.5.1 cn API (#1022)

* update 1.5.1 cn API

* add url
上级 9fdd3562
......@@ -19,6 +19,7 @@ WeightedAverage
.. code-block:: python
import paddle.fluid as fluid
avg = fluid.average.WeightedAverage()
avg.add(value=2.0, weight=1)
avg.add(value=4.0, weight=2)
......
......@@ -36,6 +36,7 @@ append_backward
# 网络配置
# 损失计算
import paddle.fluid as fluid
x = fluid.layers.data(name='x', shape=[13], dtype='float32')
y = fluid.layers.data(name='y', shape=[1], dtype='float32')
......
......@@ -267,6 +267,7 @@ scope_guard
.. code-block:: python
import paddle.fluid as fluid
import numpy
new_scope = fluid.Scope()
......
......@@ -249,7 +249,7 @@ cpu_places
创建 ``fluid.CPUPlace`` 对象列表。
如果 ``device_count`` 为None,则设备数目将由环境变量 ``CPU_NUM`` 确定。如果未设置 ``CPU_NUM`` ,则设备数目将由 ``multiprocessing.cpu_count()`` 确定
如果 ``device_count`` 为None,则设备数目将由环境变量 ``CPU_NUM`` 确定。如果未设置 ``CPU_NUM`` ,则设备数目默认为1,也就是说, ``CPU_NUM`` =1
参数:
- **device_count** (None|int) - 设备数目
......@@ -262,6 +262,7 @@ cpu_places
.. code-block:: python
import paddle.fluid as fluid
cpu_places = fluid.cpu_places()
......@@ -279,6 +280,7 @@ CPUPlace是设备的描述符。它代表一个CPU,可以访问CPUPlace对应
.. code-block:: python
import paddle.fluid as fluid
cpu_place = fluid.CPUPlace()
......@@ -397,6 +399,7 @@ cuda_pinned_places
.. code-block:: python
import paddle.fluid as fluid
cuda_pinned_places_cpu_num = fluid.cuda_pinned_places()
# 或者
cuda_pinned_places = fluid.cuda_pinned_places(1)
......@@ -428,6 +431,7 @@ cuda_places
.. code-block:: python
import paddle.fluid as fluid
cuda_places = fluid.cuda_places()
.. _cn_api_fluid_CUDAPinnedPlace:
......@@ -443,6 +447,7 @@ CUDAPinnedPlace是一个设备描述符,它所指代的存储空间可以被GP
.. code-block:: python
import paddle.fluid as fluid
place = fluid.CUDAPinnedPlace()
.. _cn_api_fluid_CUDAPlace:
......@@ -458,6 +463,7 @@ CUDAPlace是一个设备描述符,它代表一个GPU,并且每个CUDAPlace
.. code-block:: python
import paddle.fluid as fluid
gpu_place = fluid.CUDAPlace(0)
......@@ -482,6 +488,7 @@ DataFeedDesc应由来自磁盘的有效protobuf消息初始化。
.. code-block:: python
import paddle.fluid as fluid
f = open("data.proto", "w")
print >> f, 'name: "MultiSlotDataFeed"'
print >> f, 'batch_size: 2'
......@@ -508,6 +515,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含
.. code-block:: python
import paddle.fluid as fluid
data_feed = fluid.DataFeedDesc('data.proto')
data_feed.set_batch_size(128)
data_feed.set_dense_slots('wd') # 名为'wd'的slot将被设置为密集的
......@@ -534,6 +542,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含
.. code-block:: python
import paddle.fluid as fluid
f = open("data.proto", "w")
print >> f, 'name: "MultiSlotDataFeed"'
print >> f, 'batch_size: 2'
......@@ -569,6 +578,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含
.. code-block:: python
import paddle.fluid as fluid
f = open("data.proto", "w")
print >> f, 'name: "MultiSlotDataFeed"'
print >> f, 'batch_size: 2'
......@@ -606,6 +616,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含
.. code-block:: python
import paddle.fluid as fluid
f = open("data.proto", "w")
print >> f, 'name: "MultiSlotDataFeed"'
print >> f, 'batch_size: 2'
......@@ -642,6 +653,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含
.. code-block:: python
import paddle.fluid as fluid
f = open("data.proto", "w")
print >> f, 'name: "MultiSlotDataFeed"'
print >> f, 'batch_size: 2'
......@@ -993,6 +1005,7 @@ DistributeTranspiler
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name='x', shape=[13], dtype='float32')
y = fluid.layers.data(name='y', shape=[1], dtype='float32')
y_predict = fluid.layers.fc(input=x, size=1, act=None)
......@@ -1053,6 +1066,7 @@ DistributeTranspiler
.. code-block:: python
import paddle.fluid as fluid
transpiler = fluid.DistributeTranspiler()
t.transpile(
trainer_id=0,
......@@ -1162,6 +1176,7 @@ DistributeTranspiler
.. code-block:: python
import paddle.fluid as fluid
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"
......@@ -1207,6 +1222,7 @@ block中分割(split)出的元素个数的最小值。
.. code-block:: python
import paddle.fluid as fluid
config = fluid.DistributeTranspilerConfig()
config.slice_var_up = True
......@@ -1226,6 +1242,7 @@ ExecutionStrategy
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name='x', shape=[13], dtype='float32')
y = fluid.layers.data(name='y', shape=[1], dtype='float32')
y_predict = fluid.layers.fc(input=x, size=1, act=None)
......@@ -1578,6 +1595,7 @@ in_dygraph_mode
.. code-block:: python
import paddle.fluid as fluid
if fluid.in_dygraph_mode():
pass
......@@ -1875,6 +1893,7 @@ name_scope
.. code-block:: python
import paddle.fluid as fluid
with fluid.name_scope("s1"):
a = fluid.layers.data(name='data', shape=[1], dtype='int32')
b = a + 1
......@@ -2043,6 +2062,7 @@ ParallelExecutor
.. code-block:: python
import paddle.fluid as fluid
pe = fluid.ParallelExecutor(use_cuda=use_cuda,
loss_name=avg_cost.name,
main_program=fluid.default_main_program())
......@@ -2211,6 +2231,7 @@ Program
.. code-block:: python
import paddle.fluid as fluid
test_program = fluid.default_main_program().clone(for_test=True)
optimizer = fluid.optimizer.Momentum(learning_rate=0.01, momentum=0.9)
optimizer.minimize()
......@@ -2538,6 +2559,7 @@ scope_guard
.. code-block:: python
import paddle.fluid as fluid
import numpy
new_scope = fluid.Scope()
......
......@@ -26,6 +26,7 @@ BilinearInitializer
.. code-block:: python
import paddle.fluid as fluid
factor = 2
C = 2
w_attr = fluid.initializer.ParamAttr(
......@@ -77,6 +78,7 @@ ConstantInitializer
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name="data", shape=[32, 32], dtype="float32")
fc = fluid.layers.fc(input=x, size=10,
param_attr=fluid.initializer.Constant(value=2.0))
......@@ -104,6 +106,7 @@ force_init_on_cpu
.. code-block:: python
import paddle.fluid as fluid
if fluid.initializer.force_init_on_cpu():
step = fluid.layers.create_global_var(shape=[2,3], value=1.0, dtype='float32')
......@@ -130,6 +133,7 @@ init_on_cpu
.. code-block:: python
import paddle.fluid as fluid
with fluid.initializer.init_on_cpu():
step = fluid.layers.create_global_var(shape=[2,3], value=1.0, dtype='float32')
......@@ -183,6 +187,7 @@ MSRAInitializer
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name="data", shape=[32, 32], dtype="float32")
fc = fluid.layers.fc(input=x, size=10, param_attr=fluid.initializer.MSRA(uniform=False))
......@@ -219,6 +224,7 @@ NormalInitializer
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name="data", shape=[32, 32], dtype="float32")
fc = fluid.layers.fc(input=x, size=10,
param_attr=fluid.initializer.Normal(loc=0.0, scale=2.0)
......@@ -240,6 +246,7 @@ NumpyArrayInitializer
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name="x", shape=[5], dtype='float32')
fc = fluid.layers.fc(input=x, size=10,
param_attr=fluid.initializer.NumpyArrayInitializer(numpy.array([1,2])))
......
......@@ -96,6 +96,7 @@ load_params
.. code-block:: python
import paddle.fluid as fluid
exe = fluid.Executor(fluid.CPUPlace())
param_path = "./my_paddle_model"
prog = fluid.default_main_program()
......@@ -131,6 +132,7 @@ load_persistables
.. code-block:: python
import paddle.fluid as fluid
exe = fluid.Executor(fluid.CPUPlace())
param_path = "./my_paddle_model"
prog = fluid.default_main_program()
......@@ -237,6 +239,7 @@ PyReader
.. code-block:: python
import paddle.fluid as fluid
EPOCH_NUM = 3
ITER_NUM = 5
BATCH_SIZE = 3
......@@ -278,6 +281,7 @@ PyReader
.. code-block:: python
import paddle.fluid as fluid
EPOCH_NUM = 3
ITER_NUM = 5
BATCH_SIZE = 10
......@@ -346,6 +350,7 @@ PyReader
.. code-block:: python
import paddle.fluid as fluid
BATCH_SIZE = 10
def generator():
......@@ -376,6 +381,7 @@ PyReader
.. code-block:: python
import paddle.fluid as fluid
BATCH_SIZE = 10
def generator():
......@@ -418,6 +424,7 @@ PyReader
.. code-block:: python
import paddle.fluid as fluid
EPOCH_NUM = 3
ITER_NUM = 15
BATCH_SIZE = 3
......@@ -464,6 +471,7 @@ PyReader
.. code-block:: python
import paddle.fluid as fluid
EPOCH_NUM = 3
ITER_NUM = 15
BATCH_SIZE = 3
......@@ -510,6 +518,7 @@ PyReader
.. code-block:: python
import paddle.fluid as fluid
EPOCH_NUM = 3
ITER_NUM = 15
BATCH_SIZE = 3
......@@ -636,6 +645,7 @@ save_params
.. code-block:: python
import paddle.fluid as fluid
exe = fluid.Executor(fluid.CPUPlace())
param_path = "./my_paddle_model"
prog = fluid.default_main_program()
......
......@@ -149,6 +149,7 @@ create_array
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.create_array(dtype='float32')
......@@ -391,6 +392,7 @@ greater_equal
.. code-block:: python
import paddle.fluid as fluid
out = fluid.layers.greater_equal(x=label, y=limit)
......@@ -417,6 +419,7 @@ greater_than
.. code-block:: python
import paddle.fluid as fluid
out = fluid.layers.greater_than(x=label, y=limit)
......@@ -564,6 +567,7 @@ less_equal
.. code-block:: python
import paddle.fluid as fluid
out = fluid.layers.less_equal(x=label, y=limit)
......@@ -594,6 +598,7 @@ less_than
.. code-block:: python
import paddle.fluid as fluid
label = fluid.layers.data(name='y', shape=[1], dtype='int64')
limit = fluid.layers.fill_constant(shape=[1], dtype='int64', value=5)
cond = fluid.layers.less_than(x=label, y=limit)
......@@ -621,6 +626,7 @@ not_equal
.. code-block:: python
import paddle.fluid as fluid
out = fluid.layers.not_equal(x=label, y=limit)
......
......@@ -34,6 +34,7 @@ anchor_generator
.. code-block:: python
import paddle.fluid as fluid
conv1 = fluid.layers.data(name='conv1', shape=[48, 16, 16], dtype='float32')
anchor, var = fluid.layers.anchor_generator(
input=conv1,
......@@ -86,6 +87,7 @@ bipartite_match
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name='x', shape=[4], dtype='float32')
y = fluid.layers.data(name='y', shape=[4], dtype='float32')
iou = fluid.layers.iou_similarity(x=x, y=y)
......@@ -131,6 +133,7 @@ box_clip
.. code-block:: python
import paddle.fluid as fluid
boxes = fluid.layers.data(
name='boxes', shape=[8, 4], dtype='float32', lod_level=1)
im_info = fluid.layers.data(name='im_info', shape=[3])
......@@ -210,6 +213,7 @@ Bounding Box Coder
.. code-block:: python
import paddle.fluid as fluid
prior_box = fluid.layers.data(name='prior_box',
shape=[512, 4],
dtype='float32',
......@@ -278,6 +282,7 @@ box decode过程得出decode_box,然后分配方案如下所述:
.. code-block:: python
import paddle.fluid as fluid
pb = fluid.layers.data(
name='prior_box', shape=[4], dtype='float32')
pbv = fluid.layers.data(
......@@ -322,6 +327,7 @@ collect_fpn_proposals
.. code-block:: python
import paddle.fluid as fluid
multi_rois = []
multi_scores = []
for i in range(4):
......@@ -402,6 +408,7 @@ density prior box的量由fixed_sizes and fixed_ratios决定。显然地,fixed
.. code-block:: python
import paddle.fluid as fluid
input = fluid.layers.data(name="input", shape=[3,6,9])
images = fluid.layers.data(name="images", shape=[3,9,12])
box, var = fluid.layers.density_prior_box(
......@@ -468,6 +475,8 @@ detection_map
.. code-block:: python
import paddle.fluid as fluid
from fluid.layers import detection
detect_res = fluid.layers.data(
name='detect_res',
shape=[10, 6],
......@@ -581,6 +590,7 @@ distribute_fpn_proposals
.. code-block:: python
import paddle.fluid as fluid
fpn_rois = fluid.layers.data(
name='data', shape=[4], dtype='float32', lod_level=1)
multi_rois, restore_ind = fluid.layers.distribute_fpn_proposals(
......@@ -962,6 +972,7 @@ multiclass_nms
.. code-block:: python
import paddle.fluid as fluid
boxes = fluid.layers.data(name='bboxes', shape=[81, 4],
dtype='float32', lod_level=1)
scores = fluid.layers.data(name='scores', shape=[81],
......@@ -1047,6 +1058,7 @@ prior_box
.. code-block:: python
import paddle.fluid as fluid
input = fluid.layers.data(name="input", shape=[3,6,9])
images = fluid.layers.data(name="images", shape=[3,9,12])
box, var = fluid.layers.prior_box(
......@@ -1422,6 +1434,7 @@ ssd_loss
.. code-block:: python
import paddle.fluid as fluid
pb = fluid.layers.data(
name='prior_box',
shape=[10, 4],
......@@ -1669,6 +1682,7 @@ yolov3_loss
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name='x', shape=[255, 13, 13], dtype='float32')
gt_box = fluid.layers.data(name='gtbox', shape=[6, 4], dtype='float32')
gt_label = fluid.layers.data(name='gtlabel', shape=[6], dtype='int32')
......
......@@ -24,6 +24,7 @@ batch
.. code-block:: python
import paddle.fluid as fluid
raw_reader = fluid.layers.io.open_files(filenames=['./data1.recordio',
'./data2.recordio'],
shapes=[(3,224,224), (1,)],
......@@ -153,6 +154,7 @@ data
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name='x', shape=[784], dtype='float32')
......@@ -299,6 +301,7 @@ reader变量中数据预处理块。
.. code-block:: python
import paddle.fluid as fluid
reader = fluid.layers.io.open_files(
filenames=['./data1.recordio', './data2.recordio'],
shapes=[(3, 224, 224), (1, )],
......@@ -485,6 +488,7 @@ random_data_generator
.. code-block:: python
import paddle.fluid as fluid
reader = fluid.layers.random_data_generator(
low=0.0,
high=1.0,
......@@ -563,6 +567,7 @@ shuffle
.. code-block:: python
import paddle.fluid as fluid
raw_reader = fluid.layers.io.open_files(filenames=['./data1.recordio',
'./data2.recordio'],
shapes=[(3,224,224), (1,)],
......
......@@ -29,6 +29,7 @@ cosine_decay
.. code-block:: python
import paddle.fluid as fluid
base_lr = 0.1
lr = fluid.layers.cosine_decay( learning_rate = base_lr, step_each_epoch=10000, epochs=120)
......@@ -156,6 +157,7 @@ linear_lr_warmup
.. code-block:: python
import paddle.fluid as fluid
boundaries = [100, 200]
lr_steps = [0.1, 0.01, 0.001]
warmup_steps = 50
......@@ -225,6 +227,7 @@ Noam衰减方法。noam衰减的numpy实现如下。
.. code-block:: python
import padde.fluid as fluid
import numpy as np
# 设置超参数
d_model = 2
......
......@@ -26,6 +26,7 @@ abs
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.abs(data)
......@@ -51,6 +52,7 @@ arccosine激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.acos(data)
......@@ -76,6 +78,7 @@ arcsine激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.asin(data)
......@@ -102,6 +105,7 @@ arctanh激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.atan(data)
......@@ -134,6 +138,7 @@ ceil
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.ceil(data)
......@@ -172,6 +177,7 @@ Cosine余弦激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.cos(data)
......@@ -203,6 +209,7 @@ cumsum
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.cumsum(data, axis=0)
......@@ -238,6 +245,7 @@ Exp激活函数(Exp指以自然常数e为底的指数运算)。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.exp(data)
......@@ -275,6 +283,7 @@ floor
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.floor(data)
......@@ -315,6 +324,7 @@ HardShrink激活函数(HardShrink activation operator)
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[784])
result = fluid.layers.hard_shrink(x=data, threshold=0.3)
......@@ -351,6 +361,7 @@ Logsigmoid激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.logsigmoid(data)
......@@ -386,6 +397,7 @@ Reciprocal(取倒数)激活函数
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.reciprocal(data)
......@@ -425,6 +437,7 @@ Round取整激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.round(data)
......@@ -456,6 +469,7 @@ rsqrt激活函数
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.rsqrt(data)
......@@ -485,6 +499,7 @@ sigmoid激活函数
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.sigmoid(data)
......@@ -524,6 +539,7 @@ sin
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.sin(data)
......@@ -561,6 +577,7 @@ softplus激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.softplus(data)
......@@ -600,6 +617,7 @@ Softshrink激活算子
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.softshrink(data)
......@@ -638,6 +656,7 @@ softsign激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.softsign(data)
......@@ -677,6 +696,7 @@ sqrt
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.sqrt(data)
......@@ -714,6 +734,7 @@ square
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.square(data)
......@@ -754,6 +775,7 @@ tanh 激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.tanh(data)
......@@ -792,6 +814,7 @@ tanh_shrink激活函数。
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[32, 784])
result = fluid.layers.tanh_shrink(data)
......@@ -829,6 +852,7 @@ ThresholdedRelu激活函数
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name="input", shape=[1])
result = fluid.layers.thresholded_relu(data, threshold=0.4)
......
......@@ -26,6 +26,7 @@ argmax
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name="x", shape=[3, 4], dtype="float32")
out = fluid.layers.argmax(x=in, axis=0)
out = fluid.layers.argmax(x=in, axis=-1)
......@@ -61,6 +62,7 @@ argmin
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name="x", shape=[3, 4], dtype="float32")
out = fluid.layers.argmin(x=in, axis=0)
out = fluid.layers.argmin(x=in, axis=-1)
......@@ -113,6 +115,7 @@ argsort
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name="x", shape=[3, 4], dtype="float32")
out, indices = fluid.layers.argsort(input=x, axis=0)
......@@ -180,6 +183,7 @@ cast
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(name='x', shape=[13], dtype='float32')
result = fluid.layers.cast(x=data, dtype='float64')
......@@ -215,6 +219,7 @@ concat
.. code-block:: python
import paddle.fluid as fluid
a = fluid.layers.data(name='a', shape=[2, 13], dtype='float32')
b = fluid.layers.data(name='b', shape=[2, 3], dtype='float32')
c = fluid.layers.data(name='c', shape=[2, 2], dtype='float32')
......@@ -254,6 +259,7 @@ create_global_var
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid.layers as layers
var = layers.create_global_var(shape=[2,3], value=1.0, dtype='float32',
persistable=True, force_cpu=True, name='new_var')
......@@ -290,6 +296,7 @@ create_parameter
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid.layers as layers
W = fluid.layers.create_parameter(shape=[784, 200], dtype='float32')
......@@ -323,6 +330,7 @@ create_tensor
.. code-block:: python
import paddle.fluid as fluid
tensor = fluid.layers.create_tensor(dtype='float32')
......@@ -350,6 +358,7 @@ diag
# [3, 0, 0]
# [0, 4, 0]
# [0, 0, 5]
import paddle.fluid as fluid
data = fluid.layers.diag(np.arange(3, 6))
......@@ -508,6 +517,7 @@ isfinite
.. code-block:: python
import paddle.fluid as fluid
var = fluid.layers.data(name="data",
shape=(4, 6),
dtype="float32")
......@@ -540,6 +550,7 @@ linspace
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.linspace(0, 10, 5, 'float32') # [0.0, 2.5, 5.0, 7.5, 10.0]
data = fluid.layers.linspace(0, 10, 1, 'float32') # [0.0]
......@@ -602,6 +613,7 @@ range
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.range(0, 10, 2, 'int32')
......@@ -808,6 +820,7 @@ zeros_like
.. code-block:: python
import paddle.fluid as fluid
x = fluid.layers.data(name='x', dtype='float32', shape=[3], append_batch_size=False)
data = fluid.layers.zeros_like(x) # [0.0, 0.0, 0.0]
......
......@@ -21,6 +21,7 @@ https://en.wikipedia.org/wiki/Accuracy_and_precision
.. code-block:: python
import paddle.fluid as fluid
# 假设有batch_size = 128
batch_size=128
accuracy_manager = fluid.metrics.Accuracy()
......@@ -77,6 +78,7 @@ auc函数创建四个局部变量true_positives, true_negatives, false_positives
.. code-block:: python
import paddle.fluid as fluid
import numpy as np
# 初始化auc度量
auc_metric = fluid.metrics.Auc("ROC")
......@@ -134,6 +136,7 @@ ChunkEvaluator
.. code-block:: python
import paddle.fluid as fluid
# 初始化chunck-level的评价管理。
metric = fluid.metrics.ChunkEvaluator()
......@@ -185,6 +188,7 @@ CompositeMetric
.. code-block:: python
import paddle.fluid as fluid
import numpy as np
preds = [[0.1], [0.7], [0.8], [0.9], [0.2],
[0.2], [0.3], [0.5], [0.8], [0.6]]
......@@ -271,6 +275,7 @@ DetectionMAP
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid.layers as layers
batch_size = -1 # 可以为任意大小
......@@ -339,6 +344,7 @@ EditDistance
.. code-block:: python
import paddle.fluid as fluid
import numpy as np
# 假设batch_size为128
......@@ -366,6 +372,7 @@ EditDistance
.. code-block:: python
import paddle.fluid as fluid
edit_distances_batch2 = np.random.randint(low = 0, high = 10, size = (batch_size, 1))
seq_num_batch2 = batch_size
distance_evaluator.update(edit_distances_batch2, seq_num_batch2)
......@@ -456,6 +463,7 @@ https://en.wikipedia.org/wiki/Evaluation_of_binary_classifiers
.. code-block:: python
import paddle.fluid as fluid
import numpy as np
metric = fluid.metrics.Precision()
......@@ -499,6 +507,7 @@ https://en.wikipedia.org/wiki/Precision_and_recall
.. code-block:: python
import paddle.fluid as fluid
import numpy as np
metric = fluid.metrics.Recall()
......
......@@ -30,6 +30,7 @@ he Gated Linear Units(GLU)由切分(split),sigmoid激活函数和按元素
.. code-block:: python
import paddle.fluid as fluid
data = fluid.layers.data(
name="words", shape=[-1, 6, 3, 9], dtype="float32")
# 输出的形状为[-1, 3, 3, 9]
......@@ -74,6 +75,7 @@ Image Convolution Group由Convolution2d,BatchNorm,DropOut和Pool2d组成。
.. code-block:: python
import paddle.fluid as fluid
img = fluid.layers.data(name='img', shape=[1, 28, 28], dtype='float32')
conv_pool = fluid.nets.img_conv_group(input=img,
conv_padding=1,
......
......@@ -340,6 +340,7 @@ DGC还使用动量因子掩藏(momentum factor masking)和预训练(warm-up)来
.. code-block:: python
import paddle.fluid as fluid
optimizer = fluid.optimizer.DGCMomentumOptimizer(
learning_rate=0.0001,
momentum=0.9,
......@@ -546,15 +547,16 @@ FTRL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-predi
LambOptimizer
-------------------------------
.. py:class:: paddle.fluid.optimizer.LambOptimizer(learning_rate=0.001, lamb_weight_decay=0.01, beta1=0.9, beta2=0.999, epsilon=1e-06, regularization=None, name=None)
.. py:class:: paddle.fluid.optimizer.LambOptimizer(learning_rate=0.001, lamb_weight_decay=0.01, beta1=0.9, beta2=0.999, epsilon=1e-06, regularization=None, exclude_from_weight_decay_fn=None, name=None)
LAMB(Layer-wise Adaptive Moments optimizer for Batching training)优化器
LAMB优化器旨在不降低准确性的条件下扩大训练的批量大小,支持自适应元素更新和精确的分层校正。 更多信息请参考Reducing BERT Pre-Training Time from 3 Days to 76 Minutes。
LAMB优化器旨在不降低准确性的条件下扩大训练的批量大小,支持自适应元素更新和精确的分层校正。 更多信息请参考 `Large Batch Optimization for
Deep Learning: Training BERT in 76 minutes <https://arxiv.org/pdf/1904.00962.pdf>`_ 。
参数更新如下:
.. math::
\begin{align}\begin{aligned}m_t^l & = \beta_1 m_{t - 1}^l + (1 - \beta_1)g_t^l\\v_t^l & = \beta_2 v_{t - 1}^l + (1 - \beta_2)g_t^l \odot g_t^l\\\widehat{m}_t^l & = m_t^l/(1 - \beta_1^t)\\\widehat{v}_t^l & = v_t^l/(1 - \beta_2^t)\\r_1 & = \left \| w_{t-1}^l \right \|_2\\r_2 & = \left \| \frac{\widehat{m}_t^l}{\sqrt{\widehat{v}_t^l+\epsilon}} + \lambda w_{t-1}^l \right \|_2\\r & = r_1 / r_2\\\eta^l & = r \times \eta\\w_t^l & = w_{t-1}^l -\eta ^l \times (\frac{\widehat{m}_t^l}{\sqrt{\widehat{v}_t^l+\epsilon}} + \lambda w_{t-1}^l)\end{aligned}\end{align}
\begin{align}\begin{aligned}m_t &= \beta_1 m_{t - 1}+ (1 - \beta_1)g_t \\\v_t &= \beta_2 v_{t - 1} + (1 - \beta_2)g_t^2 \\\r_t &= \frac{m_t}{\sqrt{v_t}+\epsilon} \\\w_t &= w_{t-1} -\eta_t \frac{\left \| w_{t-1}\right \|}{\left \| r_t + \lambda w_{t-1}\right \|} (r_t + \lambda w_{t-1})\end{aligned}\end{align}
其中 :math:`m` 为第一个时刻,:math:`v` 为第二个时刻,:math:`\eta` 为学习率,:math:`\lambda` 为LAMB权重衰减率。
......@@ -564,7 +566,8 @@ LAMB优化器旨在不降低准确性的条件下扩大训练的批量大小,
- **beta1** (float) – 第一个时刻估计的指数衰减率。
- **beta2** (float) – 第二个时刻估计的指数衰减率。
- **epsilon** (float) – 一个小的浮点值,目的是维持数值稳定性。
- **regularization** – 一个正则化器,如fluid.regularizer.L1DecayRegularizer。
- **regularization** (Regularizer) – 一个正则化器,如fluid.regularizer.L1DecayRegularizer。
- **exclude_from_weight_decay_fn** (function) – 当返回值为True时从权重衰减中去除某个参数。
- **name** (str|None) – 名字前缀(可选项)。
**代码示例**
......@@ -576,8 +579,12 @@ LAMB优化器旨在不降低准确性的条件下扩大训练的批量大小,
data = fluid.layers.data(name='x', shape=[5], dtype='float32')
hidden = fluid.layers.fc(input=data, size=10)
cost = fluid.layers.mean(hidden)
def exclude_fn(param):
return param.name.endswith('.b_0')
optimizer = fluid.optimizer.Lamb(learning_rate=0.002)
optimizer = fluid.optimizer.Lamb(learning_rate=0.002,
exclude_from_weight_decay_fn=exclude_fn)
optimizer.minimize(cost)
......@@ -625,6 +632,7 @@ LARS支持的Momentum优化器
.. code-block:: python
import paddle.fluid as fluid
optimizer = fluid.optimizer.LarsMomentum(learning_rate=0.2, momentum=0.1, lars_weight_decay=0.001)
optimizer.minimize(cost)
......
......@@ -82,6 +82,7 @@ profile interface 。与cuda_profiler不同,此profiler可用于分析CPU和GP
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid.profiler as profiler
import numpy as np
......@@ -118,6 +119,7 @@ reset_profiler
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid.profiler as profiler
with profiler.profiler('CPU', 'total', '/tmp/profile'):
for iter in range(10):
......@@ -155,6 +157,7 @@ start_profiler
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid.profiler as profiler
profiler.start_profiler('GPU')
......@@ -195,6 +198,7 @@ stop_profiler
.. code-block:: python
import paddle.fluid as fluid
import paddle.fluid.profiler as profiler
profiler.start_profiler('GPU')
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册