MultivariateNormalDiag¶
- class paddle.fluid.layers.distributions. MultivariateNormalDiag ( loc, scale ) [source]
- 
         A multivariate normal (also called Gaussian) distribution parameterized by a mean vector and a covariance matrix. The probability density function (pdf) is: \[\begin{split}pdf(x; loc, scale) = \\frac{e^{-\\frac{||y||^2}{2}}}{Z}\end{split}\]where: .. math: y = inv(scale) @ (x - loc) Z = (2\\pi)^{0.5k} |det(scale)| In the above equation: - \(inv\) : denotes to take the inverse of the matrix. 
- \(@\) : denotes matrix multiplication. 
- \(det\) : denotes to evaluate the determinant. 
 - Parameters
- 
           - loc (list|numpy.ndarray|Variable) – The mean of multivariateNormal distribution with shape \([k]\) . The data type is float32. 
- scale (list|numpy.ndarray|Variable) – The positive definite diagonal covariance matrix of multivariateNormal distribution with shape \([k, k]\) . All elements are 0 except diagonal elements. The data type is float32. 
 
 Examples import numpy as np from paddle.fluid import layers from paddle.fluid.layers import MultivariateNormalDiag a_loc_npdata = np.array([0.3,0.5],dtype="float32") a_loc_tensor = layers.create_tensor(dtype="float32") layers.assign(a_loc_npdata, a_loc_tensor) a_scale_npdata = np.array([[0.4,0],[0,0.5]],dtype="float32") a_scale_tensor = layers.create_tensor(dtype="float32") layers.assign(a_scale_npdata, a_scale_tensor) b_loc_npdata = np.array([0.2,0.4],dtype="float32") b_loc_tensor = layers.create_tensor(dtype="float32") layers.assign(b_loc_npdata, b_loc_tensor) b_scale_npdata = np.array([[0.3,0],[0,0.4]],dtype="float32") b_scale_tensor = layers.create_tensor(dtype="float32") layers.assign(b_scale_npdata, b_scale_tensor) a = MultivariateNormalDiag(a_loc_tensor, a_scale_tensor) b = MultivariateNormalDiag(b_loc_tensor, b_scale_tensor) a.entropy() # [2.033158] with shape: [1] b.entropy() # [1.7777451] with shape: [1] a.kl_divergence(b) # [0.06542051] with shape: [1] - 
            
           log_prob
           (
           value
           )
           log_prob¶
- 
           Log probability density/mass function. 
 - 
            
           sample
           (
           )
           sample¶
- 
           Sampling from the distribution. 
 - 
            
           entropy
           (
           )
           entropy¶
- 
           Shannon entropy in nats. - Returns
- 
             Shannon entropy of Multivariate Normal distribution. The data type is float32. 
- Return type
- 
             Variable 
 
 - 
            
           kl_divergence
           (
           other
           )
           kl_divergence¶
- 
           The KL-divergence between two Multivariate Normal distributions. - Parameters
- 
             other (MultivariateNormalDiag) – instance of Multivariate Normal. 
- Returns
- 
             kl-divergence between two Multivariate Normal distributions. The data type is float32. 
- Return type
- 
             Variable 
 
 
