class_docstr: Model to learn a univariate Gaussian distribution.
  
  Arguments
  ----------
  mu: Mean of the Gaussian distribution
  sigma: Standard deviation of the Gaussian distribution
  device: The torch.device to use, typically cpu or gpu id
class_docstr_tok: ["Model","to","learn","a","univariate","Gaussian","distribution",".","Arguments","--","--","--","--","--","mu",":","Mean","of","the","Gaussian","distribution","sigma",":","Standard","deviation","of","the","Gaussian","distribution","device",":","The","torch.device","to","use",",","typically","cpu","or","gpu","id"]
code: def log_prob(self, x):
      x = x.view(x.shape.numel())
      if x.shape[0] == 1:
          return self.distr.log_prob(x[0]).view(1)
  
      log_like_arr = torch.ones_like(x)
      for i in range(len(x)):
          self.mu = self.mu_batch[i]
          self.distr = Normal(self.mu, self.sigma)
          lpxx = self.distr.log_prob(x[i]).view(1)
          log_like_arr[i] = lpxx
  
      lpx = log_like_arr
      return lpx
  
file_path: gluonts/src/gluonts/nursery/spliced_binned_pareto/gaussian_model.py
imports: import torch
  import torch.nn.functional
  from torch import nn
  from torch.distributions.normal import Normal
label_desc: Use image node_id 4 for calling the GaussianModel obj's underlying member method code with example usage: obj.log_prob(x) and returns: lpx, self