Returns a mask tensor representing the first N positions of each cell.

If lengths has shape [d_1, d_2, …, d_n], then the resulting tensor mask has type and shape [d_1, d_2, …, d_n, maxlen], with mask[i_1, i_2, …, i_n, j] = (j < lengths[i_1, i_2, …, i_n])

Parameters
• lengths (Tensor) – Tensor to calculate the mask for. All values in this tensor should be less than or equal to maxlen. Values greater than maxlen will be treated as maxlen.

• maxlen (int) – size of the last dimension of returned tensor. Must be positive and same type as elements in lengths. Default is None.

Outputs:

One mask tensor of shape lengths.shape + (maxlen,).

Raises
• TypeError – If lengths is not a Tensor.

• TypeError – If maxlen is not an int.

• TypeError – If dtype of lengths is neither int32 nor int64.

Supported Platforms:

`GPU`

Examples

```>>> from mindspore import Tensor, ops
>>> import mindspore
>>> import numpy as np
>>> # case 1: When maxlen is assigned
>>> x = Tensor(np.array([1, 2, 3, 4]))
>>> 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 = Tensor(np.array([[1, 3], [2, 0]]))
>>> 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 = Tensor(np.array([[1, 3], [2, 4]]))