深度学习: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.波士顿房价预测


#机器学习#
全部评论

相关推荐

02-15 15:29
青岛大学 Java
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务