比较与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的默认值为 |
|
参数 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]