當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch MultivariateNormal用法及代碼示例


本文簡要介紹python語言中 torch.distributions.multivariate_normal.MultivariateNormal 的用法。

用法:

class torch.distributions.multivariate_normal.MultivariateNormal(loc, covariance_matrix=None, precision_matrix=None, scale_tril=None, validate_args=None)

參數

  • loc(Tensor) -分布的平均值

  • covariance_matrix(Tensor) -正定協方差矩陣

  • precision_matrix(Tensor) -正定精度矩陣

  • scale_tril(Tensor) -協方差的下三角因子,positive-valued 對角線

基礎:torch.distributions.distribution.Distribution

創建由均值向量和協方差矩陣參數化的多元正態(也稱為高斯)分布。

多元正態分布可以根據正定協方差矩陣 或正定精度矩陣 或具有positive-valued對角線條目的下三角矩陣 進行參數化,例如 。這個三角矩陣可以通過例如獲得協方差的 Cholesky 分解。

示例

>>> m = MultivariateNormal(torch.zeros(2), torch.eye(2))
>>> m.sample()  # normally distributed with mean=`[0,0]` and covariance_matrix=`I`
tensor([-0.2102, -0.5429])

注意

隻能指定covariance_matrixprecision_matrixscale_tril 之一。

使用 scale_tril 會更高效:內部所有計算都基於 scale_tril 。如果改為傳遞 covariance_matrixprecision_matrix,則它僅用於使用 Cholesky 分解計算相應的下三角矩陣。

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.distributions.multivariate_normal.MultivariateNormal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。