code: def create_dataset(
      input_folder: str, output_folder: str, target_transform
  ):
      """
      Read the dSprites dataset and split it into a training split and a validation split
      which follows the disk_folder format of VISSL
      """
      dataset = DSprites(
          root=input_folder, target_transform=target_transform
      )
      mapper = DSpritesMapper(dataset, output_path=output_folder)
      loader = DataLoader(
          mapper, num_workers=8, batch_size=1, collate_fn=lambda x: x[0]
      )
      with tqdm(total=len(dataset)) as progress_bar:
          for _ in loader:
              progress_bar.update(1)
  
imports: import argparse
  import os
  from typing import Set
  import numpy
  from PIL import Image
  from torch.utils.data import DataLoader, Dataset
  from tqdm import tqdm
  from vissl.utils.download import download_and_extract_archive
label_desc: Use image node_id 4 for calling a global function with example usage: create_dataset(input_folder, output_folder, target_transform) without return types