paddlepaddle 波士顿房价预测demo

paddlepaddle中的dataset已经预置了波士顿房价的数据值,本demo仅测试了paddlepaddle的基本框架。参考官方aistudio后,train代码如下:

import paddle
import paddle.fluid as fluid
import numpy as np
import os
import matplotlib.pyplot as plt


BUF_SIZE = 500
BATCH_SIZE = 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
)


x = fluid.layers.data(name='x', shape=[13], dtype="float32")
y = fluid.layers.data(name='y', shape=[1], dtype='float32')

y_predict = fluid.layers.fc(input=x, size=1, act=None)


cost = fluid.layers.square_error_cost(input=y_predict, label=y)
avg_cost = fluid.layers.mean(cost)

optimizer = fluid.optimizer.SGDOptimizer(learning_rate=0.001)
opts = optimizer.minimize(avg_cost)

test_program = fluid.default_main_program().clone(for_test=True)

place = fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(fluid.default_startup_program())

feeder = fluid.DataFeeder(place=place, feed_list=[x, y])

MAX_EPOCH_NUMBER = 100
MODEL_SAVE_DIR = r"C:\Users\17692\Desktop\paddleDemo\model"

pltx = []
plty = []

for i in range(MAX_EPOCH_NUMBER):
    for batch_id, data in enumerate(train_reader()):
        train_cost = exe.run(program=fluid.default_main_program(), feed=feeder.feed(data), fetch_list=[avg_cost])
        # print("train : id = " + str(i) + " cost = " + str(train_cost[0][0]))
    for batch_id, data in enumerate(test_reader()):
        test_cost = exe.run(program=test_program, feed=feeder.feed(data), fetch_list=[avg_cost])
        # print("test : id = " + str(i) + " cost = " + str(test_cost[0][0]))
        pltx.append(i)
        plty.append(test_cost[0][0])

if not os.path.exists(MODEL_SAVE_DIR):
    os.makedirs(MODEL_SAVE_DIR)

plt.plot(pltx, plty)
plt.savefig("test", dpi=600)

fluid.io.save_inference_model(MODEL_SAVE_DIR, ['x'], [y_predict], exe)





发布了90 篇原创文章 · 获赞 65 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ctsnevermore/article/details/104324681