code: def reader(paths=[], images=None):
      """
      data generator
  
      Args:
          paths (list[str]): paths to images.
          images (list(numpy.ndarray)): data of images, shape of each is [H, W, C]
  
      Yield:
          res (list): preprocessed image and the size of original image.
      """
      img_list = []
      if paths:
          assert type(paths) is list, "type(paths) is not list."
          for img_path in paths:
              assert os.path.isfile(
                  img_path
              ), "The {} isn't a valid file path.".format(img_path)
              img = cv2.imread(img_path).astype("float32")
              img_list.append(img)
      if images is not None:
          for img in images:
              img_list.append(img)
  
      for im in img_list:
          # im_size
          im_shape = im.shape
          im_size = np.array([im_shape[0], im_shape[1]], dtype=np.int32)
  
          # decode image
          im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
  
          # resize image
          target_size = 608
          im_size_min = np.min(im_shape[0:2])
          im_size_max = np.max(im_shape[0:2])
          if float(im_size_min) == 0:
              raise ZeroDivisionError("min size of image is 0")
  
          im_scale_x = float(target_size) / float(im_shape[1])
          im_scale_y = float(target_size) / float(im_shape[0])
          im = cv2.resize(
              im,
              None,
              None,
              fx=im_scale_x,
              fy=im_scale_y,
              interpolation=2,
          )
  
          # normalize image
          mean = [0.485, 0.456, 0.406]
          std = [0.229, 0.224, 0.225]
          im = im.astype(np.float32, copy=False)
          mean = np.array(mean)[np.newaxis, np.newaxis, :]
          std = np.array(std)[np.newaxis, np.newaxis, :]
          im = im / 255.0
          im -= mean
          im /= std
  
          # permute
          im = np.swapaxes(im, 1, 2)
          im = np.swapaxes(im, 1, 0)
  
          yield [im, im_size]
  
imports: from __future__ import absolute_import
  from __future__ import print_function
  from __future__ import division
  import os
  import cv2
  import numpy
label_desc: Use image node_id 1 for calling a global function with example usage: reader(paths, images) without return types