code: def __init__(self, img_size=256):
      super(VHFlipRotateCrop, self).__init__(img_size)
  
      self.solt_pipeline = solt.Stream(
          [
              slt.Flip(p=self.probablity, axis=0),
              slt.Flip(p=self.probablity, axis=1),
              slt.Rotate(angle_range=(0, 20)),
              slt.Crop(224, crop_mode="r"),
          ]
      )
  
      self.albumentations_pipeline = albu.Compose(
          [
              albu.VerticalFlip(p=self.probablity),
              albu.HorizontalFlip(p=self.probablity),
              albu.Rotate(
                  limit=(0, 20),
                  p=self.probablity,
                  border_mode=cv2.BORDER_CONSTANT,
                  value=0,
              ),
              albu.RandomCrop(height=224, width=224),
              ToTensor(
                  normalize={
                      "mean": [0.485, 0.456, 0.406],
                      "std": [0.229, 0.224, 0.225],
                  }
              ),
          ]
      )
  
      self.torchvision_pipeline = tv_transforms.Compose(
          [
              tv_transforms.RandomHorizontalFlip(p=self.probablity),
              tv_transforms.RandomRotation(degrees=(0, 20)),
              tv_transforms.RandomCrop(224),
              tv_transforms.ToTensor(),
              tv_transforms.Normalize(
                  mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]
              ),
          ]
      )
  
      _augm_ppl = augmentor.Pipeline()
      _augm_ppl.flip_top_bottom(probability=self.probablity)
      _augm_ppl.flip_left_right(probability=self.probablity)
      _augm_ppl.rotate(
          probability=self.probablity,
          max_left_rotation=0,
          max_right_rotation=20,
      )
      _augm_ppl.crop_random(
          probability=1, percentage_area=224 / float(self.img_size)
      )
  
      self.augmentor_pipeline = tv_transforms.Compose(
          [
              _augm_ppl.torch_transform(),
              tv_transforms.transforms.ToTensor(),
              tv_transforms.Normalize(
                  mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]
              ),
          ]
      )
  
imports: import cv2
  import Augmentor
  import albumentations
  from albumentations.pytorch import ToTensor
  import solt
  import solt.transforms
  from torchvision import transforms
label_desc: Use image node_id 1 to create a new VHFlipRotateCrop object from inherited base classes: BenchmarkTest with example: obj = VHFlipRotateCrop(img_size)