mindspore.ops.choice_with_mask

查看源文件
mindspore.ops.choice_with_mask(input_x, count=256, seed=None)[源代码]

对输入进行随机取样,返回取样索引和掩码。

输入必须是维度不小于1的Tensor。如果其维度大于等于2,则第一个维度指定样本数。 返回的索引Tensor为非空样本值的索引,掩码Tensor说明索引Tensor中的哪些元素是有效的。

警告

Ascend后端不支持随机数重现功能, seed 参数不起作用。

参数:
  • input_x (Tensor[bool]) - 输入Tensor,bool类型。秩必须大于等于1且小于等于5。

  • count (int, 可选) - 取样数量,必须大于0。默认值: 256

  • seed (int, 可选) - 指定随机种子,用于随机数生成器生成伪随机数。默认值: None

返回:

两个Tensor,第一个为索引,另一个为掩码。

  • index (Tensor) - 二维Tensor。

  • mask (Tensor) - 一维Tensor。

异常:
  • TypeError - count 不是int类型。

  • TypeError - seed 不是int类型。

  • TypeError - input_x 不是Tensor。

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> input_x = Tensor(np.ones(shape=[240000, 4]).astype(np.bool_))
>>> output_y, output_mask = ops.choice_with_mask(input_x)
>>> result = output_y.shape
>>> print(result)
(256, 2)
>>> result = output_mask.shape
>>> print(result)
(256,)