前言
最近在学习百度PaddlePaddle飞浆深度学习框架,做的第一个例子就是房屋价格预测。尽管官方在实例代码中做了些讲解,但是仍然有很多没有照顾到的地方。下面,我将通过这个例子,带大家掌握这个模型。
项目结构
模型:
加载数据
#每次缓存500个数据
BUF_SIZE=500
#每20个组成一个训练批次
BATCH_SIZE=20
#一次缓存500个数据,其中每次读取20个
#读取数据到缓存中,并且打乱数据。
train_reader = paddle.batch(
paddle.reader.shuffle(paddle.dataset.uci_housing.train(),buf_size=BUF_SIZE),
batch_size=BATCH_SIZE
)
test_reader = paddle.batch(
paddle.reader.shuffle(paddle.dataset.uci_housing.test(),buf_size=BUF_SIZE),
batch_size=BATCH_SIZE
)
代码解析:
- paddle.reader.shuffle(reader,buf_size)作用:将reader中的数据读取到缓冲区,读取数据个数是buf_size。
- paddle.batch(data,batch_size) 数据打包器,将shuffle方法读取的数据按照batch_size大小,进行打包。上述例子中,共有404个训练数据,batch_size=20,共可分得21份(404/20)。
定义模型结构
#定义输入输出变量
x = fluid.layers.data(name='x',shape=[13],dtype='float32')
y = fluid.layers.data(name='y',shape=[1],dtype='float32'