如何在 PyTorch 中创建元素从泊松分布采样的张量?


要创建元素从泊松分布采样的张量,我们应用 **torch.poisson()** 方法。此方法将元素为速率参数的张量作为输入张量。它返回一个张量,其元素是从具有 **速率** 参数的泊松分布中采样的。

语法

torch.poisson(rates)

其中参数 **rates** 是速率参数的 torch 张量。速率参数用于从泊松分布中采样元素。

步骤

我们可以使用以下步骤来创建元素从泊松分布采样的张量:

  • 导入所需的库。在以下所有示例中,所需的 Python 库为 **torch**。确保您已安装它。

import torch
  • 定义速率参数的 torch 张量。我们如下定义 0 到 9 之间的速率参数。

rates = torch.randn(7).uniform_(0, 9)
  • 计算元素从具有上述速率的泊松分布中采样的张量。

poisson_tensor = torch.poisson(rates)
  • 打印计算出的泊松张量。

print("Poisson Tensor:
", poisson_tensor)

示例 1

import torch

# rate parameter between 0 and 9
rates = torch.randn(7).uniform_(0, 9)
print(rates)

poisson_tensor = torch.poisson(rates)
print("Poisson Tensor:
", poisson_tensor)

输出

tensor([2.7700, 3.2705, 5.3056, 4.6312, 2.7052, 6.9287, 5.9278])
Poisson Tensor:
   tensor([ 3., 2., 8., 1., 5., 10., 4.])

在上述示例中,我们创建了一个元素从具有 0 到 9 之间的速率参数的泊松分布中采样的张量。

示例 2

import torch

# rate parameter between 0 and 7
rates = torch.rand(5, 5)*7
print(rates)

poisson_tensor = torch.poisson(rates)
print("Poisson Tensor:
", poisson_tensor)

输出

tensor([[0.0832, 6.8774, 3.1778, 3.7178, 3.0686],
   [1.6273, 6.0398, 1.3534, 3.8841, 2.3612],
   [3.8822, 3.6421, 0.0593, 4.1532, 6.2498],
   [1.3848, 0.6932, 1.1505, 4.0900, 6.1998],
   [4.7704, 0.7257, 2.4099, 6.0164, 3.5351]])
Poisson Tensor:
   tensor([[0., 6., 2., 1., 2.],
      [3., 9., 1., 3., 3.],
      [3., 4., 0., 5., 6.],
      [0., 3., 0., 3., 2.],
      [2., 0., 4., 5., 5.]])

在上述示例中,我们创建了一个元素从具有 0 到 7 之间的速率参数的泊松分布中采样的张量。

更新于: 2022年1月27日

366 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告