mindspore.nn.HSwish

class mindspore.nn.HSwish[源代码]

逐元素计算Hard Swish。

Hard Swish定义如下:

\[\text{hswish}(x_{i}) = x_{i} * \frac{ReLU6(x_{i} + 3)}{6},\]

HSwish函数图:

../../_images/HSwish.png
输入:
  • x (Tensor) - 用于计算Hard Swish的Tensor。数据类型必须为float16或float32。shape为 \((N,*)\) ,其中 \(*\) 表示任意的附加维度数。

输出:

Tensor,具有与 x 相同的数据类型和shape。

异常:
  • TypeError - x 的数据类型既不是float16也不是float32。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> from mindspore import Tensor, nn
>>> import numpy as np
>>> x = Tensor(np.array([-1, -2, 0, 2, 1]), mindspore.float16)
>>> hswish = nn.HSwish()
>>> result = hswish(x)
>>> print(result)
[-0.3333 -0.3333  0.      1.667   0.6665]