class_docstr: DataIterator
  Collect data from `data_source` and yields bunch of data.
  
  Args:
      data_source (:py:class:`DataSource <nnabla.utils.data_source.DataSource>`):
           Instance of DataSource class witch provides data for this class.
      batch_size (int): Size of data unit.
      rng (None or :obj:`numpy.random.RandomState`): Numpy random number
          generator.
      use_thread (bool): If ``use_thread`` is set to True, iterator will use another
          thread to fetch data. If ``use_thread`` is set to False, iterator will use
          current thread to fetch data.
      epoch_begin_callbacks (list of functions): An item is a function
          which takes an epoch index as a argument. These are called
          at the beginning of an epoch.
      epoch_end_callbacks (list of functions): An item is a function
          which takes an epoch index as a argument. These are called
          at the end of an epoch.
      stop_exhausted (bool): If ``stop_exhausted`` is set to False, iterator will be reset
          so that iteration can be continued. If ``stop_exhausted`` is set to True, iterator
          will raise StopIteration to stop the loop.
docstr: size
  
  Data size that DataIterator will generate.
  This is the largest integer multiple of batch_size not exceeding
  :py:meth:`self._data_source.size`.
  
  Returns:
      int: Data size
code: def size(self):
      """size
  
      Data size that DataIterator will generate.
      This is the largest integer multiple of batch_size not exceeding
      :py:meth:`self._data_source.size`.
  
      Returns:
          int: Data size
  
      """
      return self._size
  
imports: import atexit
  import threading
  import queue
  import numpy
  import six
  from nnabla.logger import logger
  from .data_source import DataSourceWithFileCache
  from .data_source import DataSourceWithMemoryCache
  from .data_source import SlicedDataSource
  from .data_source_implements import CacheDataSource
  from .data_source_implements import ConcatDataSource
  from .data_source_implements import CsvDataSource
  from .data_source_implements import SimpleDataSource
label_desc: Use image node_id 9 for calling the DataIterator obj's underlying member method code with example usage: obj.size() and returns: self