mindspore.ops.random_poisson
- mindspore.ops.random_poisson(shape, rate, seed=None, dtype=mstype.float32)[源代码]
从一个指定均值为 rate 的泊松分布中,随机生成形状为 shape 的随机数Tensor。
\[\text{P}(i|μ) = \frac{\exp(-μ)μ^{i}}{i!}\]- 参数:
shape (Tensor) - 表示要从每个分布中采样的随机数张量的形状。必须是一个一维的张量且数据类型必须是 mindspore.dtype.int32 或者 mindspore.dtype.int64 。
rate (Tensor) - 泊松分布的 \(μ\) 参数,表示泊松分布的均值,同时也是分布的方差。必须是一个张量,且其数据类型必须是以下类型中的一种:mindspore.dtype.int64,mindspore.dtype.int32,mindspore.dtype.float64,mindspore.dtype.float32或者mindspore.dtype.float16。
seed (int, 可选) - 随机数种子,用于在随机数引擎中产生随机数。必须是一个非负的整数,
None
表示使用0
作为随机数种子。默认值:None
。dtype (mindspore.dtype) - 表示要生成的随机数张量的数据类型。必须是mindspore.dtype类型,可以是以下值中的一种:mindspore.dtype.int64,mindspore.dtype.int32,mindspore.dtype.float64,mindspore.dtype.float32或者mindspore.dtype.float16。默认值:
mstype.float32
。
- 返回:
返回一个张量,它的形状由入参 shape 和 rate 共同决定: mindspore.concat([‘shape’, mindspore.shape(‘rate’)], axis=0) ,它的数据类型由入参 dtype 决定。
- 异常:
TypeError - 如果 shape 不是一个张量。
TypeError - 如果 shape 张量的数据类型不是mindspore.dtype.int64或mindspore.dtype.int32。
ValueError - 如果 shape 张量的形状不是一维的。
TypeError - 如果 rate 不是一个张量。
TypeError - 如果 rate 张量的数据类型不是mindspore.dtype.int64,mindspore.dtype.int32,mindspore.dtype.float64,mindspore.dtype.float32或者mindspore.dtype.float16。
TypeError - 如果 seed 不是一个非负整型。
TypeError - 如果 dtype 不是mindspore.dtype.int64,mindspore.dtype.int32,mindspore.dtype.float64,mindspore.dtype.float32或者mindspore.dtype.float16。
ValueError - 如果 shape 张量中有非正数。
- 支持平台:
GPU
CPU
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, ops >>> # case 1: 1-D shape, 2-D rate, float64 output >>> shape = Tensor(np.array([2, 2]), mindspore.int64) >>> rate = Tensor(np.array([[5.0, 10.0], [5.0, 1.0]]), mindspore.float32) >>> output = ops.random_poisson(shape, rate, seed=5, dtype=mindspore.float64) >>> print(output.shape, output.dtype) (2, 2, 2, 2) Float64 >>> # case 2: 1-D shape, scalar rate, int64 output >>> shape = Tensor(np.array([2, 2]), mindspore.int64) >>> rate = Tensor(5.0, mindspore.float64) >>> output = ops.random_poisson(shape, rate, seed=5, dtype=mindspore.int64) >>> print(output.shape, output.dtype) (2, 2) Int64