- 问题描述:想在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数据读入者的方法。
- 解决方法:
import paddle.fluid as fluid
import paddledef reader_createor(data, label):
def reader():
for i inrange(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
)
【PaddlePaddle|在Paddle中如何创建并使用自己创建的reader数据读入者】其中reader_createor用于创建数据,使用了python的yield字段,即将方法变成了生成器,这里可以同时生成数据与对应的标签,然后使用paddle.batch()方法来调用reader_createor,实现自己数据的读入。然后就可以将该读入器train_reader用于训练中了。
推荐阅读
- paddlepaddle|paddlepaddle操作(一)
- 嵌入式电脑|Paddle Inference——基于python API在Jetson上部署PaddleSeg模型
- #|paddle.reader.shuffle()中buf_size的作用
- #|paddle.batch()中batch_size的作用
- PaddlePaddle|问题(如何移植v2模型到fluid?)
- PaddlePaddle|PaddlePaddle在执行创建电影名称张量数据时出错
- PaddlePaddle|Fluid如何在输入层定义batch_size大小()
- python|打造paddle数据读器Data reader取全流程【划桨员的自我修养【paddle学习笔记】】