Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
5d8f6991
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
10
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看板
未验证
提交
5d8f6991
编写于
9月 30, 2019
作者:
Z
Zeng Jinle
提交者:
GitHub
9月 30, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add doc of deprecated mem opt apis, test=develop (#1453)
上级
8cf832bc
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
2 addition
and
78 deletion
+2
-78
doc/fluid/api_cn/transpiler_cn/memory_optimize_cn.rst
doc/fluid/api_cn/transpiler_cn/memory_optimize_cn.rst
+1
-45
doc/fluid/api_cn/transpiler_cn/release_memory_cn.rst
doc/fluid/api_cn/transpiler_cn/release_memory_cn.rst
+1
-33
未找到文件。
doc/fluid/api_cn/transpiler_cn/memory_optimize_cn.rst
浏览文件 @
5d8f6991
...
...
@@ -5,48 +5,4 @@ memory_optimize
.. py:function:: paddle.fluid.transpiler.memory_optimize(input_program, skip_opt_set=None, print_log=False, level=0, skip_grads=True)
历史遗留内存优化策略,通过在不同operators之间重用可变内存来减少总内存消耗。
用一个简单的例子来解释该算法:
c = a + b # 假设此处是最后一次使用a
d = b * c
因为在“c = a + b”之后将不再使用a,并且a和d的大小相同,所有我们可以使用变量a来替换变量d,即实际上我们可以将上面的代码优化为如下所示:
c = a + b
a = b * c
请注意,在这个历史遗留设计中,我们使用变量a直接替换d,这意味着在调用此API之后,某些变量可能会消失,而某些变量可能会保留非预期值,如在上面的例子中,实际上执行代码后a保持d的值。
因此,为了防止重要变量在优化中被重用/删除,我们提供skip_opt_set用于指定变量白名单。
skip_opt_set中的变量不受memory_optimize API的影响。
注意:
此API已弃用,请避免在新代码中使用它。
不支持会创建子块的运算符,如While,IfElse等。
参数:
- **input_program** (str) – 输入Program。
- **skip_opt_set** (set) – set中的vars将不被内存优化。
- **print_log** (bool) – 是否打印debug日志。
- **level** (int) - 0或1,0代表我们仅在a.size == b.size时用b替换a,1代表我们可以在a.size <= b.size时用b替换a
返回: None
**代码示例**
.. code-block:: python
import paddle.fluid as fluid
main_prog = fluid.Program()
startup_prog = fluid.Program()
place = fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(startup_prog)
fluid.memory_optimize(main_prog)
**从1.6版本开始此接口不再推荐使用,请不要在新写的代码中使用它,1.6+版本已默认开启更优的存储优化策略**
\ No newline at end of file
doc/fluid/api_cn/transpiler_cn/release_memory_cn.rst
浏览文件 @
5d8f6991
...
...
@@ -5,36 +5,4 @@ release_memory
.. py:function:: paddle.fluid.transpiler.release_memory(input_program, skip_opt_set=None)
该函数可以调整输入program,插入 ``delete_op`` 删除算子,提前删除不需要的变量。
改动是在变量本身上进行的。
**提醒** : 该API还在试验阶段,会在后期版本中删除。不建议用户使用。
参数:
- **input_program** (Program) – 在此program中插入 ``delete_op``
- **skip_opt_set** (set) – 在内存优化时跳过的变量的集合
返回: None
**代码示例**
.. code-block:: python
import paddle.fluid as fluid
# 构建网络
# ...
# 已弃用的API
fluid.release_memory(fluid.default_main_program())
**从1.6版本开始此接口不再推荐使用,请不要在新写的代码中使用它,1.6+版本已默认开启更优的存储优化策略**
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录