code: def crps(self, x):
      scale = 1.0
  
      for transform in reversed(self.transforms):
          assert isinstance(
              transform, AffineTransform
          ), "Not an AffineTransform"
          x = transform.inv(x)
          scale *= transform.scale
  
      p = self.base_dist.crps(x)
      return p * scale
  
file_path: gluonts/src/gluonts/nursery/robust-mts-attack/pts/distributions/piecewise_linear.py
imports: import torch
  import torch.nn.functional
  from torch.distributions import constraints, NegativeBinomial, Poisson, Distribution, TransformedDistribution, AffineTransform
  from torch.distributions.utils import broadcast_all, lazy_property
  from .utils import broadcast_shape
label_desc: Use image node_id 2 for calling the TransformedPiecewiseLinear obj's underlying member method code with example usage: obj.crps(x) and returns: unknown