docstr: Returns the probability of `target` given MoG parameters `sigma` and `mu`.
  
  Arguments:
      sigma (BxGxO): The standard deviation of the Gaussians. B is the batch
          size, G is the number of Gaussians, and O is the number of
          dimensions per Gaussian.
      mu (BxGxO): The means of the Gaussians. B is the batch size, G is the
          number of Gaussians, and O is the number of dimensions per Gaussian.
      target (BxI): A batch of target. B is the batch size and I is the number of
          input dimensions.
  Returns:
      probabilities (BxG): The probability of each point in the probability
          of the distribution in the corresponding sigma/mu index.
docstr_tok: ["Returns","the","probability","of","`","target","`","given","MoG","parameters","`","sigma","`","and","`","mu","`",".","Arguments",":","sigma","(","BxGxO",")",":","The","standard","deviation","of","the","Gaussians",".","B","is","the","batch","size",",","G","is","the","number","of","Gaussians",",","and","O","is","the","number","of","dimensions","per","Gaussian",".","mu","(","BxGxO",")",":","The","means","of","the","Gaussians",".","B","is","the","batch","size",",","G","is","the","number","of","Gaussians",",","and","O","is","the","number","of","dimensions","per","Gaussian",".","target","(","BxI",")",":","A","batch","of","target",".","B","is","the","batch","size","and","I","is","the","number","of","input","dimensions",".","Returns",":","probabilities","(","BxG",")",":","The","probability","of","each","point","in","the","probability","of","the","distribution","in","the","corresponding","sigma\/mu","index","."]
code: def gaussian_probability(self, sigma, mu, target, log=False):
      """Returns the probability of `target` given MoG parameters `sigma` and `mu`.
  
      Arguments:
          sigma (BxGxO): The standard deviation of the Gaussians. B is the batch
              size, G is the number of Gaussians, and O is the number of
              dimensions per Gaussian.
          mu (BxGxO): The means of the Gaussians. B is the batch size, G is the
              number of Gaussians, and O is the number of dimensions per Gaussian.
          target (BxI): A batch of target. B is the batch size and I is the number of
              input dimensions.
      Returns:
          probabilities (BxG): The probability of each point in the probability
              of the distribution in the corresponding sigma/mu index.
      """
      target = target.expand_as(sigma)
      if log:
          ret = (
              -torch.log(sigma)
              - 0.5 * LOG2PI
              - 0.5 * torch.pow((target - mu) / sigma, 2)
          )
      else:
          ret = (ONEOVERSQRT2PI / sigma) * torch.exp(
              -0.5 * ((target - mu) / sigma) ** 2
          )
      return ret
  
imports: import math
  import torch
  from omegaconf import DictConfig
  from torch import nn
  from torch.autograd import Variable
  from torch.distributions import Categorical
  from pytorch_tabular.models.common.heads import config
  from pytorch_tabular.utils import _initialize_layers, _linear_dropout_bn
label_desc: Use image node_id 4 for calling the MixtureDensityHead obj's underlying member method code with example usage: obj.gaussian_probability(sigma, mu, target, log) and returns: ret