Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
90bee17a
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看板
未验证
提交
90bee17a
编写于
6月 27, 2018
作者:
Y
yuyang18
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Follow comments
上级
46f91c1e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
10 deletion
+12
-10
source/user_guides/howto/training/save_load_variables.rst
source/user_guides/howto/training/save_load_variables.rst
+4
-4
source/user_guides/howto/training/single_node.rst
source/user_guides/howto/training/single_node.rst
+4
-4
source/user_guides/howto/training/test_while_training.rst
source/user_guides/howto/training/test_while_training.rst
+4
-2
未找到文件。
source/user_guides/howto/training/save_load_variables.rst
浏览文件 @
90bee17a
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
==========================
==========================
如果我们保存模型的目的是用于对新样本的预测,那么只保存模型参数就足够了。我们可以使用
如果我们保存模型的目的是用于对新样本的预测,那么只保存模型参数就足够了。我们可以使用
:
code:`fluid.io.
save_params` 接口来进行模型参数的保存。
:
ref:`api_fluid_io_
save_params` 接口来进行模型参数的保存。
例如:
例如:
...
@@ -66,7 +66,7 @@
...
@@ -66,7 +66,7 @@
在训练过程中,我们可能希望在一些节点上将当前的训练状态保存下来,
在训练过程中,我们可能希望在一些节点上将当前的训练状态保存下来,
以便在将来需要的时候恢复训练环境继续进行训练。这一般被称作“checkpoint”。
以便在将来需要的时候恢复训练环境继续进行训练。这一般被称作“checkpoint”。
想要保存checkpoint,可以使用 :
code:`fluid.io.
save_checkpoint` 接口。
想要保存checkpoint,可以使用 :
ref:`api_fluid_io_
save_checkpoint` 接口。
例如:
例如:
...
@@ -98,7 +98,7 @@
...
@@ -98,7 +98,7 @@
如何载入模型变量
如何载入模型变量
################
################
与模型变量的保存相对应,我们提供了两套API来分别
进行模型的参数和checkpoint的载入
。
与模型变量的保存相对应,我们提供了两套API来分别
载入模型的参数和载入模型的checkpoint
。
载入模型用于对新样本的预测
载入模型用于对新样本的预测
==========================
==========================
...
@@ -152,7 +152,7 @@
...
@@ -152,7 +152,7 @@
上面的例子中,通过调用 :code:`fluid.io.save_checkpoint` 函数,PaddlePaddle Fluid会对
上面的例子中,通过调用 :code:`fluid.io.save_checkpoint` 函数,PaddlePaddle Fluid会对
:code:`prog` 中的所有模型变量进行扫描,根据内置规则自动筛选出需要加载的变量,
:code:`prog` 中的所有模型变量进行扫描,根据内置规则自动筛选出需要加载的变量,
并尝试从 :code:`path` 之中
读取
加载它们。
并尝试从 :code:`path` 之中加载它们。
参数 :code:`serial` 用来标记具体要加载的checkpoint的版本号。在保存checkpoint的时候,
参数 :code:`serial` 用来标记具体要加载的checkpoint的版本号。在保存checkpoint的时候,
一个checkpoint会被保存在一个子目录中,并在目录名上体现出自己的版本号。
一个checkpoint会被保存在一个子目录中,并在目录名上体现出自己的版本号。
...
...
source/user_guides/howto/training/single_node.rst
浏览文件 @
90bee17a
...
@@ -45,9 +45,9 @@
...
@@ -45,9 +45,9 @@
用户配置完模型后,参数初始化操作会被写入到\
用户配置完模型后,参数初始化操作会被写入到\
:code:`fluid.default_startup_program()` 中。使用 :ref:`api_fluid_Executor` 运行
:code:`fluid.default_startup_program()` 中。使用 :ref:`api_fluid_Executor` 运行
这一程序,即可在全局 :ref:`api_fluid_
S
cope` 中随机初始化参数。例如:
这一程序,即可在全局 :ref:`api_fluid_
global_s
cope` 中随机初始化参数。例如:
.. code-block
s
:: python
.. code-block:: python
exe = fluid.Executor(fluid.CUDAPlace(0))
exe = fluid.Executor(fluid.CUDAPlace(0))
exe.run(program=fluid.default_startup_program())
exe.run(program=fluid.default_startup_program())
...
@@ -84,7 +84,7 @@
...
@@ -84,7 +84,7 @@
1. feed的数据格式,请参考文章 :ref:`user_guide_feed_data_to_executor`。
1. feed的数据格式,请参考文章 :ref:`user_guide_feed_data_to_executor`。
2. :code:`Executor.run` 的返回值是 :code:`fetch_list=[...]` 的variable值。被fetch\
2. :code:`Executor.run` 的返回值是 :code:`fetch_list=[...]` 的variable值。被fetch\
的Variable必须是persistable的。 :code:`fetch_list` 可以传入Variable的列表,\
的Variable必须是persistable的。 :code:`fetch_list` 可以传入Variable的列表,\
也可以传入Varia
lbe的名字列表。当只F
etch一个对象时,返回值是一个元素。否则,\
也可以传入Varia
ble的名字列表。当只f
etch一个对象时,返回值是一个元素。否则,\
返回一个列表。
返回一个列表。
3. 如果需要取回的数据包含序列信息,可以设置
3. 如果需要取回的数据包含序列信息,可以设置
:code:`exe.run(return_numpy=False, ...)` 直接返回 :ref:`api_guide_lod_tensor`
:code:`exe.run(return_numpy=False, ...)` 直接返回 :ref:`api_guide_lod_tensor`
...
@@ -105,7 +105,7 @@
...
@@ -105,7 +105,7 @@
这里有几点注意事项:
这里有几点注意事项:
1. :code:`ParallelExecutor` 的构造函数需要指明要执行的 :ref:`api_fluid_Program` ,
1. :code:`ParallelExecutor` 的构造函数需要指明要执行的 :ref:`api_fluid_Program` ,
并在执行过程中不能修改。
并在执行过程中不能修改。
默认值是 :ref:`api_fluid_default_main_program` 。
2. :code:`ParallelExecutor` 需要明确指定是否使用 CUDA 显卡进行训练。在显卡训练\
2. :code:`ParallelExecutor` 需要明确指定是否使用 CUDA 显卡进行训练。在显卡训练\
模式下会占用全部显卡。用户可以配置 `CUDA_VISIBLE_DEVICES <http://www.acceleware.com/blog/cudavisibledevices-masking-gpus>`_ 来修改占用\
模式下会占用全部显卡。用户可以配置 `CUDA_VISIBLE_DEVICES <http://www.acceleware.com/blog/cudavisibledevices-masking-gpus>`_ 来修改占用\
的显卡。
的显卡。
...
...
source/user_guides/howto/training/test_while_training.rst
浏览文件 @
90bee17a
...
@@ -8,7 +8,9 @@
...
@@ -8,7 +8,9 @@
1. 评价测试不进行反向传播,不优化更新参数。
1. 评价测试不进行反向传播,不优化更新参数。
2. 评价测试执行的操作可以不同。
2. 评价测试执行的操作可以不同。
* 例如 BatchNorm 操作,在训练和测试时执行不同的算法。
* 例如 BatchNorm 操作,在训练和测试时执行不同的算法。
* 评价模型与训练相比可以是完全不同的模型。
* 评价模型与训练相比可以是完全不同的模型。
生成测试 :ref:`api_fluid_Program`
生成测试 :ref:`api_fluid_Program`
...
@@ -18,7 +20,7 @@
...
@@ -18,7 +20,7 @@
=======================================================================
=======================================================================
:code:`Program.clone()` 方法可以复制出新的 :ref:`api_fluid_Program` 。 通过设置
:code:`Program.clone()` 方法可以复制出新的 :ref:`api_fluid_Program` 。 通过设置
:code:`Program.clone(for_test=True)` 复制
出用于测试的操作
。简单的使用方法如下:
:code:`Program.clone(for_test=True)` 复制
含有用于测试的操作Program
。简单的使用方法如下:
.. code-block:: python
.. code-block:: python
...
@@ -46,7 +48,7 @@
...
@@ -46,7 +48,7 @@
分别配置训练 :ref:`api_fluid_Program` 和测试 :ref:`api_fluid_Program`
分别配置训练 :ref:`api_fluid_Program` 和测试 :ref:`api_fluid_Program`
=====================================================================
=====================================================================
如果训练程序和测试程序相差较大时,用户也可以
完全通过
定义两个不同的
如果训练程序和测试程序相差较大时,用户也可以
通过完全
定义两个不同的
:ref:`api_fluid_Program`,分别进行训练和测试。在PaddlePaddle Fluid中,\
:ref:`api_fluid_Program`,分别进行训练和测试。在PaddlePaddle Fluid中,\
所有的参数都有名字。如果两个不同的操作,甚至两个不同的网络使用了同样名字的参数,\
所有的参数都有名字。如果两个不同的操作,甚至两个不同的网络使用了同样名字的参数,\
那么他们的值和内存空间都是共享的。
那么他们的值和内存空间都是共享的。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录