class_docstr: Create image patches from a torch Tensor or numpy array.
  This transform was proposed in Jigsaw - https://arxiv.org/abs/1603.09246
  
  Args:
      num_patches (int): how many image patches to create
      patch_jitter (int): space to leave between patches
code: def __init__(self, num_patches=9, patch_jitter=21):
      self.num_patches = num_patches
      self.patch_jitter = patch_jitter
      assert self.patch_jitter > 0, "Negative jitter not supported"
      self.grid_side_len = int(
          math.sqrt(self.num_patches)
      )  # usually = 3
      logging.info(
          f"ImgPatchesFromTensor: num_patches: {num_patches} "
          f"patch_jitter: {patch_jitter}"
      )
  
file_path: vissl/vissl/data/ssl_transforms/img_patches_tensor.py
imports: import logging
  import math
  from typing import Any, Dict
  import numpy
  from classy_vision.dataset.transforms import register_transform
  from classy_vision.dataset.transforms.classy_transform import ClassyTransform
label_desc: Use image node_id 1 to create a new ImgPatchesFromTensor object from inherited base classes: ClassyTransform with example: obj = ImgPatchesFromTensor(num_patches, patch_jitter)