code: def get_mnist_iter(args, kv):
      
      (train_lbl, train_img) = read_data(
              'train-labels-idx1-ubyte.gz', 'train-images-idx3-ubyte.gz')
      (val_lbl, val_img) = read_data(
              't10k-labels-idx1-ubyte.gz', 't10k-images-idx3-ubyte.gz')
      train = mx.io.NDArrayIter(
          to4d(train_img), train_lbl, args.batch_size, shuffle=True)
      val = mx.io.NDArrayIter(
          to4d(val_img), val_lbl, args.batch_size)
      return (train, val)
docs: create data iterator with NDArrayIter