code: def __init__(
      self,
      fill: Optional[List[float]] = None,
      side_range: Tuple[float, float] = (1.0, 4.0),
      p: float = 0.5,
  ):
      super().__init__()
      if fill is None:
          fill = [0.0, 0.0, 0.0]
      self.fill = fill
      self.side_range = side_range
      if side_range[0] < 1.0 or side_range[0] > side_range[1]:
          raise ValueError(
              f"Invalid canvas side range provided {side_range}."
          )
      self.p = p
  
imports: from typing import List, Tuple, Dict, Optional
  import torch
  import torchvision
  from torch import nn, Tensor
  from torchvision.transforms import functional
  from torchvision.transforms import transforms
label_desc: Use image node_id 1 to create a new RandomZoomOut object from inherited base classes: nn with example: obj = RandomZoomOut(fill, side_range, p)