首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PyTorch中求给定分布的概率密度值

在PyTorch中求给定分布的概率密度值
EN

Stack Overflow用户
提问于 2022-09-07 10:59:49
回答 1查看 128关注 0票数 0

考虑从具有给定均值和标准差的正态分布生成随机样本的以下代码

代码语言:javascript
复制
# import the torch module
import torch

# create the mean with 5 values
mean = torch.tensor([1.0, 2.0, 3.0, 4.0, 5.0])

# create the standard deviation with 5 values
std = torch.tensor([1.22, 0.78, 0.56, 1.23, 0.23])

# create normal distribution
print(torch.normal(mean, std))

输出:

代码语言:javascript
复制
tensor([-0.0367,  1.7494,  2.3784,  4.2227,  5.0095])

但是我想要计算特定样本的正态分布的概率密度值,给出平均值和标准差。在PyTorch中有任何函数可以用来做同样的事情吗?

请注意,我可以通过编码正态分布的解析表达式和给定的均值和标准差来得到pdf值。但是,我想使用一个内置的PyTorch。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-07 11:15:58

torch.distributions,提供了一些有用的方法。不如:

代码语言:javascript
复制
dist = torch.distributions.normal.Normal(mean, std)
print(torch.exp(dist.log_prob(torch.Tensor(my_value))))

其结果似乎与scipy.stats.norm.pdf()的收益率相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73634337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档