mindspore.ops.RandomChoiceWithMask
- class mindspore.ops.RandomChoiceWithMask(count=256, seed=0, seed2=0)[源代码]
对输入进行随机取样,返回取样索引和掩码。
更多参考详见
mindspore.ops.choice_with_mask()
。说明
随机种子:通过一些复杂的数学算法,可以得到一组有规律的随机数,而随机种子就是这个随机数的初始值。随机种子相同,得到的随机数就不会改变。
全局的随机种子和算子层的随机种子都没设置或都设置为0:完全随机。
全局的随机种子设置了,算子层的随机种子未设置:采用全局的随机种子和0拼接。
全局的随机种子未设置,算子层的随机种子设置了:使用0和算子层的随机种子拼接。
全局的随机种子和算子层的随机种子都设置了:全局的随机种子和算子层的随机种子拼接。
- 参数:
count (int,可选) - 取样数量,必须大于0。默认值:
256
。seed (int,可选) - 算子层的随机种子,用于生成随机数。必须是非负的。默认值:
0
。seed2 (int,可选) - 全局的随机种子,和算子层的随机种子共同决定最终生成的随机数。必须是非负的。默认值:
0
。
- 输入:
input_x (Tensor[bool]) - 输入Tensor,bool类型。秩必须大于等于1且小于等于5。
- 输出:
两个Tensor,第一个为索引,另一个为掩码。
index (Tensor) - 二维Tensor,shape为 \((count, input_x的秩)\)。
mask (Tensor) - 一维Tensor,shape为 \((count)\)。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor, ops >>> rnd_choice_mask = ops.RandomChoiceWithMask() >>> input_x = Tensor(np.ones(shape=[240000, 4]).astype(np.bool)) >>> output_y, output_mask = rnd_choice_mask(input_x) >>> result = output_y.shape >>> print(result) (256, 2) >>> result = output_mask.shape >>> print(result) (256,)