code: def prepare_data():
      # Read .mat file containing training, testing, and validation sets.
      global data_path, image_path, label_path, setid_path, label_names
      setid = loadmat(setid_path)
  
      idx_train = setid["trnid"][0] - 1
      idx_test = setid["tstid"][0] - 1
      idx_valid = setid["valid"][0] - 1
  
      # Read .mat file containing image labels.
      image_labels = loadmat(label_path)["labels"][0]
  
      # Subtract one to get 0-based labels
      image_labels -= 1
  
      # convert label from number to flower names
      image_labels = [label_names[i] for i in image_labels]
      # extracted images are stored in folder 'jpg'
      files = sorted(glob.glob(os.path.join(data_path, "jpg", "*.jpg")))
      file_label_pairs = np.array([i for i in zip(files, image_labels)])
  
      # move files from extracted folder to train, test, valid
      move_files("train", file_label_pairs[idx_test, :])
      move_files("test", file_label_pairs[idx_train, :])
      move_files("valid", file_label_pairs[idx_valid, :])
  
file_path: mxnet/docs/tutorial_utils/data/oxford_102_flower_dataset.py
imports: import glob
  import os
  import tarfile
  from shutil import copyfile
  import numpy
  from mxnet import gluon
  from scipy.io import loadmat
label_desc: Use image node_id 2 for calling a global function with example usage: prepare_data() without return types