class_docstr: wraps a discretizer, and prunes the sigmas
  params:
      strength: float between 0.0 and 1.0. 1.0 means full sampling (all sigmas are returned)
code: def __call__(self, *args, **kwargs):
      # sigmas start large first, and decrease then
      sigmas = self.discretization(*args, **kwargs)
      print(
          f"sigmas after discretization, before pruning img2img: ",
          sigmas,
      )
      sigmas = torch.flip(sigmas, (0,))
      sigmas = sigmas[: max(int(self.strength * len(sigmas)), 1)]
      print("prune index:", max(int(self.strength * len(sigmas)), 1))
      sigmas = torch.flip(sigmas, (0,))
      print(f"sigmas after pruning: ", sigmas)
      return sigmas
  
imports: import math
  import os
  from typing import List, Optional, Union
  import numpy
  import torch
  from einops import rearrange
  from imwatermark import WatermarkEncoder
  from omegaconf import ListConfig
  from PIL import Image
  from torch import autocast
  from sgm.util import append_dims
label_desc: Use image node_id 2 for calling the Img2ImgDiscretizationWrapper obj's underlying member method code with example usage: obj.__call__() and returns: sigmas