class_docstr: SSD Data Augumentation, according to original paper
  Composed by several steps:
  Cropping
  Resize
  Flipping
  Jittering
code: def __init__(self, dboxes, args, size=(300, 300), val=False):
      self.args = args
      self.size = size
      self.val = val
  
      self.dboxes_ = dboxes
      self.encoder = Encoder(self.dboxes_)
      self.crop = SSDCropping()
  
      train_trans = [transforms.Resize(self.size)]
      train_trans.append(
          transforms.ColorJitter(
              brightness=0.125, contrast=0.5, saturation=0.5, hue=0.05
          )
      )
      train_trans.append(transforms.ToTensor())
  
      self.img_trans = transforms.Compose(train_trans)
      self.hflip = RandomHorizontalFlip()
  
      # All PyTorch Tensor will be normalized
      # https://discuss.pytorch.org/t/how-to-preprocess-input-for-pre-trained-networks/683
      self.normalize = transforms.Normalize(
          mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]
      )
  
      self.trans_val = transforms.Compose(
          [
              transforms.Resize(self.size),
              transforms.ToTensor(),
              self.normalize,
          ]
      )
  
imports: import torch
  import torchvision.transforms
  import torch.utils.data
  from PIL import Image
  import os
  import numpy
  import random
  import itertools
  import torch.nn.functional
  import json
  import time
  import bz2
  import pickle
  from math import sqrt
label_desc: Use image node_id 1 to create a new SSDTransformer object from inherited base classes: object with example: obj = SSDTransformer(dboxes, args, size, val)