深度学习:PaddlePaddle基础
一、PaddlePaddle优点
1.易用性。
2.丰富的模型库
3.全中文说明文档
4.运行速度快
二、PaddlePaddle缺点
1.教材少 2.学习难度大、曲线陡峭
三、重要术语
Fluid:定义程序执行流程
Program:对用户来说一个完整的程序
Executor:执行器、执行程序
四、案例1:快速开始
import paddle.fluid as fluid # 创建两个张量 x = fluid.layers.fill_constant(shape=[1], dtype='float32', value=100) y = fluid.layers.fill_constant(shape=[1], dtype='float32', value=200) res = x + y #创建执行器 place=fluid.CPUPlace() exe=fluid.Executor(place) result=exe.run(program=fluid.default_main_program(),fetch_list=[res]) print(result[0][0])
五、Varible
Varible 等价于tensor
x = fluid.layers.data(name='xxx',shape=[1],dtype='float32')
paddle中存在三种Variable
模型中的可学习参数:
fluid.layers.create_parameter
占位Variable
fluid.data
常量Variable
fluid.layers.fill_constant
六、Program
program的作用是存储网络结构,但不存储参数。
fluid.default_startup_program() : 定义了模型参数初始化、优化器参数初始化、reader初始化等各种操作。 fluid.default_main_program() : 定义了神经网络模型,前后反向计算,以及模型参数更新、优化器参数更新等各种操作。
七、Optimizer
优化器,用于优化网络,一般用来对损失函数做梯度下降优化,从而求得最小损失值。
optimizer=fluid.optimizer.SGD(learning_rate=0.001) optimizer.minimize(avg_cost)
八、程序执行步骤
定义变量 定义操作
定义执行器
定义loss和优化器
-------------------------
训练模型
保持/加载模型
执行
------------------------
获取结果
九、读取数据
从文件读入数据
批量快速读入
随机读入
(一)实现多元回归
数据准备 : 使用reader对象,随机、批量读取数据样本两个reader分别读取训练、测试样本
搭建网络 :使用全连接网络模型,输入为13个特征值输出为一个预测价格中位数
模型训练、评估 : 均方差损失函数(回归问题)使用随机梯度下降优化器优化训练迭代N轮
模型预测 :加载模型,喂入测试数据进行测试
十、案例
1.简单线性回归
2.波士顿房价预测