class_docstr: Shuffler is used to shuffle the data.
  
  data is stored in a flatten array with the shape is (num_node * node_size * step) and the
  shuffle is applied to the `node_size` dimension.
code: def _get_perm_indexes(self):
      return [
          torch.randperm(
              self.node_size,
              generator=torch.Generator().manual_seed(self.seed),
          )
          for _ in range(self.num_node)
      ]
  
imports: from typing import List, Tuple, Dict
  import numpy
  import torch
label_desc: Use image node_id 2 for calling the Shuffler obj's underlying member method code with example usage: obj._get_perm_indexes() and returns: unknown