在Paddle中如何创建并使用自己创建的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 paddle

def reader_createor(data, label):
    def reader():
        for i in  range(len(data)):
            yield data[i,:], int(label[i])
    return reader


train_reader = paddle.batch(
    paddle.reader.shuffle(
        reader=reader_createor(data, label),buf_size=200
    ), batch_size=16
)

其中reader_createor用于创建数据,使用了python的yield字段,即将方法变成了生成器,这里可以同时生成数据与对应的标签,然后使用paddle.batch()方法来调用reader_createor,实现自己数据的读入。然后就可以将该读入器train_reader用于训练中了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值