code: def __init__(
      self,
      file_root,
      annotations_file,
      batch_size,
      image_size,
      num_threads,
      device_id,
      seed,
      **kwargs,
  ):
      self._file_root = file_root
      self._annotations_file = annotations_file
  
      self._batch_size = batch_size
      self._image_size = image_size
      self._num_threads = num_threads
      self._device_id = device_id
  
      self._is_training = kwargs.get("is_training", False)
      self._use_mosaic = kwargs.get("use_mosaic", False)
  
      self._coco = COCO(annotations_file)
  
      self._batch_id = 0
      self._image_ids = self._coco.getImgIds()
      np.random.shuffle(self._image_ids)
      self._num_batches = len(self._image_ids) // (
          self._batch_size * self._num_threads
      )
      if self._num_batches == 0:
          raise Exception("Batch size exceeds training set size")
  
file_path: DALI/docs/examples/use_cases/tensorflow/yolov4/src/np/pipeline.py
imports: from .coco import COCO
  import numpy
  import tensorflow
  import os
  import cv2
  import random
label_desc: Use image node_id 1 to create a new YOLOv4PipelineNumpy object  with example: obj = YOLOv4PipelineNumpy(file_root, annotations_file, batch_size, image_size, num_threads, device_id, seed)