import torch p=torch.tensor([0.2,0.1,0.7]) torch.multinomial(p,10,replacement=True这段代码为什么没有结果如何修改
时间: 2024-03-20 22:39:14 浏览: 41
PyTorch中torch.tensor与torch.Tensor的区别详解
这段代码没有显示结果,是因为 `torch.multinomial` 函数返回的是一个张量,而你没有使用任何方式来输出这个张量的值。你可以使用 `print` 函数来打印这个张量的值。
修改后的代码如下:
```python
import torch
p = torch.tensor([0.2, 0.1, 0.7])
samples = torch.multinomial(p, 10, replacement=True)
print(samples)
```
这里将随机抽取 10 个符合多项式分布的样本,并存储在 `samples` 张量中,然后使用 `print` 函数输出这个张量的值。如果你运行这段代码,就可以看到随机抽取的 10 个符合多项式分布的样本。这些样本的取值均为 0、1 或 2,这对应了输入的概率数组 `p` 中每个元素的下标。
如果你想查看每个样本对应的概率,可以简单地使用切片操作 `p[samples]`,这样就可以得到一个与 `samples` 张量尺寸相同的张量,其中每个元素都是对应样本的概率。
阅读全文