code: def read_data_sets(train_dir, data_type="train"):
      """
      Parse or download mnist data if train_dir is empty.
  
      :param: train_dir: The directory storing the mnist data
  
      :param: data_type: Reading training set or testing set.It can be either "train" or "test"
  
      :return:
  
      ``` (ndarray, ndarray) representing (features, labels) features is a 4D unit8 numpy array [
      index, y, x, depth] representing each pixel valued from 0 to 255. labels is 1D unit8 nunpy
      array representing the label valued from 0 to 9. ```
  
      """
      TRAIN_IMAGES = "train-images-idx3-ubyte.gz"
      TRAIN_LABELS = "train-labels-idx1-ubyte.gz"
      TEST_IMAGES = "t10k-images-idx3-ubyte.gz"
      TEST_LABELS = "t10k-labels-idx1-ubyte.gz"
  
      if data_type == "train":
          local_file = base.maybe_download(
              TRAIN_IMAGES, train_dir, SOURCE_URL + TRAIN_IMAGES
          )
          with open(local_file, "rb") as f:
              train_images = extract_images(f)
  
          local_file = base.maybe_download(
              TRAIN_LABELS, train_dir, SOURCE_URL + TRAIN_LABELS
          )
          with open(local_file, "rb") as f:
              train_labels = extract_labels(f)
          return train_images, train_labels
  
      else:
          local_file = base.maybe_download(
              TEST_IMAGES, train_dir, SOURCE_URL + TEST_IMAGES
          )
          with open(local_file, "rb") as f:
              test_images = extract_images(f)
  
          local_file = base.maybe_download(
              TEST_LABELS, train_dir, SOURCE_URL + TEST_LABELS
          )
          with open(local_file, "rb") as f:
              test_labels = extract_labels(f)
          return test_images, test_labels
  
file_path: BigDL/python/dllib/src/bigdl/dllib/feature/dataset/mnist.py
imports: import gzip
  import numpy
  from bigdl.dllib.feature.dataset import base
  from bigdl.dllib.feature.dataset.transformer import *
  from bigdl.dllib.utils.log4Error import *
label_desc: Use image node_id 4 for calling a global function with example usage: read_data_sets(train_dir, data_type) and returns: train_images,  train_labels, test_images,  test_labels