mindspore.ops.UniformInt
- class mindspore.ops.UniformInt(seed=0, seed2=0)[源代码]
根据均匀分布在区间 [minval, maxval) 中生成随机数。离散概率函数定义如下:
\[\text{P}(i|a,b) = \frac{1}{b-a+1},\]其中 \(a\) 为分布区间的最小值 minval , \(b\) 为分布区间的最大值 maxval 。
说明
minval 中的数值在广播后必须严格小于 maxval 。
随机种子:通过一些复杂的数学算法,可以得到一组有规律的随机数,而随机种子就是这个随机数的初始值。随机种子相同,得到的随机数就不会改变。
全局的随机种子和算子层的随机种子都没设置或都设置为0:完全随机。
全局的随机种子设置了,算子层的随机种子未设置:采用全局的随机种子和0拼接。
全局的随机种子未设置,算子层的随机种子设置了:使用0和算子层的随机种子拼接。
全局的随机种子和算子层的随机种子都设置了:全局的随机种子和算子层的随机种子拼接。
警告
Ascend后端不支持随机数重现功能, seed 和 seed2 参数不起作用。
- 参数:
seed (int,可选) - 算子层的随机种子,用于生成随机数。必须是非负的。默认值:
0
。seed2 (int,可选) - 全局的随机种子,和算子层的随机种子共同决定最终生成的随机数。必须是非负的。默认值:
0
。
- 输入:
shape (Union[tuple, Tensor]) - 目标Tensor的shape。只允许常量值。
minval (Tensor) - 分布参数 \(a\) 。 决定可能生成的最小值,数据类型为int32。需为标量。
maxval (Tensor) - 分布参数 \(b\) 。 决定生成随机数的上限,数据类型为int32。需为标量。
- 输出:
Tensor。shape为输入 shape ,数据类型支持int32。
- 异常:
TypeError - seed 或 seed2 不是int类型。
TypeError - shape 不是tuple或Tensor。
TypeError - minval 或 maxval 不是Tensor。
ValueError - shape 不是常量值。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> from mindspore import Tensor, ops >>> from mindspore import dtype as mstype >>> shape = (2, 4) >>> minval = Tensor(1, mstype.int32) >>> maxval = Tensor(5, mstype.int32) >>> uniform_int = ops.UniformInt(seed=10) >>> output = uniform_int(shape, minval, maxval) >>> result = output.shape >>> print(result) (2, 4)