class_docstr: Compose transforms and handle all transformations regarding bounding boxes
  
  Args:
      transforms (list): list of transformations to compose.
      bbox_params (BboxParams): Parameters for bounding boxes transforms
      keypoint_params (KeypointParams): Parameters for keypoints transforms
      additional_targets (dict): Dict with keys - new target name, values - old target name. ex: {'image2': 'image'}
      p (float): probability of applying all list of transforms. Default: 1.0.
      is_check_shapes (bool): If True shapes consistency of images/mask/masks would be checked on each call. If you
          would like to disable this check - pass False (do it only if you are sure in your data consistency).
class_docstr_tok: ["Compose","transforms","and","handle","all","transformations","regarding","bounding","boxes","Args",":","transforms","(","list",")",":","list","of","transformations","to","compose",".","bbox_params","(","BboxParams",")",":","Parameters","for","bounding","boxes","transforms","keypoint_params","(","KeypointParams",")",":","Parameters","for","keypoints","transforms","additional_targets","(","dict",")",":","Dict","with","keys","-","new","target","name",",","values","-","old","target","name",".","ex",":","{","'image2","'",":","'image","'","}","p","(","float",")",":","probability","of","applying","all","list","of","transforms",".","Default",":","1.0.","is_check_shapes","(","bool",")",":","If","True","shapes","consistency","of","images\/mask\/masks","would","be","checked","on","each","call",".","If","you","would","like","to","disable","this","check","-","pass","False","(","do","it","only","if","you","are","sure","in","your","data","consistency",")","."]
code: def _check_args(self, **kwargs) -> None:
      checked_single = ["image", "mask"]
      checked_multi = ["masks"]
      check_bbox_param = ["bboxes"]
      # ["bboxes", "keypoints"] could be almost any type, no need to check them
      shapes = []
      for data_name, data in kwargs.items():
          internal_data_name = self.additional_targets.get(
              data_name, data_name
          )
          if internal_data_name in checked_single:
              if not isinstance(data, np.ndarray):
                  raise TypeError(
                      "{} must be numpy array type".format(data_name)
                  )
              shapes.append(data.shape[:2])
          if internal_data_name in checked_multi:
              if data is not None and len(data):
                  if not isinstance(data[0], np.ndarray):
                      raise TypeError(
                          "{} must be list of numpy arrays".format(
                              data_name
                          )
                      )
                  shapes.append(data[0].shape[:2])
          if (
              internal_data_name in check_bbox_param
              and self.processors.get("bboxes") is None
          ):
              raise ValueError(
                  "bbox_params must be specified for bbox transformations"
              )
  
      if (
          self.is_check_shapes
          and shapes
          and shapes.count(shapes[0]) != len(shapes)
      ):
          raise ValueError(
              "Height and Width of image, mask or masks should be equal. You can disable shapes check "
              "by setting a parameter is_check_shapes=False of Compose class (do it only if you are sure "
              "about your data consistency)."
          )
  
imports: from __future__ import division
  import random
  import typing
  import warnings
  from collections import defaultdict
  import numpy
  from ..None import random_utils
  from .bbox_utils import BboxParams, BboxProcessor
  from .keypoints_utils import KeypointParams, KeypointsProcessor
  from .serialization import SERIALIZABLE_REGISTRY, Serializable, get_shortest_class_fullname, instantiate_nonserializable
  from .transforms_interface import BasicTransform
  from .utils import format_args, get_shape
label_desc: Use image node_id 8 for calling the Compose obj's underlying member method code with example usage: obj._check_args() without return types