# 比较与torch.multinomial的差异 [![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.0/resource/_static/logo_source.png)](https://gitee.com/mindspore/docs/blob/r2.0/docs/mindspore/source_zh_cn/note/api_mapping/pytorch_diff/multinomial.md) 以下映射关系均可参考本文。 | PyTorch APIs | MindSpore APIs | | :-------------------: | :-----------------------: | | torch.multinomial | mindspore.ops.multinomial | | torch.Tensor.multinomial | mindspore.Tensor.multinomial | ## torch.multinomial ```python torch.multinomial(input, num_samples, replacement=False, *, generator=None, out=None) ``` 更多内容详见[torch.multinomial](https://pytorch.org/docs/1.8.1/generated/torch.multinomial.html)。 ## mindspore.ops.multinomial ```python mindspore.ops.multinomial(input, num_samples, replacement=True, seed=None) ``` 更多内容详见[mindspore.ops.multinomial](https://www.mindspore.cn/docs/zh-CN/r2.0/api_python/ops/mindspore.ops.multinomial.html)。 ## 差异对比 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 | 详见[通用差异参数表](https://www.mindspore.cn/docs/zh-CN/r2.0/note/api_mapping/pytorch_api_mapping.html#通用差异参数表) | | | 参数 5 | out | - | 详见[通用差异参数表](https://www.mindspore.cn/docs/zh-CN/r2.0/note/api_mapping/pytorch_api_mapping.html#通用差异参数表) | ## 代码示例 ```python # 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] ```