mindspore.ops.sequence_mask
- mindspore.ops.sequence_mask(lengths, maxlen=None)[源代码]
返回一个表示每个单元的前N个位置的掩码tensor,内部元素数据类型为bool。
如果 lengths 的shape为
,则生成的tensor掩码拥有数据类型,其shape为 。 且mask 。- 参数:
lengths (Tensor) - 输入tensor。此tensor中的所有值都应小于或等于 maxlen ,大于 maxlen 的值将被视为 maxlen 。
maxlen (int) - 指定返回tensor的长度。
- 返回:
Tensor,shape为 lengths.shape + (maxlen,) 。
- 支持平台:
GPU
CPU
样例:
>>> import mindspore >>> # case 1: When maxlen is assigned >>> x = mindspore.tensor([1, 2, 3, 4]) >>> output = mindspore.ops.sequence_mask(x, 5) >>> print(output) [[ True False False False False] [ True True False False False] [ True True True False False] [ True True True True False]] >>> # case 2: When there is 0 in x >>> x = mindspore.tensor([[1, 3], [2, 0]]) >>> output = mindspore.ops.sequence_mask(x, 5) >>> print(output) [[[ True False False False False] [ True True True False False]] [[ True True False False False] [False False False False False]]] >>> # case 3: when the maxlen is not assigned >>> x = mindspore.tensor([[1, 3], [2, 4]]) >>> output = mindspore.ops.sequence_mask(x) >>> print(output) [[[ True False False False ] [ True True True False ]] [[ True True False False ] [ True True True True ]]]