我正试着更好地理解火把的设计。我试图从多变量法线中抽取样本,并找到了torch.distributions.multivariate_normal,令我惊讶的是,它是一个模块,它在MultivariateNormal()类之外定义了许多受保护的函数。
我搞不懂为什么会这样。为什么不将所有这些函数定义为MultivariateNormal()类中的类方法?这样,我们就可以通过以下方式实例化这个类的对象
torch.distributions.multivariate_normal(mu,sigma)而不是
torch.distributions.multivariate_normal.MultivariateNormal(mu,sigma).有什么想法吗?
谢谢。
发布于 2019-04-30 19:02:07
您可以直接调用MultivariateNormal:
import torch
gaussian = torch.distributions.MultivariateNormal(torch.ones(2),torch.eye(2))
但是类MultivariateNormal是在文件“torch/distributions/多元_Nor.py”中实现的,因此这两个调用都是正确的。
https://stackoverflow.com/questions/55927149
复制相似问题