mindscience.models.layers.MaskedLayerNorm

class mindscience.models.layers.MaskedLayerNorm[源代码]

掩码层归一化。对输入张量应用带掩码的层归一化。

输入:
  • act (Tensor) - 形状为 \((*, in\_channels)\) 的张量。

  • gamma (Tensor) - 形状为 \((in\_channels,)\) 的缩放参数。

  • beta (Tensor) - 形状为 \((in\_channels,)\) 的偏移参数。

  • mask (Tensor, optional) - 形状为 \((*, 1)\) 的掩码张量。默认值:None

输出:

形状为 \((*, in\_channels)\) 的张量。

样例:

>>> import mindspore as ms
>>> import mindspore.numpy as mnp
>>> from mindspore import Tensor
>>> from mindscience.models.layers import MaskedLayerNorm
>>> ms.set_context(mode=ms.GRAPH_MODE, device_target="GPU")
>>> x = Tensor(mnp.random.randn(2, 3, 4).astype(mnp.float32))
>>> gamma = Tensor(mnp.ones((4,)).astype(mnp.float32))
>>> beta = Tensor(mnp.zeros((4,)).astype(mnp.float32))
>>> mask = Tensor(mnp.ones((2, 3)).astype(mnp.float32))
>>> net = MaskedLayerNorm()
>>> output = net(x, gamma, beta, mask)
>>> print(output.shape)
(2, 3, 4)