mxnet.io.DataIter是MXNet框架中构造数据迭代器的基础类,在MXNet框架下只要和数据读取相关的接口基本上都继承该类,比如我们常用的图像算法相关的mxnet.io.ImageRecordIter类或mxnet.image.ImageIter类都直接或间接继承mxnet.io.DataIter类进行封装。因此熟悉mxnet.io.DataIter类对于其他high level的数据读取接口以及自己封装数据非常有帮助。
mxnet.io.DataIter类的源码地址
源码如下。从注释可以看出该类是MXNet框架下构造数据迭代器的基础类,比较抽象。在该类中主要通过调用next方法返回下一个batch的数据,如果数据已迭代读取完毕,则抛出StopIteration。
class DataIter(object):
"""The base class for an MXNet data iterator.
All I/O in MXNet is handled by specializations of this class. Data iterators
in MXNet are similar to standard-iterators in Python. On each call to `next`
they return a `DataB