code: def sample_order(self, epoch: int) -> Sequence[int]:
      if not self.distributed:
          generator = np.random.default_rng(
              self.seed + epoch if self.seed is not None else None
          )
          return generator.permutation(self.indices)
  
      self.sampler.set_epoch(epoch)
  
      return self.indices[np.array(list(self.sampler))]
  
file_path: ffcv/ffcv/traversal_order/random.py
imports: from typing import Sequence
  import numpy
  from torch.utils.data import DistributedSampler
  from .base import TraversalOrder
label_desc: Use image node_id 2 for calling the Random obj's underlying member method code with example usage: obj.sample_order(epoch) and returns: self, generator