Iterable
MXNET中读入数据需要使用到数据迭代器(Iter),用户可以使用MXNET提供的一些数据迭代器也可以自己写一个迭代器。虽然一般情况下,我们很多的数据都可以直接读入内存之中,但是面向神经网络进行大数据学习时,学习的样本往往达到了几个GB甚至几十上百个GB。这显然是我们的内存所不能承受的。这样的情况下,我们不得不分批次的将数据送入我们的学习网络之中。迭代器的目的就是在需要数据的时候得到部分数据,然后下次需要的时候能够继续获得后续数据。在网上发现这篇Blog对迭代的概念解释的非常好。
NDarray
numpy中的ndarray存储数据时采用的是一维的形式。二维或者多维数组在numpy中采用“别样”解读的方式来实现。比如,一个30元素可以看作5x6或者3x10
Super
dataiter = mx.io.ImageRecordIter(
#rec文件所在位置
path_imgrec="MNIST.rec",
#rec文件中图像大小以及通道数量