class
ELU
extends
ModuleELU(alpha: float = 1.0, inplace: bool = False)Exponential Linear Unit activation function.
Applies element-wise:
ELU smoothly saturates to for large negative inputs, producing mean activations closer to zero than ReLU. This self-normalising tendency can accelerate convergence in deep networks.
Parameters
alphafloat= 1.0Scale for the negative exponential branch.
Default:
1.0.inplacebool= FalseIf
True, modifies the input tensor in-place. Default: False.Notes
- Input: — any shape.
- Output: — same shape as input.
Examples
>>> import lucid
>>> import lucid.nn as nn
>>> m = nn.ELU(alpha=1.0)
>>> x = lucid.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
>>> m(x)
tensor([-0.8647, -0.6321, 0. , 1. , 2. ])
>>> # Custom alpha shifts the negative saturation floor
>>> m = nn.ELU(alpha=0.5)
>>> x = lucid.randn(2, 16)
>>> out = m(x)
>>> out.shape
(2, 16)Methods (3)
dunder
__init__
→None__init__(alpha: float = 1.0, inplace: bool = False)Initialise the ELU module. See the class docstring for parameter semantics.
fn
forward
→Tensorforward(x: Tensor)Apply the activation function element-wise.
Parameters
inputTensorInput tensor of arbitrary shape.
Returns
TensorOutput tensor of the same shape as input.
fn
extra_repr
→strextra_repr()Return a string representation of the layer's configuration.