code: def __call__(self, object):
      if isinstance(object, torch.Tensor):
          return self.tensor_map_fn(object)
  
      elif isinstance(object, dict):
          mapped_dict = {}
          for key, value in object.items():
              mapped_dict[self(key)] = self(value)
          return mapped_dict
  
      elif isinstance(object, (list, tuple)):
          mapped_iter = []
          for iter in object:
              mapped_iter.append(self(iter))
          return (
              mapped_iter
              if not isinstance(object, tuple)
              else tuple(mapped_iter)
          )
  
      else:
          return object
  
imports: import contextlib
  import functools
  import itertools
  import os
  import pathlib
  import random
  import re
  import shutil
  import sys
  import tempfile
  import warnings
  from subprocess import CalledProcessError, check_output, STDOUT
  import numpy
  import PIL.Image
  import pytest
  import torch
  import torch.testing
  from PIL import Image
  from torch.testing._comparison import BooleanPair, NonePair, not_close_error_metas, NumberPair, TensorLikePair
  from torchvision import io, tv_tensors
  from torchvision.transforms._functional_tensor import _max_value
  from torchvision.transforms.v2.functional import to_image, to_pil_image
label_desc: Use image node_id 2 for calling the MapNestedTensorObjectImpl obj's underlying member method code with example usage: obj.__call__(object) and returns: self, mapped_dict, unknown, object