class_docstr: Creates a generalised normal (also called Gaussian) distribution parameterized by
  :attr:`loc` and :attr:`scale` and :attr:`beta`.
  Example::
      >>> m = GeneralisedNormal(torch.tensor([0.0]), torch.tensor([1.0]), 2)
  Args:
      loc (float or Tensor): mean of the distribution (often referred to as mu)
      scale (float or Tensor):
      beta (float or Tensor):
code: def __init__(self, loc, scale, beta, validate_args=None):
      self.loc, self.scale = broadcast_all(loc, scale)
      self.beta = beta
      if isinstance(loc, Number) and isinstance(scale, Number):
          batch_shape = torch.Size()
      else:
          batch_shape = self.loc.size()
      super(GeneralisedNormal, self).__init__(
          batch_shape, validate_args=validate_args
      )
  
imports: import math
  from numbers import Number
  import torch
  from torch.distributions import constraints
  from torch.distributions.exp_family import ExponentialFamily
  from torch.distributions.utils import _standard_normal, broadcast_all
  from scipy.stats import gennorm
  import numpy
label_desc: Use image node_id 4 to create a new GeneralisedNormal object from inherited base classes: ExponentialFamily with example: obj = GeneralisedNormal(loc, scale, beta, validate_args)