ncdl.nn.Softshrink

class ncdl.nn.Softshrink(*args: Any, **kwargs: Any)

Applies the soft shrinkage function elementwise:

\[\begin{split}\text{SoftShrinkage}(x) = \begin{cases} x - \lambda, & \text{ if } x > \lambda \\ x + \lambda, & \text{ if } x < -\lambda \\ 0, & \text{ otherwise } \end{cases}\end{split}\]
Parameters:

lambd – the \(\lambda\) (must be no less than zero) value for the Softshrink formulation. Default: 0.5

Shape:
  • Input: \((*)\), where \(*\) means any number of dimensions.

  • Output: \((*)\), same shape as the input.

scripts/activation_images/Softshrink.png

Examples:

>>> m = nn.Softshrink()
>>> input = torch.randn(2)
>>> output = m(input)
__init__(lambd: float = 0.5) None

Methods

__init__([lambd])

extra_repr()

forward(input)

Attributes

lambd