比较与torch.poisson的差异

查看源文件

torch.poisson

torch.poisson(input, generator=None)

更多内容详见torch.poisson

mindspore.ops.random_poisson

mindspore.ops.random_poisson(shape, rate, seed=None, dtype=mstype.float32)

更多内容详见mindspore.ops.random_poisson

差异对比

MindSpore此API功能与PyTorch一致。

PyTorch: 返回值的shape和数据类型和 input 一致。

MindSpore: shape 决定了每个分布下采样的随机数张量的形状,返回值的shape是 mindspore.concat([shape, mindspore.shape(rate)], axis=0) 。当 shape 的值为 Tensor([]) 时,返回值的shape和PyTorch一样,与 rate 的shape一致。返回值的数据类型由 dtype 决定。

分类

子类

PyTorch

MindSpore

差异

参数

参数 1

-

shape

MindSpore下每个分布下采样的随机数张量的形状,值为 Tensor([]) 时返回值的shape和PyTorch一样

参数 2

input

rate

泊松分布的参数

参数 3

generator

seed

详见通用差异参数表

参数 4

-

dtype

MindSpore下返回值的数据类型,支持int32/64,float16/32/64

代码示例

# PyTorch
import torch
import numpy as np

rate = torch.tensor(np.array([[5.0, 10.0], [5.0, 1.0]]), dtype=torch.float32)
output = torch.poisson(rate)
print(output.shape)
# torch.Size([2, 2])

# MindSpore
import mindspore as ms
import numpy as np

shape = ms.Tensor(np.array([]), ms.int32)
rate = ms.Tensor(np.array([[5.0, 10.0], [5.0, 1.0]]), dtype=ms.float32)
output = ms.ops.random_poisson(shape, rate, dtype=ms.float32)
print(output.shape)
# (2, 2)