mindspore.ops.softshrink

查看源文件
mindspore.ops.softshrink(input, lambd=0.5)[源代码]

逐元素计算Soft Shrink激活函数。

\[\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}\]

SoftShrink激活函数图:

../../_images/Softshrink.png
参数:
  • input (Tensor) - Soft Shrink的输入。支持数据类型:

    • Ascend:float16、float32、bfloat16。

  • lambd (number,可选) - Soft Shrink公式定义的阈值 \(\lambda\) ,必须不小于零。默认值: 0.5

返回:

Tensor,shape和数据类型与输入 input 相同。

异常:
  • TypeError - lambd 不是float、bool或int。

  • TypeError - input 不是Tensor。

  • TypeError - input 的dtype不是float16、float32或bfloat16。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> from mindspore import Tensor
>>> from mindspore import ops
>>> import numpy as np
>>> x = Tensor(np.array([[ 0.5297,  0.7871,  1.1754], [ 0.7836,  0.6218, -1.1542]]), mindspore.float32)
>>> output = ops.softshrink(x)
>>> print(output)
[[ 0.02979  0.287    0.676  ]
[ 0.2837   0.1216  -0.6543 ]]