code: def crps(self, y: torch.Tensor) -> torch.Tensor:
      z = y
      scale = 1.0
      for t in self.transforms[::-1]:
          assert isinstance(
              t, AffineTransform
          ), "Not an AffineTransform"
          z = t._inverse(z)
          scale *= t.scale
      p = self.base_dist.crps(z)
      return p * scale
  
imports: from typing import Dict, List, Optional, Tuple
  import torch
  import torch.nn.functional
  from torch.distributions import AffineTransform, TransformedDistribution
  from gluonts.core.component import validated
  from .distribution_output import DistributionOutput
label_desc: Use image node_id 2 for calling the TransformedISQF obj's underlying member method code with example usage: obj.crps(y) and returns: unknown