mindspore.ops.laplace

查看源文件
mindspore.ops.laplace(shape, mean, lambda_param, seed=None)[源代码]

根据拉普拉斯分布生成随机数。

它的定义为:

\[\text{f}(x;μ,λ) = \frac{1}{2λ}\exp(-\frac{|x-μ|}{λ}),\]

其中 \(μ\) 为均值,代表了 mean\(λ\) 为方差,代表了 lambda_param

警告

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

参数:
  • shape (tuple) - 指定生成随机Tensor的shape。格式为 \((N,*)\) ,其中 \(*\) 表示任意数量的附加维度。

  • mean (Tensor) - 均值μ分布参数,指定峰值的位置。数据类型为float32。

  • lambda_param (Tensor) - 用于控制此随机分布方差的参数。拉普拉斯分布的方差等于 lambda_param 平方的两倍。数据类型为float32。

  • seed (int,可选) - 随机种子,用作生成随机数。默认值: None ,此时使用0作为seed。

返回:

Tensor。输出shape应该是使用输入 shapemeanlambda_param 广播后的shape。数据类型为float32。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> from mindspore import Tensor
>>> from mindspore import ops as ops
>>> shape = (2, 3)
>>> mean = Tensor(1.0, mindspore.float32)
>>> lambda_param = Tensor(1.0, mindspore.float32)
>>> output = ops.laplace(shape, mean, lambda_param, seed=5)
>>> print(output.shape)
(2, 3)