class_docstr: Generalised Pareto distribution.
  
  Parameters
  ----------
  xi
      Tensor containing the xi (heaviness) shape parameters
  beta
      Tensor containing the beta scale parameters
code: def log_prob(self, x):
      if self.xi == 0:
          logp = -self.beta.log() - x / self.beta
      else:
          logp = -self.beta.log() - (
              1 + 1.0 / (self.xi + 1e-6)
          ) * torch.log(1 + self.xi * x / self.beta)
      return torch.where(
          x < torch.zeros_like(x), -np.inf * torch.ones_like(x), logp
      )
  
file_path: gluonts/src/gluonts/nursery/spliced_binned_pareto/genpareto.py
imports: from numbers import Number
  import torch
  from torch.distributions import constraints
  from torch.distributions.distribution import Distribution
  from torch.distributions.utils import broadcast_all
  import numpy
label_desc: Use image node_id 5 for calling the GenPareto obj's underlying member method code with example usage: obj.log_prob(x) and returns: torch