如何在PaddlePaddle中创建并使用reader读入数据?


文章目录

      • 问题描述:
      • 问题分析:
      • 解决方法:
      • 参考:
【如何在PaddlePaddle中创建并使用reader读入数据?】
问题描述:
想在Fluid中使用自己的数据集,但不知如何创建一个reader来使用自己的数据。
问题分析:
Paddle为了让使用者更加容易上手,对很多实例数据进行了封装,方便直接使用,具体封装好的实例数据有:
import paddle.dataset.mnist import paddle.dataset.imikolov import paddle.dataset.imdb import paddle.dataset.cifar import paddle.dataset.movielens import paddle.dataset.conll05 import paddle.dataset.uci_housing import paddle.dataset.sentiment import paddle.dataset.wmt14 import paddle.dataset.wmt16 import paddle.dataset.mq2007 import paddle.dataset.flowers import paddle.dataset.voc2012 import paddle.dataset.image

封装的逻辑其实具有普适性,你可以模仿封装代码中定义reader数据读入者的方法。
解决方法:
这里写一个简单的reader,代码如下:
import paddle.fluid as fluid import paddledef reader_createor(data, label): def reader(): for i in range(len(data)): yield data[i,:], int(label[i]) return readertrain_reader = paddle.batch( paddle.reader.shuffle( reader=reader_createor(data, label),buf_size=200 ), batch_size=16 )

其中reader_createor用于创建数据,使用了pythonyield字段,即将方法变成了生成器,这里可以同时生成数据与对应的标签,然后使用paddle.batch()方法来调用reader_createor,实现自己数据的读入,然后就可以将该读入器train_reader用于训练中了。
参考:
https://blog.csdn.net/PaddlePaddle/article/details/88290507

    推荐阅读