Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
13110892
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看板
未验证
提交
13110892
编写于
8月 21, 2020
作者:
Q
Qi Li
提交者:
GitHub
8月 21, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
hardtanh prelu softmax, test=develop (#2425)
上级
3354d556
变更
29
隐藏空白更改
内联
并排
Showing
29 changed file
with
418 addition
and
22 deletion
+418
-22
doc/fluid/api/nn.rst
doc/fluid/api/nn.rst
+3
-0
doc/fluid/api/nn/activation.rst
doc/fluid/api/nn/activation.rst
+3
-0
doc/fluid/api/nn/activation/ELU.rst
doc/fluid/api/nn/activation/ELU.rst
+7
-0
doc/fluid/api/nn/activation/GELU.rst
doc/fluid/api/nn/activation/GELU.rst
+7
-0
doc/fluid/api/nn/activation/Hardtanh.rst
doc/fluid/api/nn/activation/Hardtanh.rst
+7
-0
doc/fluid/api/nn/activation/LogSigmoid.rst
doc/fluid/api/nn/activation/LogSigmoid.rst
+7
-0
doc/fluid/api/nn/activation/PReLU.rst
doc/fluid/api/nn/activation/PReLU.rst
+7
-0
doc/fluid/api/nn/activation/ReLU.rst
doc/fluid/api/nn/activation/ReLU.rst
+7
-0
doc/fluid/api/nn/activation/Softmax.rst
doc/fluid/api/nn/activation/Softmax.rst
+7
-0
doc/fluid/api/nn/elu.rst
doc/fluid/api/nn/elu.rst
+3
-1
doc/fluid/api/nn/gelu.rst
doc/fluid/api/nn/gelu.rst
+3
-1
doc/fluid/api/nn/hardtanh.rst
doc/fluid/api/nn/hardtanh.rst
+7
-0
doc/fluid/api/nn/logsigmoid.rst
doc/fluid/api/nn/logsigmoid.rst
+3
-1
doc/fluid/api/nn/prelu.rst
doc/fluid/api/nn/prelu.rst
+7
-0
doc/fluid/api/nn/relu.rst
doc/fluid/api/nn/relu.rst
+7
-0
doc/fluid/api/nn/softmax.rst
doc/fluid/api/nn/softmax.rst
+1
-4
doc/fluid/api_cn/nn_cn.rst
doc/fluid/api_cn/nn_cn.rst
+2
-0
doc/fluid/api_cn/nn_cn/activation_cn.rst
doc/fluid/api_cn/nn_cn/activation_cn.rst
+3
-0
doc/fluid/api_cn/nn_cn/activation_cn/ELU_cn.rst
doc/fluid/api_cn/nn_cn/activation_cn/ELU_cn.rst
+1
-1
doc/fluid/api_cn/nn_cn/activation_cn/GELU_cn.rst
doc/fluid/api_cn/nn_cn/activation_cn/GELU_cn.rst
+1
-1
doc/fluid/api_cn/nn_cn/activation_cn/Hardtanh_cn.rst
doc/fluid/api_cn/nn_cn/activation_cn/Hardtanh_cn.rst
+45
-0
doc/fluid/api_cn/nn_cn/activation_cn/LogSigmoid_cn.rst
doc/fluid/api_cn/nn_cn/activation_cn/LogSigmoid_cn.rst
+3
-3
doc/fluid/api_cn/nn_cn/activation_cn/PRelu_cn.rst
doc/fluid/api_cn/nn_cn/activation_cn/PRelu_cn.rst
+53
-0
doc/fluid/api_cn/nn_cn/activation_cn/Softmax_cn.rst
doc/fluid/api_cn/nn_cn/activation_cn/Softmax_cn.rst
+117
-0
doc/fluid/api_cn/nn_cn/elu_cn.rst
doc/fluid/api_cn/nn_cn/elu_cn.rst
+1
-1
doc/fluid/api_cn/nn_cn/hardtanh_cn.rst
doc/fluid/api_cn/nn_cn/hardtanh_cn.rst
+45
-0
doc/fluid/api_cn/nn_cn/logsigmoid_cn.rst
doc/fluid/api_cn/nn_cn/logsigmoid_cn.rst
+1
-1
doc/fluid/api_cn/nn_cn/prelu_cn.rst
doc/fluid/api_cn/nn_cn/prelu_cn.rst
+50
-0
doc/fluid/api_cn/nn_cn/softmax_cn.rst
doc/fluid/api_cn/nn_cn/softmax_cn.rst
+10
-8
未找到文件。
doc/fluid/api/nn.rst
浏览文件 @
13110892
...
...
@@ -62,6 +62,7 @@ paddle.nn
nn/grid_sampler.rst
nn/GroupNorm.rst
nn/hardshrink.rst
nn/hardtanh.rst
nn/hard_sigmoid.rst
nn/hard_swish.rst
nn/hash.rst
...
...
@@ -104,12 +105,14 @@ paddle.nn
nn/polynomial_decay.rst
nn/Pool2D.rst
nn/pool3d.rst
nn/prelu.rst
nn/prior_box.rst
nn/prroi_pool.rst
nn/psroi_pool.rst
nn/random_crop.rst
nn/rank_loss.rst
nn/ReLU.rst
nn/relu.rst
nn/relu6.rst
nn/resize_bilinear.rst
nn/resize_nearest.rst
...
...
doc/fluid/api/nn/activation.rst
浏览文件 @
13110892
...
...
@@ -8,5 +8,8 @@ activation
activation/ELU.rst
activation/GELU.rst
activation/Hardshrink.rst
activation/Hardtanh.rst
activation/PReLU.rst
activation/ReLU.rst
activation/LogSigmoid.rst
activation/Softmax.rst
doc/fluid/api/nn/activation/ELU.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_activation_ELU:
ELU
-------------------------------
.. autoclass:: paddle.nn.ELU
:noindex:
\ No newline at end of file
doc/fluid/api/nn/activation/GELU.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_activation_GELU:
GELU
-------------------------------
.. autoclass:: paddle.nn.GELU
:noindex:
\ No newline at end of file
doc/fluid/api/nn/activation/Hardtanh.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_activation_Hardtanh:
Hardtanh
-------------------------------
.. autoclass:: paddle.nn.Hardtanh
:noindex:
\ No newline at end of file
doc/fluid/api/nn/activation/LogSigmoid.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_activation_LogSigmoid:
LogSigmoid
-------------------------------
.. autoclass:: paddle.nn.LogSigmoid
:noindex:
\ No newline at end of file
doc/fluid/api/nn/activation/PReLU.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_activation_PReLU:
PReLU
-------------------------------
.. autoclass:: paddle.nn.PReLU
:noindex:
\ No newline at end of file
doc/fluid/api/nn/activation/ReLU.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_activation_ReLU:
ReLU
-------------------------------
.. autoclass:: paddle.nn.ReLU
:noindex:
\ No newline at end of file
doc/fluid/api/nn/activation/Softmax.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_activation_Softmax:
Softmax
-------------------------------
.. autoclass:: paddle.nn.Softmax
:noindex:
\ No newline at end of file
doc/fluid/api/nn/elu.rst
浏览文件 @
13110892
...
...
@@ -2,6 +2,8 @@
elu
-------------------------------
:doc_source: paddle.fluid.layers.elu
.. autofunction:: paddle.nn.functional.elu
:noindex:
doc/fluid/api/nn/gelu.rst
浏览文件 @
13110892
...
...
@@ -2,6 +2,8 @@
gelu
-------------------------------
:doc_source: paddle.fluid.layers.gelu
.. autofunction:: paddle.nn.functional.gelu
:noindex:
doc/fluid/api/nn/hardtanh.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_hardtanh:
hardtanh
-------------------------------
.. autofunction:: paddle.nn.functional.hardtanh
:noindex:
doc/fluid/api/nn/logsigmoid.rst
浏览文件 @
13110892
...
...
@@ -2,6 +2,8 @@
logsigmoid
-------------------------------
:doc_source: paddle.fluid.layers.logsigmoid
.. autofunction:: paddle.nn.functional.logsigmoid
:noindex:
doc/fluid/api/nn/prelu.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_prelu:
prelu
-------------------------------
.. autofunction:: paddle.nn.functional.prelu
:noindex:
\ No newline at end of file
doc/fluid/api/nn/relu.rst
0 → 100644
浏览文件 @
13110892
.. _api_nn_relu:
relu
-------------------------------
.. autofunction:: paddle.nn.functional.relu
:noindex:
\ No newline at end of file
doc/fluid/api/nn/softmax.rst
浏览文件 @
13110892
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_softmax:
softmax
-------
-------
------------------------
.. autofunction:: paddle.nn.functional.softmax
:noindex:
...
...
doc/fluid/api_cn/nn_cn.rst
浏览文件 @
13110892
...
...
@@ -75,6 +75,7 @@ paddle.nn
nn_cn/grid_sampler_cn.rst
nn_cn/GroupNorm_cn.rst
nn_cn/hardshrink_cn.rst
nn_cn/hardtanh_cn.rst
nn_cn/hard_sigmoid_cn.rst
nn_cn/hard_swish_cn.rst
nn_cn/hash_cn.rst
...
...
@@ -117,6 +118,7 @@ paddle.nn
nn_cn/pool2d_cn.rst
nn_cn/Pool2D_cn.rst
nn_cn/pool3d_cn.rst
nn_cn/prelu_cn.rst
nn_cn/prior_box_cn.rst
nn_cn/prroi_pool_cn.rst
nn_cn/psroi_pool_cn.rst
...
...
doc/fluid/api_cn/nn_cn/activation_cn.rst
浏览文件 @
13110892
...
...
@@ -11,8 +11,11 @@ activation
activation_cn/ELU_cn.rst
activation_cn/GELU_cn.rst
activation_cn/Hardshrink_cn.rst
activation_cn/Hardtanh_cn.rst
activation_cn/PRelu_cn.rst
activation_cn/ReLU_cn.rst
activation_cn/LeakyReLU_cn.rst
activation_cn/Softmax_cn.rst
activation_cn/LogSoftmax_cn.rst
activation_cn/Sigmoid_cn.rst
activation_cn/LogSigmoid_cn.rst
doc/fluid/api_cn/nn_cn/activation_cn/ELU_cn.rst
浏览文件 @
13110892
...
...
@@ -6,7 +6,7 @@ ELU
ELU激活层(ELU Activation Operator)
根据 `Exponential Linear Units <https://arxiv.org/abs/1511.07289>` 对输入Tensor中每个元素应用以下计算。
根据 `Exponential Linear Units <https://arxiv.org/abs/1511.07289>`
_
对输入Tensor中每个元素应用以下计算。
.. math::
...
...
doc/fluid/api_cn/nn_cn/activation_cn/GELU_cn.rst
浏览文件 @
13110892
...
...
@@ -6,7 +6,7 @@ GELU
GELU激活层(GELU Activation Operator)
更多细节请参考 `Gaussian Error Linear Units <https://arxiv.org/abs/1606.08415>`
。
逐元素计算 GELU激活函数。更多细节请参考 `Gaussian Error Linear Units <https://arxiv.org/abs/1606.08415>`_
。
如果使用近似计算:
...
...
doc/fluid/api_cn/nn_cn/activation_cn/Hardtanh_cn.rst
0 → 100644
浏览文件 @
13110892
.. _cn_api_nn_Hardtanh:
Hardtanh
-------------------------------
.. py:class:: paddle.nn.Hardtanh(min=-1.0, max=1.0, name=None)
Hardtanh激活层(Hardtanh Activation Operator)。计算公式如下:
.. math::
Hardtanh(x)=
\left\{
\begin{aligned}
&max, & & if \ x > max \\
&min, & & if \ x < min \\
&x, & & if \ others
\end{aligned}
\right.
其中,:math:`x` 为输入的 Tensor
参数
::::::::::
- min (float, 可选) - Hardtanh激活计算公式中的min值。默认值为-1。
- max (float, 可选) - Hardtanh激活计算公式中的max值。默认值为1。
- name (str, 可选) - 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
形状:
::::::::::
- input: 任意形状的Tensor。
- output: 和input具有相同形状的Tensor。
代码示例
:::::::::
.. code-block:: python
import paddle
import numpy as np
paddle.disable_static()
x = paddle.to_tensor(np.array([-1.5, 0.3, 2.5]))
m = paddle.nn.Hardtanh()
out = m(x) # # [-1., 0.3, 1.]
doc/fluid/api_cn/nn_cn/activation_cn/LogSigmoid_cn.rst
浏览文件 @
13110892
...
...
@@ -4,11 +4,11 @@ LogSigmoid
-------------------------------
.. py:class:: paddle.nn.LogSigmoid(name=None)
Log
s
igmoid激活层。计算公式如下:
Log
S
igmoid激活层。计算公式如下:
.. math::
Log
s
igmoid(x) = \log \frac{1}{1 + e^{-x}}
Log
S
igmoid(x) = \log \frac{1}{1 + e^{-x}}
其中,:math:`x` 为输入的 Tensor
...
...
@@ -33,4 +33,4 @@ Logsigmoid激活层。计算公式如下:
x = paddle.to_tensor(np.array([1.0, 2.0, 3.0, 4.0]))
m = paddle.nn.LogSigmoid()
out = m(x) # [
0.7310586, 0.880797, 0.95257413, 0.98201376
]
out = m(x) # [
-0.313262 -0.126928 -0.0485874 -0.0181499
]
doc/fluid/api_cn/nn_cn/activation_cn/PRelu_cn.rst
0 → 100644
浏览文件 @
13110892
.. _cn_api_nn_PRelu:
PRelu
-------------------------------
.. py:class:: paddle.nn.PRelu(num_parameters=1, init=0.25, weight_attr=None, name=None)
PRelu激活层(PRelu Activation Operator)。计算公式如下:
如果使用近似计算:
.. math::
PReLU(x) = max(0, x) + weight * min(0, x)
其中,:math:`x` 为输入的 Tensor
参数
::::::::::
- num_parameters (int, 可选) - 可训练`weight`数量,支持2种输入:1 - 输入中的所有元素使用同一个`weight`值; 输入的通道数 - 在同一个通道中的元素使用同一个`weight`值。默认为1。
- init (float, 可选) - `weight`的初始值。默认为0.25。
- weight_attr (ParamAttr, 可选) - 指定权重参数属性的对象。默认值为None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_fluid_ParamAttr` 。
- name (str, 可选) - 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
形状:
::::::::::
- input: 任意形状的Tensor。
- output: 和input具有相同形状的Tensor。
代码示例
:::::::::
.. code-block:: python
import paddle
import numpy as np
paddle.disable_static()
data = np.array([[[[-2.0, 3.0, -4.0, 5.0],
[ 3.0, -4.0, 5.0, -6.0],
[-7.0, -8.0, 8.0, 9.0]],
[[ 1.0, -2.0, -3.0, 4.0],
[-5.0, 6.0, 7.0, -8.0],
[ 6.0, 7.0, 8.0, 9.0]]]], 'float32')
x = paddle.to_tensor(data)
m = paddle.nn.PReLU(1, 0.25)
out = m(x)
# [[[[-0.5 , 3. , -1. , 5. ],
# [ 3. , -1. , 5. , -1.5 ],
# [-1.75, -2. , 8. , 9. ]],
# [[ 1. , -0.5 , -0.75, 4. ],
# [-1.25, 6. , 7. , -2. ],
# [ 6. , 7. , 8. , 9. ]]]]
\ No newline at end of file
doc/fluid/api_cn/nn_cn/activation_cn/Softmax_cn.rst
0 → 100644
浏览文件 @
13110892
.. _cn_api_nn_Softmax:
Softmax
-------------------------------
.. py:class:: paddle.nn.Softmax(axis=-1, name=None)
Softmax激活层,OP的计算过程如下:
步骤1:输入 ``x`` 的 ``axis`` 维会被置换到最后一维;
步骤2:将输入 ``x`` 在逻辑上变换为二维矩阵。二维矩阵第一维(列长度)是输入除最后一维之外的其他维度值的乘积,第二维(行长度)和输入 ``axis`` 维的长度相同;对于矩阵的每一行,softmax操作对其进行重新缩放,使得该行的每个元素在 \[0,1\] 范围内,并且总和为1;
步骤3:softmax操作执行完成后,执行步骤1和步骤2的逆运算,将二维矩阵恢复至和输入 ``x`` 相同的维度。
上述步骤2中softmax操作计算过程如下:
- 对于二维矩阵的每一行,计算K维向量(K是输入第 ``axis`` 维的长度)中指定位置的指数值和全部位置指数值的和。
- 指定位置指数值与全部位置指数值之和的比值就是softmax操作的输出。
对于二维矩阵中的第i行和第j列有:
.. math::
Softmax[i, j] = \frac{\exp(x[i, j])}{\sum_j(exp(x[i, j])}
- 示例1(矩阵一共有三维。axis = -1,表示沿着最后一维(即第三维)做softmax操作)
.. code-block:: text
# input
x.shape = [2, 3, 4]
x.data = [[[2.0, 3.0, 4.0, 5.0],
[3.0, 4.0, 5.0, 6.0],
[7.0, 8.0, 8.0, 9.0]],
[[1.0, 2.0, 3.0, 4.0],
[5.0, 6.0, 7.0, 8.0],
[6.0, 7.0, 8.0, 9.0]]]
axis = -1
# output
out.shape = [2, 3, 4]
out.data = [[[0.0320586 , 0.08714432, 0.23688282, 0.64391426],
[0.0320586 , 0.08714432, 0.23688282, 0.64391426],
[0.07232949, 0.19661193, 0.19661193, 0.53444665]],
[[0.0320586 , 0.08714432, 0.23688282, 0.64391426],
[0.0320586 , 0.08714432, 0.23688282, 0.64391426],
[0.0320586 , 0.08714432, 0.23688282, 0.64391426]]]
- 示例2(矩阵一共有三维。axis = 1,表示沿着第二维做softmax操作)
.. code-block:: text
# input
x.shape = [2, 3, 4]
x.data = [[[2.0, 3.0, 4.0, 5.0],
[3.0, 4.0, 5.0, 6.0],
[7.0, 8.0, 8.0, 9.0]],
[[1.0, 2.0, 3.0, 4.0],
[5.0, 6.0, 7.0, 8.0],
[6.0, 7.0, 8.0, 9.0]]]
axis = 1
# output
out.shape = [2, 3, 4]
out.data = [[[0.00657326, 0.00657326, 0.01714783, 0.01714783],
[0.01786798, 0.01786798, 0.04661262, 0.04661262],
[0.97555875, 0.97555875, 0.93623955, 0.93623955]],
[[0.00490169, 0.00490169, 0.00490169, 0.00490169],
[0.26762315, 0.26762315, 0.26762315, 0.26762315],
[0.72747516, 0.72747516, 0.72747516, 0.72747516]]]
参数
::::::::::
- axis (int, 可选) - 指定对输入Tensor进行运算的轴。``axis`` 的有效范围是[-D, D),D是输入Tensor的维度, ``axis`` 为负值时与 :math:`axis + D` 等价。默认值为-1。
- name (str, 可选) - 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
形状:
::::::::::
- input: 任意形状的Tensor。
- output: 和input具有相同形状的Tensor。
代码示例
::::::::::
.. code-block:: python
import paddle
import numpy as np
paddle.disable_static()
x = np.array([[[-2.0, 3.0, -4.0, 5.0],
[3.0, -4.0, 5.0, -6.0],
[-7.0, -8.0, 8.0, 9.0]],
[[1.0, -2.0, -3.0, 4.0],
[-5.0, 6.0, 7.0, -8.0],
[6.0, 7.0, 8.0, 9.0]]], 'float32')
x = paddle.to_tensor(x)
m = paddle.nn.Softmax()
out = m(x)
# [[[0.0320586 , 0.08714432, 0.23688282, 0.64391426],
# [0.0320586 , 0.08714432, 0.23688282, 0.64391426],
# [0.07232949, 0.19661193, 0.19661193, 0.53444665]],
# [[0.0320586 , 0.08714432, 0.23688282, 0.64391426],
# [0.0320586 , 0.08714432, 0.23688282, 0.64391426],
# [0.0320586 , 0.08714432, 0.23688282, 0.64391426]]]
doc/fluid/api_cn/nn_cn/elu_cn.rst
浏览文件 @
13110892
...
...
@@ -7,7 +7,7 @@ elu
elu激活层(ELU Activation Operator)
根据 `Exponential Linear Units <https://arxiv.org/abs/1511.07289>` 对输入Tensor中每个元素应用以下计算。
根据 `Exponential Linear Units <https://arxiv.org/abs/1511.07289>`
_
对输入Tensor中每个元素应用以下计算。
.. math::
...
...
doc/fluid/api_cn/nn_cn/hardtanh_cn.rst
0 → 100644
浏览文件 @
13110892
.. _cn_api_nn_cn_hardtanh:
hardtanh
-------------------------------
.. py:function:: paddle.nn.functional.hardtanh(x, min=-1.0, max=1.0, name=None):
hardtanh激活层(Hardtanh Activation Operator)。计算公式如下:
.. math::
hardtanh(x)=
\left\{
\begin{aligned}
&max, & & if \ x > max \\
&min, & & if \ x < min \\
&x, & & if \ others
\end{aligned}
\right.
其中,:math:`x` 为输入的 Tensor
参数
::::::::::
- x (Tensor) - 输入的 ``Tensor`` ,数据类型为:float32、float64。
- min (float, 可选) - hardtanh激活计算公式中的min值。默认值为-1。
- max (float, 可选) - hardtanh激活计算公式中的max值。默认值为1。
- name (str, 可选) - 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
返回
::::::::::
``Tensor`` ,数据类型和形状同 ``x`` 一致。
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.nn.functional as F
import numpy as np
paddle.disable_static()
x = paddle.to_tensor(np.array([-1.5, 0.3, 2.5]))
out = F.hardtanh(x) # [-1., 0.3, 1.]
doc/fluid/api_cn/nn_cn/logsigmoid_cn.rst
浏览文件 @
13110892
...
...
@@ -34,4 +34,4 @@ logsigmoid激活层。计算公式如下:
paddle.disable_static()
x = paddle.to_tensor(np.array([1.0, 2.0, 3.0, 4.0]))
out = F.logsigmoid(x) # [
0.7310586, 0.880797, 0.95257413, 0.98201376
]
out = F.logsigmoid(x) # [
-0.313262 -0.126928 -0.0485874 -0.0181499
]
doc/fluid/api_cn/nn_cn/prelu_cn.rst
0 → 100644
浏览文件 @
13110892
.. _cn_api_nn_cn_prelu:
prelu
-------------------------------
.. py:function:: paddle.nn.functional.prelu(x, weight, name=None):
prelu激活层(PRelu Activation Operator)。计算公式如下:
.. math::
prelu(x) = max(0, x) + weight * min(0, x)
其中,:math:`x` 和 `weight` 为输入的 Tensor
参数
::::::::::
- x (Tensor) - 输入的 ``Tensor`` ,数据类型为:float32、float64。
- weight (Tensor) - 可训练参数,数据类型同``x`` 一致,形状支持2种:[1] 或者 [in],其中`in`为输入的通道数。
- name (str, 可选) - 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
返回
::::::::::
``Tensor`` ,数据类型和形状同 ``x`` 一致。
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.nn.functional as F
import numpy as np
paddle.disable_static()
data = np.array([[[[-2.0, 3.0, -4.0, 5.0],
[ 3.0, -4.0, 5.0, -6.0],
[-7.0, -8.0, 8.0, 9.0]],
[[ 1.0, -2.0, -3.0, 4.0],
[-5.0, 6.0, 7.0, -8.0],
[ 6.0, 7.0, 8.0, 9.0]]]], 'float32')
x = paddle.to_tensor(data)
w = paddle.to_tensor(np.array([0.25]).astype('float32'))
out = F.prelu(x, w)
# [[[[-0.5 , 3. , -1. , 5. ],
# [ 3. , -1. , 5. , -1.5 ],
# [-1.75, -2. , 8. , 9. ]],
# [[ 1. , -0.5 , -0.75, 4. ],
# [-1.25, 6. , 7. , -2. ],
# [ 6. , 7. , 8. , 9. ]]]]
\ No newline at end of file
doc/fluid/api_cn/nn_cn/softmax_cn.rst
浏览文件 @
13110892
...
...
@@ -2,8 +2,7 @@
softmax
-------------------------------
.. py:function:: paddle.nn.functional.softmax(x, axis=-1, name=None)
.. py:function:: paddle.nn.functional.softmax(x, axis=-1, dtype=None, name=None)
该OP实现了softmax层。OP的计算过程如下:
...
...
@@ -24,8 +23,7 @@ softmax
.. math::
Out[i,j] = \frac{exp(X[i,j])}{\sum_j exp(X[i,j])}
softmax[i, j] = \frac{\exp(x[i, j])}{\sum_j(exp(x[i, j])}
- 示例1(矩阵一共有三维。axis = -1,表示沿着最后一维(即第三维)做softmax操作)
...
...
@@ -86,13 +84,14 @@ softmax
参数
::::::::::
- x (Tensor) - 输入的
多维
``Tensor`` ,数据类型为:float32、float64。
- x (Tensor) - 输入的 ``Tensor`` ,数据类型为:float32、float64。
- axis (int, 可选) - 指定对输入 ``x`` 进行运算的轴。``axis`` 的有效范围是[-D, D),D是输入 ``x`` 的维度, ``axis`` 为负值时与 :math:`axis + D` 等价。默认值为-1。
- dtype (str|np.dtype|core.VarDesc.VarType, 可选) - 输入Tensor的数据类型。如果指定了 ``dtype`` ,则输入Tensor的数据类型会在计算前转换到 ``dtype`` 。``dtype``可以用来避免数据溢出。如果 ``dtype`` 为None,则输出Tensor的数据类型和 ``x`` 相同。默认值为None。
- name (str, 可选) - 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
返回
::::::::::
``Tensor`` ,
数据类型和形状同 ``x`` 一致
。
``Tensor`` ,
形状和 ``x`` 相同,数据类型为 ``dtype`` 或者和 ``x`` 相同
。
代码示例
::::::::::
...
...
@@ -111,8 +110,11 @@ softmax
[[1.0, 2.0, 3.0, 4.0],
[5.0, 6.0, 7.0, 8.0],
[6.0, 7.0, 8.0, 9.0]]], 'float32')
x = paddle.to_variable(x)
out = F.softmax(x)
x = paddle.to_tensor(x)
out1 = F.softmax(x)
out2 = F.softmax(x, dtype='float64')
# out1's data type is float32; out2's data type is float64
# out1 and out2's value is as follows:
# [[[0.0320586 , 0.08714432, 0.23688282, 0.64391426],
# [0.0320586 , 0.08714432, 0.23688282, 0.64391426],
# [0.07232949, 0.19661193, 0.19661193, 0.53444665]],
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录