美文网首页
MXNET笔记(三)Data Iterator

MXNET笔记(三)Data Iterator

作者: 学而时习之_不亦说乎 | 来源:发表于2017-02-15 14:17 被阅读98次

    Iterable

    MXNET中读入数据需要使用到数据迭代器(Iter),用户可以使用MXNET提供的一些数据迭代器也可以自己写一个迭代器。虽然一般情况下,我们很多的数据都可以直接读入内存之中,但是面向神经网络进行大数据学习时,学习的样本往往达到了几个GB甚至几十上百个GB。这显然是我们的内存所不能承受的。这样的情况下,我们不得不分批次的将数据送入我们的学习网络之中。迭代器的目的就是在需要数据的时候得到部分数据,然后下次需要的时候能够继续获得后续数据。在网上发现这篇Blog对迭代的概念解释的非常好。

    NDarray

    numpy中的ndarray存储数据时采用的是一维的形式。二维或者多维数组在numpy中采用“别样”解读的方式来实现。比如,一个30元素可以看作5x6或者3x10

    Super

    关于super


      dataiter = mx.io.ImageRecordIter(
                #rec文件所在位置
                path_imgrec="MNIST.rec",
                #rec文件中图像大小以及通道数量
                data_shape=(3,28,28),
                #每个batch中图像的数量
                batch_size=100,
                #平均图像,如果设置了平均图像,则输入图像将减去该平均图像
                mean_img="data/cifar/cifar10_mean.bin",
                #随机对图像进行裁剪
                rand_crop=True,
                #随机对图像进行镜像
                rand_mirror=True,
                #从rec文件中随机取出图像
                shuffle=False,
                #预处理线程数
                preprocess_threads=4,
                #预取缓存
                prefetch_buffer=1)
    

    相关文章

      网友评论

          本文标题:MXNET笔记(三)Data Iterator

          本文链接:https://www.haomeiwen.com/subject/ywuaittx.html