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

Note

minval 中的数值在广播后必须严格小于 maxval

参数:

  • seed (int) - 随机种子,非负值。默认值:0。

  • seed2 (int) - 随机种子2,用来防止随机种子冲突,非负值。默认值:0。

输入:

  • shape (tuple) - 目标Tensor的shape。只允许常量值。

  • minval (Tensor) - 分布参数, \(a\) 。 决定可能生成的最小值,数据类型为int32。需为标量。

  • maxval (Tensor) - 分布参数, \(b\) 。 决定生成随机数的上限,数据类型为int32。需为标量。

异常:

  • TypeError - seedseed2 不是int类型。

  • TypeError - shape 不是Tuple。

  • TypeError - minvalmaxval 不是Tensor。

  • ValueError - shape 不是常量值。

输出:

Tensor。shape为输入 shape ,数据类型支持int32。

支持平台:

Ascend GPU CPU

样例:

>>> 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)