code: def on_epoch_end(self) -> None:
      if self.shuffle:
          perm = np.random.permutation(len(self.indexables[0]))
          self.indexables = tuple(
              [indexable[i] for i in perm]
              if isinstance(indexable, list)
              else indexable[perm]
              for indexable in self.indexables
          )
  
file_path: alibi-detect/alibi_detect/utils/tensorflow/data.py
imports: import numpy
  import tensorflow
  from typing import Tuple, Union
label_desc: Use image node_id 4 for calling the TFDataset obj's underlying member method code with example usage: obj.on_epoch_end() without return types