未验证 提交 1dd2f697 编写于 作者: T Tink_Y 提交者: GitHub

Merge pull request #472 from tink2123/update_nn_2

Update layers_nn_1
......@@ -1714,7 +1714,12 @@ BRelu 激活函数
- **name** (str|None) - 该层的名称(可选)。如果设置为None,该层将被自动命名
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name="x", shape=[2,3,16,16], dtype=”float32”)
y = fluid.layers.brelu(x, t_min=1.0, t_max=20.0)
......@@ -1826,7 +1831,7 @@ clip
clip算子
clip运算符限制给定输入的值在一个区间内。间隔使用参数“min”和“max”来指定:公式为
clip运算符限制给定输入的值在一个区间内。间隔使用参数"min"和"max"来指定:公式为
.. math::
Out=min(max(X,min),max)
......@@ -1841,9 +1846,13 @@ clip运算符限制给定输入的值在一个区间内。间隔使用参数“m
返回类型: 输出(Variable)。
**代码示例:**
.. code-block:: python
input = fluid.layers.data(
name='data', shape=[1], dtype='float32')
reward = fluid.layers.clip(x=input, min=-1.0, max=1.0)
......@@ -1866,13 +1875,6 @@ ClipByNorm算子
其中, :math:`norm(X)` 代表 ``x`` 的L2范数。
例如,
.. code-block:: python
data = fluid.layer.data( name=’data’, shape=[2, 4, 6], dtype=’float32’)
reshaped = fluid.layers.clip_by_norm( x=data, max_norm=0.5)
参数:
- **x** (Variable)- (Tensor) clip_by_norm运算的输入,维数必须在[1,9]之间。
......@@ -1883,7 +1885,13 @@ ClipByNorm算子
返回类型: Variable
**代码示例:**
.. code-block:: python
input = fluid.layers.data(
name='data', shape=[1], dtype='float32')
reward = fluid.layers.clip_by_norm(x=input, max_norm=1.0)
......@@ -3387,7 +3395,12 @@ ELU激活层(ELU Activation Operator)
返回类型: 输出(Variable)
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name="x", shape=[3,10,32,32], dtype="float32")
y = fluid.layers.elu(x, alpha=0.2)
......@@ -3953,7 +3966,12 @@ sigmoid的分段线性逼近(https://arxiv.org/abs/1603.00391),比sigmoid快
- **name** (str|None) - 这个层的名称(可选)。如果设置为None,该层将被自动命名。
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name="x", shape=[3,10,32,32], dtype="float32")
y = fluid.layers.hard_sigmoid(x, slope=0.3, offset=0.8)
......@@ -4173,25 +4191,36 @@ image_resize
输入张量的shape为(num_batch, channels, in_h, in_w),并且调整大小只适用于最后两个维度(高度和宽度)。
支持重新取样方法: 双线性插值
支持重新取样方法:
BILINEAR:双线性插值
NEAREST:最近邻插值
参数:
- **input** (Variable) - 图片调整层的输入张量,这是一个shape=4的张量(num_batch, channels, in_h, in_w)
- **out_shape** (list|tuple|Variable|None) - 图片调整层的输出,shape为(out_h, out_w)。默认值:None
- **scale** (float|None)-输入的高度或宽度的乘数因子 。 out_shape和scale至少要设置一个。out_shape的优先级高于scale。默认值:None
- **name** (str|None) - 该层的名称(可选)。如果设置为None,该层将被自动命名
- **resample** (str) - 重采样方法。目前只支持“双线性”。默认值:双线性插值
- **actual_shape** (Variable) - 可选输入,用于动态指定输出形状。如果指定actual_shape,图像将根据给定的形状调整大小,而不是根据指定形状的 :code:`out_shape` 和 :code:`scale` 进行调整。也就是说, :code:`actual_shape` 具有最高的优先级。如果希望动态指定输出形状,建议使用 :code:`actual_shape` 而不是 :code:`out_shape` 。在使用actual_shape指定输出形状时,还需要设置out_shape和scale之一,否则在图形构建阶段会出现错误。默认值:None
返回: 4维tensor,shape为 (num_batches, channls, out_h, out_w).
返回类型: 变量(variable)
抛出异常:
- :code:`TypeError` - out_shape应该是一个列表、元组或变量。
- :code:`TypeError` - actual_shape应该是变量或None
- :code:`ValueError` - image_resize的"resample"只能是"BILINEAR"或"NEAREST"。
- :code:`ValueError` - out_shape 和 scale 不能为 None
- :code:`ValueError` - out_shape 的长度必须为 2
**代码示例**
.. code-block:: python
out = fluid.layers.image_resize(input, out_shape=[12, 12])
out = fluid.layers.image_resize(input, out_shape=[12, 12], resample="NEAREST")
......@@ -4396,7 +4425,12 @@ LeakyRelu 激活函数
- **alpha** (FLOAT|0.02) - 负斜率,值很小。
- **name** (str|None) - 此层的名称(可选)。如果设置为None,该层将被自动命名。
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name="x", shape=[2,3,16,16], dtype="float32")
y = fluid.layers.leaky_relu(x, alpha=0.01)
......@@ -4670,6 +4704,16 @@ logical_and算子
返回类型: 输出(Variable)。
**代码示例:**
.. code-block:: python
left = fluid.layers.data(
name='left', shape=[1], dtype='int32')
right = fluid.layers.data(
name='right', shape=[1], dtype='int32')
result = fluid.layers.logical_and(x=left, y=right)
......@@ -4702,7 +4746,13 @@ logical_not算子
返回类型: 输出(Variable)。
**代码示例:**
.. code-block:: python
left = fluid.layers.data(
name='left', shape=[1], dtype='int32')
result = fluid.layers.logical_not(x=left)
......@@ -4736,7 +4786,15 @@ logical_or算子
**代码示例:**
.. code-block:: python
left = fluid.layers.data(
name='left', shape=[1], dtype='int32')
right = fluid.layers.data(
name='right', shape=[1], dtype='int32')
result = fluid.layers.logical_or(x=left, y=right)
......@@ -4769,7 +4827,15 @@ logical_xor算子
**代码示例:**
.. code-block:: python
left = fluid.layers.data(
name='left', shape=[1], dtype='int32')
right = fluid.layers.data(
name='right', shape=[1], dtype='int32')
result = fluid.layers.logical_xor(x=left, y=right)
......@@ -5772,7 +5838,12 @@ pow
返回类型: 输出(Variable)
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name="x", shape=[3,10,32,32], dtype="float32")
y = fluid.layers.pow(x, factor=2.0)
......@@ -6199,7 +6270,12 @@ relu6激活算子(Relu6 Activation Operator)
返回类型: 输出(Variable)
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name="x", shape=[3,10,32,32], dtype="float32")
y = fluid.layers.relu6(x, threshold=6.0)
......@@ -6212,10 +6288,12 @@ relu6激活算子(Relu6 Activation Operator)
reshape
-------------------------------
.. py:function:: paddle.fluid.layers.reshape(x, shape, actual_shape=None, act=None, inplace=False, name=None)
保持输入张量数据不变的情况下,改变张量的形状。
目标形状可由 ``shape`` 或 ``actual_shape`` 给出。``shape``是一个整数列表,而 ``actual_shape``是一个张量变量。
当两个属性同时被指定时,``actual_shape``的优先级高于 ``shape``,但在编译时仍然应该正确地设置shape以保证形状推断。
目标形状可由 ``shape`` 或 ``actual_shape`` 给出。``shape`` 是一个整数列表,而 ``actual_shape`` 是一个张量变量。
当两个属性同时被指定时,``actual_shape`` 的优先级高于 ``shape`` ,但在编译时仍然应该正确地设置 ``shape`` 以保证形状推断。
在指定目标shape时存在一些技巧:
......@@ -6238,10 +6316,10 @@ reshape
- **shape** (list) - 新的形状。新形状最多只能有一个维度为-1。
- **actual_shape** (variable) - 一个可选的输入。如果提供,则根据 ``actual_shape`` 进行 reshape,而不是指定 ``shape`` 。也就是说,actual_shape具有比shape更高的优先级。
- **act** (str) - 对reshpe后的tensor变量执行非线性激活
- **inplace** (bool) - 如果在多个操作符中使用x,则 ``inplace``必须设置为False。如果该标志设置为True,则重用输入x进行reshape,这将改变张量变量x的形状,并可能在多个操作符中使用x时造成错误。如果为False,则保留形状x,并创建一个新的输出张量变量,该张量变量的数据是从输入x复制的,但经过了重构。
- **inplace** (bool) - 如果在多个操作符中使用x,则 ``inplace`` 必须设置为False。如果该标志设置为True,则重用输入x进行reshape,这将改变张量变量x的形状,并可能在多个操作符中使用x时造成错误。如果为False,则保留形状x,并创建一个新的输出张量变量,该张量变量的数据是从输入x复制的,但经过了重构。
- **name** (str) - 可选变量,此层的名称
返回:如果 ``act`` 为 ``None``,返回reshape后的tensor变量。如果 ``inplace``为 ``False``,将返回一个新的Tensor变量,否则,将改变x自身。如果 ``act``不是 ``None``,则返回激活的张量变量。
返回:如果 ``act`` 为 ``None``,返回reshape后的tensor变量。如果 ``inplace`` 为 ``False`` ,将返回一个新的Tensor变量,否则,将改变x自身。如果 ``act`` 不是 ``None`` ,则返回激活的张量变量。
抛出异常:``TypeError`` - 如果 actual_shape 既不是变量也不是None
......@@ -6270,6 +6348,8 @@ resize_bilinear
.. py:function:: paddle.fluid.layers.resize_bilinear(input, out_shape=None, scale=None, name=None)
根据指定的out_shape执行双线性插值调整输入大小,输出形状按优先级由actual_shape、out_shape和scale指定。
双线性插值是对线性插值的扩展,即二维变量方向上(如h方向和w方向)插值。关键思想是先在一个方向上执行线性插值,然后再在另一个方向上执行线性插值。
`详情请参阅维基百科 https://en.wikipedia.org/wiki/Bilinear_interpolation <https://en.wikipedia.org/wiki/Bilinear_interpolation>`_
......@@ -6279,11 +6359,16 @@ resize_bilinear
- **out_shape** (Variable) - 一维张量,包含两个数。第一个数是高度,第二个数是宽度。
- **scale** (float|None) - 用于输入高度或宽度的乘数因子。out_shape和scale至少要设置一个。out_shape的优先级高于scale。默认值:None。
- **name** (str|None) - 输出变量名。
- **actual_shape** (Variable) - 可选输入,用于动态指定输出形状。如果指定actual_shape,图像将根据给定的形状调整大小,而不是根据指定形状的 :code:`out_shape` 和 :code:`scale` 进行调整。也就是说, :code:`actual_shape` 具有最高的优先级。如果希望动态指定输出形状,建议使用 :code:`actual_shape` 而不是 :code:`out_shape` 。在使用actual_shape指定输出形状时,还需要设置out_shape和scale之一,否则在图形构建阶段会出现错误。默认值:None
返回: 输出的维度是(N x C x out_h x out_w)
**代码示例:**
.. code-block:: python
out = fluid.layers.resize_bilinear(input, out_shape=[12, 12])
......@@ -7757,7 +7842,12 @@ SoftRelu 激活函数
- **threshold** (FLOAT|40.0) - SoftRelu的阈值
- **name** (str|None) - 该层的名称(可选)。如果设置为None,该层将被自动命名
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name=”x”, shape=[2,3,16,16], dtype=”float32”)
y = fluid.layers.soft_relu(x, threshold=20.0)
......@@ -8111,7 +8201,12 @@ STanh 激活算子(STanh Activation Operator.)
返回类型: 输出(Variable)
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name="x", shape=[3,10,32,32], dtype="float32")
y = fluid.layers.stanh(x, scale_a=0.67, scale_b=1.72)
......@@ -8168,7 +8263,12 @@ Swish 激活函数
返回类型: output(Variable)
**代码示例:**
.. code-block:: python
x = fluid.layers.data(name="x", shape=[3,10,32,32], dtype="float32")
y = fluid.layers.swish(x, beta=2.0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册