mindspore.nn.CELU

查看源文件
class mindspore.nn.CELU(alpha=1.0)[源代码]

CELU激活层(CELU Activation Operator)。

根据Continuously Differentiable Exponential Linear Units对输入Tensor逐元素计算。

\[\text{CELU}(x) = \max(0,x) + \min(0, \alpha * (\exp(x/\alpha) - 1))\]

更多详情,请查看: CELU

CELU函数图:

../../_images/CELU.png
参数:
  • alpha (float) - CELU公式中的 \(\alpha\) 值。默认值: 1.0

输入:
  • x (Tensor) - CELU的输入。其数据类型为float16或float32,shape为 \((N,*)\) ,其中 \(*\) 表示任何数量的附加维度。

输出:

Tensor,数据类型和shape与 x 相同。

异常:
  • TypeError - 如果 α 不是float。

  • ValueError - 如果 α 的值为0。

  • TypeError - 如果输入 x 不是Tensor。

  • TypeError - 如果输入 x 的数据类型既不是float16也不是float32。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> from mindspore import Tensor, nn
>>> import numpy as np
>>> x = Tensor(np.array([-2.0, -1.0, 1.0, 2.0]), mindspore.float32)
>>> celu = nn.CELU()
>>> output = celu(x)
>>> print(output)
[-0.86466473 -0.63212055  1.          2.        ]