code: def split_dataset(
      dataset,
      shuffle=True,
      train_fraction=0.9,
      dev_fraction=0.05,
      test_section=True,
  ):
      random.seed(987654321)
      if shuffle:
          random.shuffle(dataset)
  
      if not test_section:
          dev_fraction = 1 - train_fraction
  
      train_size = int(train_fraction * len(dataset))
      dev_size = int(dev_fraction * len(dataset))
      train = dataset[:train_size]
      dev = dataset[train_size : train_size + dev_size]
      test = dataset[train_size + dev_size :]
  
      return {"train": train, "dev": dev, "test": test}
  
imports: import argparse
  import json
  import os
  import random
  import tarfile
  import tempfile
  from tqdm import tqdm
label_desc: Use image node_id 12 for calling a global function with example usage: split_dataset(dataset, shuffle, train_fraction, dev_fraction, test_section) and returns: dict