class_docstr: Utility for iterating over an image dataset to get mini-batches.
  
  Args:
      img_list_file(str): name of the file containing image meta data; each
                          line consists of image_path_suffix delimiter meta_info,
                          where meta info could be label index or label strings, etc.
                          meta_info should not contain the delimiter. If the meta_info
                          of each image is just the label index, then we will parse the
                          label index into a numpy array with length=batchsize
                          (for compatibility); otherwise, we return a list of meta_info;
                          if meta info is available, we return a list of None.
      batch_size(int): num of samples in one mini-batch
      image_transform: a function for image augmentation; it accepts the full
                      image path and outputs a list of augmented images.
      shuffle(boolean): True for shuffling images in the list
      delimiter(char): delimiter between image_path_suffix and label, e.g.,
                       space or comma
      image_folder(boolean): prefix of the image path
      capacity(int): the max num of mini-batches in the internal queue.
code: def __init__(
      self,
      img_list_file,
      batch_size,
      image_transform,
      shuffle=True,
      delimiter=" ",
      image_folder=None,
      capacity=10,
  ):
      self.img_list_file = img_list_file
      self.queue = Queue(capacity)
      self.batch_size = batch_size
      self.image_transform = image_transform
      self.shuffle = shuffle
      self.delimiter = delimiter
      self.image_folder = image_folder
      self.stop = False
      self.p = None
      with open(img_list_file, "r") as fd:
          self.num_samples = len(fd.readlines())
  
file_path: singa/python/singa/data.py
imports: from __future__ import print_function
  from __future__ import absolute_import
  from builtins import range
  from builtins import object
  import os
  import random
  import time
  from multiprocessing import Process, Queue
  import numpy
label_desc: Use image node_id 1 to create a new ImageBatchIter object from inherited base classes: object with example: obj = ImageBatchIter(img_list_file, batch_size, image_transform, shuffle, delimiter, image_folder, capacity)