class_docstr: Preprocess the input data according to the operators.
  
  Args:
      transforms(list): Preprocessing operators.
  
  Returns:
      img(np.ndarray): Preprocessed image.
      data(dict): Image info and label info, default is None.
class_docstr_tok: ["Preprocess","the","input","data","according","to","the","operators",".","Args",":","transforms","(","list",")",":","Preprocessing","operators",".","Returns",":","img","(","np.ndarray",")",":","Preprocessed","image",".","data","(","dict",")",":","Image","info","and","label","info",",","default","is","None","."]
code: def __init__(self, transforms: list):
      if not isinstance(transforms, list):
          raise TypeError("The transforms must be a list!")
      if len(transforms) < 1:
          raise ValueError(
              "The length of transforms "
              + "must be equal or larger than 1!"
          )
      self.transforms = transforms
  
imports: import os
  import random
  from typing import Callable
  import cv2
  import PIL
  import numpy
  import paddlehub.vision.transforms.functional
  from paddlehub.vision.utils import box_crop, box_iou_xywh
label_desc: Use image node_id 1 to create a new Compose object  with example: obj = Compose(transforms)