code: def __init__(
      self,
      device,
      batch_size,
      bbox_source,
      thresholds=[0, 0.01, 0.05, 0.1, 0.15],
      threshold_type="iou",
      scaling=[0.3, 1.0],
      aspect_ratio=[0.5, 2.0],
      bbox_layout="xyXY",
      num_attempts=100,
      allow_no_crop=False,
      input_shape=None,
      crop_shape=None,
      all_boxes_above_threshold=False,
      output_bbox_indices=False,
      num_threads=1,
      device_id=0,
      num_gpus=1,
  ):
      super(RandomBBoxCropSynthDataPipeline, self).__init__(
          batch_size, num_threads, device_id, seed=1234
      )
  
      self.device = device
      self.bbox_source = bbox_source
  
      self.bbox_crop = ops.RandomBBoxCrop(
          device=self.device,
          aspect_ratio=aspect_ratio,
          scaling=scaling,
          thresholds=thresholds,
          threshold_type=threshold_type,
          bbox_layout=bbox_layout,
          num_attempts=num_attempts,
          allow_no_crop=allow_no_crop,
          input_shape=input_shape,
          crop_shape=crop_shape,
          all_boxes_above_threshold=all_boxes_above_threshold,
          output_bbox_indices=output_bbox_indices,
      )
  
imports: from nvidia.dali.pipeline import Pipeline
  from nvidia.dali import pipeline_def
  import nvidia.dali.ops
  import nvidia.dali.fn
  import nvidia.dali.types
  import numpy
  import random
label_desc: Use image node_id 1 to create a new RandomBBoxCropSynthDataPipeline object from inherited base classes: Pipeline with example: obj = RandomBBoxCropSynthDataPipeline(device, batch_size, bbox_source, thresholds, threshold_type, scaling, aspect_ratio, bbox_layout, num_attempts, allow_no_crop, input_shape, crop_shape, all_boxes_above_threshold, output_bbox_indices, num_threads, device_id, num_gpus)