CELU

class paddle.nn. CELU ( alpha: float = 1.0, inplace: bool = False, name: Optional[str] = None ) [source]

CELU Activation.

\[CELU(x) = max(0, x) + min(0, \alpha * (e^{x/\alpha}-1))\]
Parameters
  • alpha (float, optional) – The ‘alpha’ value of the CELU formulation. Default is 1.0.

  • inplace (bool, optional) – Whether to use inplace operation. Default: False.

  • name (str|None, optional) – Name for the operation (optional, default is None). For more information, please refer to api_guide_Name.

Shape:
  • input: Tensor with any shape.

  • output: Tensor with the same shape as input.

Examples

>>> import paddle

>>> x = paddle.to_tensor([[-1.0, 6.0], [1.0, 15.6]])
>>> m = paddle.nn.CELU(0.2)
>>> out = m(x)
>>> print(out)
Tensor(shape=[2, 2], dtype=float32, place=Place(cpu), stop_gradient=True,
[[-0.19865242,  6.        ],
 [ 1.        , 15.60000038]])
>>> m = paddle.nn.CELU(0.2, True)
>>> out = m(x)
>>> print(out)
Tensor(shape=[2, 2], dtype=float32, place=Place(cpu), stop_gradient=True,
[[-0.19865242,  6.        ],
 [ 1.        , 15.60000038]])
>>> print(x)
Tensor(shape=[2, 2], dtype=float32, place=Place(cpu), stop_gradient=True,
[[-0.19865242,  6.        ],
 [ 1.        , 15.60000038]])
forward ( x: Tensor ) → Tensor

forward

Defines the computation performed at every call. Should be overridden by all subclasses.

Parameters
  • *inputs (tuple) – unpacked tuple arguments

  • **kwargs (dict) – unpacked dict arguments

extra_repr ( ) → str

extra_repr

Extra representation of this layer, you can have custom implementation of your own layer.