Ваш первый тензор th.tensor([0])
имеет torch.Long
тип из-за автоматического вывода типа c из переданного значения, в то время как float
или FloatTensor
требуется функцией.
Вы можете решить это, передав 0.0
явно следующим образом:
import torch
noise = torch.distributions.Normal(torch.tensor([0.0]), torch.tensor(3.20))
noise = noise.sample()
Еще лучше, отбросьте torch.tensor
в целом, в этом случае Python типы будут автоматически преобразованы в float
, если это возможно, так что это также верно:
import torch
noise = torch.distributions.Normal(0, 3.20)
noise = noise.sample()
И, пожалуйста, не используйте псевдоним torch
как th
, это не официально, используйте полное имя, поскольку это только смущает всех.