code: def __call__(self, *inputs):
      if not isinstance(self.interp, (tuple, list)):
          interp = [self.interp] * len(inputs)
      else:
          interp = self.interp
  
      zx, zy = self.value
      zoom_matrix = th.FloatTensor([[zx, 0, 0], [0, zy, 0], [0, 0, 1]])
  
      if self.lazy:
          return zoom_matrix
  
      outputs = []
      idx = None
      for idx, _input in enumerate(inputs):
          input_tf = th_affine2d(
              _input, zoom_matrix, mode=interp[idx], center=True
          )
          outputs.append(input_tf)
      return outputs if idx >= 1 else outputs[0]
  
imports: import math
  import random
  import torch
  from ..utils import th_affine2d, th_random_choice
label_desc: Use image node_id 2 for calling the Zoom obj's underlying member method code with example usage: obj.__call__() and returns: unknown, zoom_matrix