Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
69f0f35e
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
5
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
23
列表
看板
标记
里程碑
合并请求
111
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FluidDoc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
23
Issue
23
列表
看板
标记
里程碑
合并请求
111
合并请求
111
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
69f0f35e
编写于
10月 09, 2018
作者:
T
Tink_Y
提交者:
Shan Yi
10月 09, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix the dead links (#114)
* fix the dead links * fix the dead links for programming_guide
上级
0137c97a
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
20 addition
and
21 deletion
+20
-21
doc/fluid/beginners_guide/programming_guide/programming_guide.md
...id/beginners_guide/programming_guide/programming_guide.md
+18
-18
doc/fluid/user_guides/design_idea/fluid_design_idea.md
doc/fluid/user_guides/design_idea/fluid_design_idea.md
+2
-3
未找到文件。
doc/fluid/beginners_guide/programming_guide/programming_guide.md
浏览文件 @
69f0f35e
...
...
@@ -29,7 +29,7 @@ Fluid和其他主流框架一样,使用Tensor数据结构来承载数据。
模型中的可学习参数(包括网络权重、偏置等)生存期和整个训练任务一样长,会接受优化算法的更新,在 Fluid 中以 Variable 的子类 Parameter 表示。
在Fluid中可以通过
fluid.layers.create_parameter
来创建可学习参数:
在Fluid中可以通过
`fluid.layers.create_parameter`
来创建可学习参数:
```
python
w
=
fluid
.
layers
.
create_parameter
(
name
=
"w"
,
shape
=
[
1
],
dtype
=
'float32'
)
...
...
@@ -49,7 +49,7 @@ y = fluid.layers.fc(input=x, size=128, bias_attr=True)
整个神经网络的输入数据也是一个特殊的 Tensor,在这个 Tensor 中,一些维度的大小在定义模型时无法确定(通常包括:batch size,如果 mini-batch 之间数据可变,也会包括图片的宽度和高度等),在定义模型时需要占位。
Fluid 中使用
fluid.layers.data 来接收输入数据, fluid.layers.data
需要提供输入 Tensor 的形状信息,当遇到无法确定的维度时,相应维度指定为 None ,如下面的代码片段所示:
Fluid 中使用
`fluid.layers.data`
来接收输入数据,
`fluid.layers.data`
需要提供输入 Tensor 的形状信息,当遇到无法确定的维度时,相应维度指定为 None ,如下面的代码片段所示:
```
python
import
paddle.fluid
as
fluid
...
...
@@ -65,11 +65,11 @@ a = fluid.layers.data(name="a",shape=[3,4],dtype='int64')
b
=
fluid
.
layers
.
data
(
name
=
"image"
,
shape
=
[
3
,
None
,
None
]
,
dtpye
=
"float32"
)
```
其中,dtpye=“int64”表示有符号64位整数数据类型,更多Fluid目前支持的数据类型请查看:
[
Fluid目前支持的数据类型
](
../user_guides/howto/prepare_data/feeding_data.rst#fluid
)
。
其中,dtpye=“int64”表示有符号64位整数数据类型,更多Fluid目前支持的数据类型请查看:
[
Fluid目前支持的数据类型
](
../
../
user_guides/howto/prepare_data/feeding_data.rst#fluid
)
。
**3. 常量 Tensor**
Fluid 通过
fluid.layers.fill_constant
来实现常量Tensor,用户可以指定Tensor的形状,数据类型和常量值。代码实现如下所示:
Fluid 通过
`fluid.layers.fill_constant`
来实现常量Tensor,用户可以指定Tensor的形状,数据类型和常量值。代码实现如下所示:
```
python
import
paddle.fluid
as
fluid
...
...
@@ -103,20 +103,20 @@ persistable: false
Fluid有特定的数据传入方式:
您需要使用
fluid.layers.data 配置数据输入层,并在 fluid.Executor 或 fluid.ParallelExecutor
中,使用 executor.run(feed=...) 传入训练数据。
您需要使用
`fluid.layers.data`
配置数据输入层,并在
`fluid.Executor`
或
`fluid.ParallelExecutor`
中,使用 executor.run(feed=...) 传入训练数据。
具体的数据准备过程,请阅读
[
准备数据
](
../user_guides/howto/prepare_data/index.rst
)
具体的数据准备过程,请阅读
[
准备数据
](
../
../
user_guides/howto/prepare_data/index.rst
)
## 使用Operator表示对数据的操作
在Fluid中,所有对数据的操作都由Operator表示,您可以使用内置指令来描述他们的神经网络。
为了便于用户使用,在Python端,Fluid中的Operator被一步封装入
paddle.fluid.layers,paddle.fluid.nets
等模块。
为了便于用户使用,在Python端,Fluid中的Operator被一步封装入
`paddle.fluid.layers`
,
`paddle.fluid.nets`
等模块。
这是因为一些常见的对Tensor的操作可能是由更多基础操作构成,为了提高使用的便利性,框架内部对基础 Operator 进行了一些封装,包括创建 Operator 依赖可学习参数,可学习参数的初始化细节等,减少用户重复开发的成本。
例如用户可以利用
paddle.fluid.layers.elementwise_add()
实现两个输入Tensor的加法运算:
例如用户可以利用
`paddle.fluid.layers.elementwise_add()`
实现两个输入Tensor的加法运算:
```
python
#定义网络
...
...
@@ -219,9 +219,9 @@ with fluid.layers.control_flow.Switch() as switch:
```
关于 Fluid 中 Program 的详细设计思想,可以参考阅读
[
Flui
设计思想
](
../user_guides
/fluid_design_idea.md
)
关于 Fluid 中 Program 的详细设计思想,可以参考阅读
[
Flui
d设计思想
](
../../user_guides/design_idea
/fluid_design_idea.md
)
更多 Fluid 中的控制流,可以参考阅读
[
API文档
](
../api/layers.rst#control_flow
)
更多 Fluid 中的控制流,可以参考阅读
[
API文档
](
../
../
api/layers.rst#control_flow
)
## 使用Executor执行Program
...
...
@@ -250,7 +250,7 @@ outs = exe.run(
## 代码实例
至此,您已经对Fluid核心概念有了初步认识了,不妨尝试配置一个简单的网络吧。如果感兴趣的话可以跟随本部分,完成一个非常简单的数据预测。已经掌握这部分内容的话,可以跳过本节阅读
[
What next
](
#what_next
)
。
至此,您已经对Fluid核心概念有了初步认识了,不妨尝试配置一个简单的网络吧。如果感兴趣的话可以跟随本部分,完成一个非常简单的数据预测。已经掌握这部分内容的话,可以跳过本节阅读
[
What
's
next
](
#what_next
)
。
从逻辑层面明确了输入数据格式、模型结构、损失函数以及优化算法后,需要使用 PaddlePaddle 提供的 API 及算子来实现模型逻辑。一个典型的模型主要包含4个部分,分别是:输入数据格式定义,模型前向计算逻辑,损失函数以及优化算法。
...
...
@@ -364,7 +364,7 @@ outs = exe.run(
确定损失函数后,可以通过前向计算得到损失值,然后通过链式求导法则得到参数的梯度值。
获取梯度值后需要更新参数,最简单的算法是随机梯度下降法:w=w−η⋅g,由
fluid.optimizer.SGD
实现:
获取梯度值后需要更新参数,最简单的算法是随机梯度下降法:w=w−η⋅g,由
`fluid.optimizer.SGD`
实现:
```
python
sgd_optimizer
=
fluid
.
optimizer
.
SGD
(
learning_rate
=
0.01
)
```
...
...
@@ -406,17 +406,17 @@ outs = exe.run(
```
可以看到100次迭代后,预测值已经非常接近真实值了,损失值也从初始值9.05下降到了0.01。
恭喜您!已经成功完成了第一个简单网络的搭建,想尝试线性回归的进阶版——房价预测模型,请阅读:[线性回归](../
beginners_guide/quick_start/fit_a_line/README.cn.md)。更多丰富的模型实例可以在[模型库](../user_guides/models/index.rst
)中找到。
恭喜您!已经成功完成了第一个简单网络的搭建,想尝试线性回归的进阶版——房价预测模型,请阅读:[线性回归](../
../beginners_guide/quick_start/fit_a_line/README.cn.md)。更多丰富的模型实例可以在[模型库](../../user_guides/models/index.md
)中找到。
<a
name=
"what_next"
></a>
## What next
## What
's
next
如果您已经掌握了基本操作,可以进行下一阶段的学习了:
跟随这一教程将学习到如何对实际问题建模并使用fluid构建模型:
[
配置简单的网络
](
../user_guides/howto/configure_simple_model/index.rst
)
。
跟随这一教程将学习到如何对实际问题建模并使用fluid构建模型:
[
配置简单的网络
](
../
../
user_guides/howto/configure_simple_model/index.rst
)
。
完成网络搭建后,可以开始在单机或多机上训练您的网络了,详细步骤请参考
[
训练神经网络
](
../user_guides/howto/training/index.rst
)
。
完成网络搭建后,可以开始在单机或多机上训练您的网络了,详细步骤请参考
[
训练神经网络
](
../
../
user_guides/howto/training/index.rst
)
。
除此之外,使用文档模块根据开发者的不同背景划分了三个学习阶段:
[
新手入门
](
../
user_guides/index.rst
)
和
[
进阶使用
](
../advanced_usage/index.rst
)
。
除此之外,使用文档模块根据开发者的不同背景划分了三个学习阶段:
[
新手入门
](
../
../user_guides/index.rst
)
和
[
进阶使用
](
../
../advanced_usage/index.rst
)
。
如果您希望阅读更多场景下的应用案例,可以跟随导航栏进入
[
快速入门
](
../
beginners_guide/quick_start/index.rst
)
和
[
深度学习基础知识
](
../beginners_guide/basics/index.rst
)
。已经具备深度学习基础知识的用户,可以从
[
使用指南
](
../user_guides/index.rst
)
开始阅读。
如果您希望阅读更多场景下的应用案例,可以跟随导航栏进入
[
快速入门
](
../
../beginners_guide/quick_start/index.rst
)
和
[
深度学习基础知识
](
../../beginners_guide/basics/index.rst
)
。已经具备深度学习基础知识的用户,可以从
[
使用指南
](
../
../user_guides/index.rst
)
开始阅读。
doc/fluid/user_guides/design_idea/fluid_design_idea.md
浏览文件 @
69f0f35e
...
...
@@ -212,7 +212,7 @@ outs = exe.run(
## 代码实例
本节通过
[
Fluid编程指南
](
../beginners
_guide/programming_guide.md
)
中简单的线性回归例子,为您介绍上述内容如何在代码中实现。
本节通过
[
Fluid编程指南
](
https://github.com/PaddlePaddle/FluidDoc/blob/develop/doc/fluid/beginners_guide/programming
_guide/programming_guide.md
)
中简单的线性回归例子,为您介绍上述内容如何在代码中实现。
**定义Program**
...
...
@@ -359,5 +359,4 @@ Fluid使用Executor.run来运行一段Program。
[6.099215 ]], dtype=float32), array([1.6935859], dtype=float32)]
```
至此您已经了解了Fluid 内部的执行流程的核心概念,更多框架使用细节请参考
[
使用指南
](
../user_guides/index.rst
)
相关内容,
[
模型库
](
../user_guides/models/index.rst
)
中也为您提供了丰富的模型示例以供参考。
至此您已经了解了Fluid 内部的执行流程的核心概念,更多框架使用细节请参考
[
使用指南
](
../../user_guides/index.rst
)
相关内容,
[
模型库
](
../../user_guides/models/index.md
)
中也为您提供了丰富的模型示例以供参考。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录