-
三个在重要术语:
Fluid:定义程序执行流程
Program:对用户来说一个完整的程序
Executor:执行器,执行程序
张量:
张量(Tensor):多维数组或向量,同其它主流深度学习框架一样,PaddlePaddle使用张量来承载数据
Layer:
表示一个独立的计算逻辑,通常包含一个或多个operator(操作),如layers.relu表示ReLU计算;layers.pool2d表示pool操作。Layer的输入和输出为Variable。
Variable:
表示一个变量,可以是一个张量(Tensor),也可以是其它类型。Variable进入Layer计算,然后Layer返回Variable。创建变量方式:
program:
Program包含Variable定义的多个变量和Layer定义的多个计算,是一套完整的计算逻辑。从用户角度来看,Program是顺序、完整执行的。
Executor:
Executor用来接收并执行Program,会一次执行Program中定义的所有计算。通过feed来传入参数,通过fetch_list来获取执行结果。
place:
PaddlePaddle可以运行在lntel CPU,Nvidia GPU,ARM CPU和更多嵌入式设备上,可以通过Place用来指定执行的设备(CPU或GPU)。
optimizer:
优化器,用于优化网络,一般用来对损失函数做梯度下降优化,从而求得最小损失值
程序的执行过程:
数据准备
什么是数据准备:
数据准备是指将样本数据从外部(主要指文件)读入,并且按照一
定方式(随机、批量)传递给神经网络,进行训练或测试的过程数据准备包含三个步骤:
第一步:自定义Reader生成训练/预测数据
第二步:在网络配置中定义数据层变量
第三步:将数据送入网络进行训练/预测
#自定义个文件读取,用python装饰器
import numpy