!38157 add lrn selu mish doc api .

Merge pull request !38157 from zhuzhongrui/pub_master1
This commit is contained in:
i-robot 2022-07-15 09:12:31 +00:00 committed by Gitee
commit 9d21009dfd
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
11 changed files with 158 additions and 0 deletions

View File

@ -116,11 +116,14 @@ MindSpore中 `mindspore.nn` 接口与上一版本相比,新增、删除和支
mindspore.nn.LeakyReLU
mindspore.nn.LogSigmoid
mindspore.nn.LogSoftmax
mindspore.nn.LRN
mindspore.nn.Mish
mindspore.nn.Softsign
mindspore.nn.PReLU
mindspore.nn.ReLU
mindspore.nn.ReLU6
mindspore.nn.RReLU
mindspore.nn.SeLU
mindspore.nn.SiLU
mindspore.nn.Sigmoid
mindspore.nn.Softmin

View File

@ -145,11 +145,14 @@ functional算子是经过初始化后的Primitive可以直接作为函数使
mindspore.ops.logical_not
mindspore.ops.logical_or
mindspore.ops.log_matrix_determinant
mindspore.ops.lrn
mindspore.ops.matrix_determinant
mindspore.ops.mish
mindspore.ops.mul
mindspore.ops.neg
mindspore.ops.pow
mindspore.ops.round
mindspore.ops.selu
mindspore.ops.sin
mindspore.ops.sinh
mindspore.ops.sub

View File

@ -0,0 +1,8 @@
mindspore.nn.LRN
================
.. py:class:: mindspore.nn.LRN
局部响应归一化操作LRN(Local Response Normalization)。
更多参考详见 :func:`mindspore.ops.lrn`

View File

@ -0,0 +1,9 @@
mindspore.nn.Mish
=================
.. py:class:: mindspore.nn.Mish
逐元素计算输入Tensor的MISHSelf Regularized Non-Monotonic Neural Activation Function 自正则化非单调神经激活函数)。
更多参考详见 :func:`mindspore.ops.mish`

View File

@ -0,0 +1,8 @@
mindspore.nn.SeLU
=================
.. py:class:: mindspore.nn.SeLU
激活函数seluScaled exponential Linear Unit
更多参考详见 :func:`mindspore.ops.selu`

View File

@ -0,0 +1,34 @@
mindspore.ops.lrn
=================
.. py:function:: mindspore.ops.lrn(x, depth_radius=5, bias=1.0, alpha=1.0, beta=0.5, norm_region="ACROSS_CHANNELS")
局部响应归一化操作LRN(Local Response Normalization)。
.. math::
b_{c} = a_{c}\left(k + \frac{\alpha}{n}
\sum_{c'=\max(0, c-n/2)}^{\min(N-1,c+n/2)}a_{c'}^2\right)^{-\beta}
其中 :math:`a_{c}` 表示特征图中 :math:`c` 对应的具体像素值;
:math:`n/2` 为参数 `depth_radius` :math:`k` 为参数 `bias`
:math:`\alpha` 为参数 `alpha` :math:`\beta` 为参数 `beta`
**参数:**
- **x** (Tensor) - 数据类型为float16或float32的4维Tensor。
- **depth_radius** (int) - 一维归一化窗口的半宽。默认值5。
- **bias** (float) - 偏移量通常为正以避免除零问题。默认值1.0。
- **alpha** (float) - 比例系数通常为正。默认值1.0。
- **beta** (float) - 指数。默认值0.5。
- **norm_region** (str) - 指定归一化区域。可选值:"ACROSS_CHANNELS"。默认值:"ACROSS_CHANNELS"。
**输出:**
Tensor`x` 的shape和数据类型相同。
**异常:**
- **TypeError** - `depth_radius` 不是int类型。
- **TypeError** - `bias``alpha``beta` 不是float类型。
- **TypeError** - `norm_region` 不是str。
- **TypeError** - `x` 不是Tensor。

View File

