比较与torch.multinomial的差异

查看源文件

以下映射关系均可参考本文。

PyTorch APIs

MindSpore APIs

torch.multinomial

mindspore.ops.multinomial

torch.Tensor.multinomial

mindspore.Tensor.multinomial

torch.multinomial

torch.multinomial(input, num_samples, replacement=False, *, generator=None, out=None)

更多内容详见torch.multinomial

mindspore.ops.multinomial

mindspore.ops.multinomial(input, num_samples, replacement=True, seed=None)

更多内容详见mindspore.ops.multinomial

差异对比

MindSpore此API功能与PyTorch一致。

MindSpore: 参数 replacement 的默认值为 True ,即每次采样后把采样的数据放回。

PyTorch: 参数 replacement 的默认值为 False ,即每次采样后不把采样的数据放回。

分类

子类

PyTorch

MindSpore

差异

参数

参数 1

input

input

一致

参数 2

num_samples

num_samples

一致

参数 3

replacement

replacement

PyTorch的默认值为 False ,MindSpore的默认值为 True

参数 4

generator

seed

详见通用差异参数表

参数 5

out

-

详见通用差异参数表

代码示例

# PyTorch
import torch

input = torch.tensor([0, 9, 4, 0], dtype=torch.float32)
output = torch.multinomial(input, 2)
print(output)
# tensor([1, 2]) or tensor([2, 1])

# MindSpore
import mindspore as ms

input = ms.Tensor([0, 9, 4, 0], dtype=ms.float32)
output = ms.ops.multinomial(input, 2, False)
print(output)
# [1 2] or [2 1]