To create a tensor from a poisson distribution you could directly call torch.poisson 1 on the rates of your Poisson distribution via:
rates = torch.rand(4, 4) * 5  # rate parameter between 0 and 5
torch.poisson(rates)
> tensor([[9., 1., 3., 5.],
          [8., 6., 6., 0.],
          [0., 4., 5., 3.],
          [2., 1., 4., 2.]])

Alternatively, distributions.poisson.Poisson(rates).sample() would also work, and it really depends on your personal preference here.