class_docstr: This transform is used to shuffle the list of tensors (usually
  image patches of shape C x H x W) according to a randomly selected
  permutation from a pre-defined set of permutations.
  
  This is a common operation used in Jigsaw approach https://arxiv.org/abs/1603.09246
docstr: The interface `__call__` is used to transform the input data. It should contain
  the actual implementation of data transform.
  
  Args:
      input_patches (List[torch.tensor]): list of torch tensors
docstr_tok: ["The","interface","`","__call__","`","is","used","to","transform","the","input","data",".","It","should","contain","the","actual","implementation","of","data","transform",".","Args",":","input_patches","(","List","[","torch.tensor","]",")",":","list","of","torch","tensors"]
code: def __call__(self, input_patches):
      """
      The interface `__call__` is used to transform the input data. It should contain
      the actual implementation of data transform.
  
      Args:
          input_patches (List[torch.tensor]): list of torch tensors
      """
      if not self.perm_loaded:
          self._load_perms()
      perm_index = np.random.randint(self.perms.shape[0])
      shuffled_patches = [
          torch.FloatTensor(input_patches[i])
          for i in self.perms[perm_index]
      ]
      # num_towers x C x H x W
      input_data = torch.stack(shuffled_patches)
      out_label = torch.Tensor([perm_index]).long()
      return input_data, out_label
  
file_path: vissl/vissl/data/ssl_transforms/shuffle_img_patches.py
imports: import logging
  import os
  import tempfile
  from typing import Any, Dict
  import numpy
  import torch
  from classy_vision.dataset.transforms import register_transform
  from classy_vision.dataset.transforms.classy_transform import ClassyTransform
  from iopath.common.file_io import g_pathmgr
  from vissl.utils.io import cache_url, is_url, load_file
label_desc: Use image node_id 3 for calling the ShuffleImgPatches obj's underlying member method code with example usage: obj.__call__(input_patches) and returns: input_data,  out_label