class_docstr: The ArrayIterator class iterates over minibatches of data that
  have been preloaded into memory in the form of numpy arrays. This may be used when
  the entire dataset (e.g. CIFAR-10 or MNIST) is small enough to fit in memory. For example::
  
      X = np.random.rand(10000, 3072)
      y = np.random.randint(0, 10, 10000)
      train = ArrayIterator(X=X, y=y, nclass=10, lshape=(3, 32, 32))
  
  The above will create the ArrayIterator object. This object implements python's __iter__
  method, and returns one minibatch of data, formatted as tuple of (input, label), with
  each iteration. The minibatch size is controlled by the generated backend.
  
  X should be an ndarray of shape (# example, # features). For images, the features should be
  formatted in (channel, height, width) order. The `lshape` keyword indicates the local shape of
  the images in (channel, height, width) format.
  
  For classification tasks, the labels `y` should be integers from 0 to K-1, where K is the total
  number of classes. When `y` is not provided, the input features themselves will be returned
  as the target values (e.g. autoencoder).
  
  In regression tasks, where `y` is not a categorical label, set `make_onehot` to `False`.
  For example::
  
      X = np.random.rand(1000, 1)
      y = 2*X + 1
      train = ArrayIterator(X=X, y=y, make_onehot=False)
  
  For more information, see the Loading data section of the documentation.
docstr: Return the number of minibatches in this dataset.
docstr_tok: ["Return","the","number","of","minibatches","in","this","dataset","."]
code: def nbatches(self):
      """
      Return the number of minibatches in this dataset.
      """
      return -((self.start - self.ndata) // self.be.bsz)
  
file_path: neon/neon/data/dataiterator.py
imports: from builtins import zip
  import numpy
  from neon import NervanaObject
label_desc: Use image node_id 2 for calling the ArrayIterator obj's underlying member method code with example usage: obj.nbatches() and returns: unknown