mindspore.Tensor.soft_shrink
- Tensor.soft_shrink(lambd=0.5)[source]
Apply the soft shrink function for a tensor. Calculates the output according to the input elements.
The formula is defined as follows:
\[\begin{split}\text{SoftShrink}(x) = \begin{cases} x - \lambda, & \text{ if } x > \lambda \\ x + \lambda, & \text{ if } x < -\lambda \\ 0, & \text{ otherwise } \end{cases}\end{split}\]- Parameters
lambd (float) – the \(\lambda\) must be no less than zero. Default: 0.5.
- Returns
Tensor, has the same shape and data type as self.
- Raises
TypeError – If lambd is not a float.
TypeError – If input_x is not a Tensor.
TypeError – If dtype of input_x is neither float16 nor float32.
ValueError – If lambd is less than 0.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> from mindspore import Tensor >>> a = Tensor([[ 0.5297, 0.7871, 1.1754], [ 0.7836, 0.6218, -1.1542]]).astype("float32") >>> output = a.soft_shrink() >>> print(output) [[ 0.02979 0.287 0.676 ] [ 0.2837 0.1216 -0.6543 ]]