@ -0,0 +1,25 @@
mindspore.ops.mish
==================
.. py:function:: mindspore.ops.mish(x)
逐元素计算输入Tensor的MISHSelf Regularized Non-Monotonic Neural Activation Function 自正则化非单调神经激活函数)。
公式如下:
.. math::
\text{output} = x * \tan(\log(1 + \exp(\text{x})))
更多详细信息请参见 `A Self Regularized Non-Monotonic Neural Activation Function <https://arxiv.org/abs/1908.08681>`_
**参数:**
- **x** (Tensor) - shape: :math:`(N, *)` ,其中 :math:`*` 表示任意数量的附加维度数据类型支持float16或float32。
**输出:**
Tensor`x` 的shape和数据类型相同。
**异常:**
- **TypeError** - `x` 的数据类型非float16或float32。

View File

@ -0,0 +1,32 @@
mindspore.ops.selu
==================
.. py:function:: mindspore.ops.selu(input_x)
激活函数seluScaled exponential Linear Unit
该激活函数定义为:
.. math::
E_{i} =
scale *
\begin{cases}
x_{i}, &\text{if } x_{i} \geq 0; \cr
\text{alpha} * (\exp(x_i) - 1), &\text{otherwise.}
\end{cases}
其中, :math:`alpha`:math:`scale` 是预定义的常量( :math:`alpha=1.67326324` :math:`scale=1.05070098` )。
更多详细信息,请参见 `Self-Normalizing Neural Networks <https://arxiv.org/abs/1706.02515>`_
**参数:**
- **input_x** (Tensor) - 任意维度的Tensor数据类型为int8、int32、float16、float32、float64仅CPU、GPU
**返回:**
Tensor数据类型和shape与 `input_x` 的相同。
**异常:**
- **TypeError** - `input_x` 的数据类型不是int8、int32、float16、float32、float64。

View File

@ -116,11 +116,14 @@ Nonlinear Activation Function Layer
mindspore.nn.LeakyReLU
mindspore.nn.LogSigmoid
mindspore.nn.LogSoftmax
mindspore.nn.LRN
mindspore.nn.Mish
mindspore.nn.Softsign
mindspore.nn.PReLU
mindspore.nn.ReLU
mindspore.nn.ReLU6
mindspore.nn.RReLU
mindspore.nn.SeLU
mindspore.nn.SiLU
mindspore.nn.Sigmoid
mindspore.nn.Softmin

View File

@ -144,11 +144,14 @@ Element-by-Element Operations
mindspore.ops.logical_not
mindspore.ops.logical_or
mindspore.ops.log_matrix_determinant
mindspore.ops.lrn
mindspore.ops.matrix_determinant
mindspore.ops.mish
mindspore.ops.mul
mindspore.ops.neg
mindspore.ops.pow
mindspore.ops.round
mindspore.ops.selu
mindspore.ops.sin
mindspore.ops.sinh
mindspore.ops.sub

View File

@ -48,6 +48,7 @@ __all__ = ['Softmin',
'HSwish',
'ELU',
'LogSigmoid',
'LRN',
'SoftShrink',
'HShrink',
'CELU',
@ -1213,6 +1214,35 @@ class LogSigmoid(Cell):
return ret
class LRN(Cell):
r"""
Local Response Normalization.
Refer to :func:`mindspore.ops.lrn` for more details.
Supported Platforms:
``Ascend`` ``GPU`` ``CPU``
Examples:
>>> input_x = Tensor(np.array([[[[0.1], [0.2]],
... [[0.3], [0.4]]]]), mindspore.float32)
>>> output = nn.LRN()(input_x)
>>> print(output)
[[[[0.09534626]
[0.1825742 ]]
[[0.2860388 ]
[0.3651484 ]]]]
"""
def __init__(self, depth_radius=5, bias=1.0, alpha=1.0, beta=0.5, norm_region="ACROSS_CHANNELS"):
"""Initialize LRN."""
super(LRN, self).__init__()
self.lrn_op = NN_OPS.LRN(depth_radius, bias, alpha, beta, norm_region)
def construct(self, input_x):
return self.lrn_op(input_x)
class SoftShrink(Cell):
r"""
Applies the SoftShrink function element-wise.