docstr: is_fixed_randomness - get identical paddings for the same image if args are the same
code: def __init__(
      self,
      min_padding_percent: float = 0.2,
      max_padding_percent: int = 0.5,
      left_padding_prob: float = 0.6,
      top_padding_prob: float = 0.6,
      right_padding_prob: float = 0.6,
      bottom_padding_prob: float = 0.6,
      is_fixed_randomness: bool = False,
  ):
      """
      is_fixed_randomness - get identical paddings for the same image if args are the same
      """
      self.min_padding_percent = min_padding_percent
      self.max_padding_percent = max_padding_percent
      self.probs = [
          left_padding_prob,
          top_padding_prob,
          right_padding_prob,
          bottom_padding_prob,
      ]
      self.is_fixed_randomness = is_fixed_randomness
  
      assert self.min_padding_percent <= self.max_padding_percent
      assert self.max_padding_percent > 0
      assert (
          len(
              [
                  x
                  for x in [
                      self.min_padding_percent,
                      self.max_padding_percent,
                  ]
                  if (x >= 0 and x <= 1)
              ]
          )
          == 2
      ), f"Padding percentage should be in [0,1]"
      assert (
          sum(self.probs) > 0
      ), f"At least one of the padding probs should be greater than 0 - {self.probs}"
      assert (
          len([x for x in self.probs if (x >= 0) and (x <= 1)]) == 4
      ), f"At least one of padding probs is not in [0,1] - {self.probs}"
      if len([x for x in self.probs if x > 0]) == 1:
          LOGGER.warning(
              f"Only one padding prob is greater than zero - {self.probs}. That means that the outpainting masks will be always on the same side"
          )
  
imports: import glob
  import logging
  import os
  import random
  import albumentations
  import cv2
  import io
  import numpy
  import hashlib
  import lmdb
  import pickle
  import torch
  import torch.nn.functional
  from torch.utils.data import Dataset, IterableDataset, DataLoader, DistributedSampler, ConcatDataset
  import torchvision.transforms
  from torchvision.transforms import Compose, ToTensor, Normalize, RandomResizedCrop
  from PIL import Image
  from enum import Enum
  import csv
  import pandas
  import json
label_desc: Use image node_id 1 to create a new OutpaintingMaskGenerator object  with example: obj = OutpaintingMaskGenerator(min_padding_percent, max_padding_percent, left_padding_prob, top_padding_prob, right_padding_prob, bottom_padding_prob, is_fixed_randomness)