class_docstr: Generates training and validation split indicies for a given dataset length and creates training and
  validation datasets using these splits
  
  Args:
      dataset_len: The length of the dataset to be split into training and validation
      split_fraction: The fraction of the whole dataset to be used for validation
      shuffle_seed: Optional random seed for the shuffling process
code: def _gen_split_ids(self, seed):
      all_ids = list(range(self.dataset_len))
  
      if seed is not None:
          random.seed(seed)
      random.shuffle(all_ids)
  
      num_valid_ids = int(
          math.floor(self.dataset_len * self.split_fraction)
      )
      self.valid_ids = all_ids[:num_valid_ids]
      self.train_ids = all_ids[num_valid_ids:]
  
file_path: torchbearer/torchbearer/cv_utils.py
imports: import math
  import torch
  from torch.utils.data import TensorDataset, Dataset
  import random
label_desc: Use image node_id 2 for calling the DatasetValidationSplitter obj's underlying member method code with example usage: obj._gen_split_ids(seed) without return types