megengine.functional.tanh#

tanh(x)[源代码]#

元素 \(\tanh(x)\) 函数

计算输入 Tensor \(x\) 中每个元素 \(x_i\) 的双曲切线值

等同于:

\[\frac {\sinh(x)} {\cosh(x)} = \frac {e^{x}-e^{-x}} {e^{x}+e^{-x}}\]

函数的定义域为 [-infinity, +infinity] ,值域为 [-1, 1]

参数:

x – 输入向量,每个值代表一个角度, 应该为一个浮点数据类型。

返回:

一个 Tensor ,包含 \(x\) 中每个元素的双曲切线值。返回的 Tensor 将会使用浮点数据类型,具体见 类型提升规则

特殊的案例

对于浮点数的操作,

  • \(x_i\)NaN,则结果为 NaN

  • 如果 \(x_i\)+0 ,那么结果是 +0

  • 如果 \(x_i\)-0 ,那么结果是 -0

  • 如果 \(x_i\)+infinity ,结果是 +1

  • 如果 \(x_i\)-infinity ,结果是 +1

实际案例

>>> F.tanh(0)
Tensor(0.0, device=xpux:0)

元素求双曲切线值:

>>> x = Tensor([0, 1, -1])
>>> F.tanh(x)
Tensor([ 0.      0.7616 -0.7616], device=xpux:0)