code: def __call__(self, batch):
      data_dict = {}
      to_tensor_keys = []
      for sample in batch:
          for k, v in sample.items():
              if k not in data_dict:
                  data_dict[k] = []
              if isinstance(
                  v, (np.ndarray, paddle.Tensor, PIL.Image.Image)
              ):
                  if k not in to_tensor_keys:
                      to_tensor_keys.append(k)
              data_dict[k].append(v)
      for k in to_tensor_keys:
          data_dict[k] = paddle.stack(data_dict[k], 0)
      return data_dict
  
file_path: PaddleOCR/benchmark/PaddleOCR_DBNet/data_loader/__init__.py
imports: import copy
  import PIL
  import numpy
  import paddle
  from paddle.io import DataLoader, DistributedBatchSampler, BatchSampler
  from paddle.vision import transforms
label_desc: Use image node_id 2 for calling the ICDARCollectFN obj's underlying member method code with example usage: obj.__call__(batch) and returns: data_dict