Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
3abf97c4
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
7
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看板
提交
3abf97c4
编写于
12月 05, 2019
作者:
G
guofei
提交者:
Huihuang Zheng
12月 05, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add Chinese document of control flow API while_loop (#1634)
As the title
上级
9bafc616
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
55 addition
and
0 deletion
+55
-0
doc/fluid/api/layers.rst
doc/fluid/api/layers.rst
+1
-0
doc/fluid/api_cn/layers_cn.rst
doc/fluid/api_cn/layers_cn.rst
+1
-0
doc/fluid/api_cn/layers_cn/while_loop_cn.rst
doc/fluid/api_cn/layers_cn/while_loop_cn.rst
+53
-0
未找到文件。
doc/fluid/api/layers.rst
浏览文件 @
3abf97c4
...
...
@@ -310,6 +310,7 @@ fluid.layers
layers/warpctc.rst
layers/where.rst
layers/While.rst
layers/while_loop.rst
layers/yolo_box.rst
layers/yolov3_loss.rst
layers/zeros.rst
...
...
doc/fluid/api_cn/layers_cn.rst
浏览文件 @
3abf97c4
...
...
@@ -316,6 +316,7 @@ fluid.layers
layers_cn/warpctc_cn.rst
layers_cn/where_cn.rst
layers_cn/While_cn.rst
layers_cn/while_loop_cn.rst
layers_cn/yolo_box_cn.rst
layers_cn/yolov3_loss_cn.rst
layers_cn/zeros_cn.rst
...
...
doc/fluid/api_cn/layers_cn/while_loop_cn.rst
0 → 100644
浏览文件 @
3abf97c4
.. _cn_api_fluid_layers_while_loop:
while_loop
____________________________________
.. py::function:: paddle.fluid.layers.while_loop(cond, body, loop_vars, name=None)
该API用于实现类似while的循环控制功能,只要循环条件 ``cond`` 的返回值为True,``while_loop`` 则会循环执行循环体 ``body`` ,直到 ``cond`` 的返回值为False。
参数:
- **cond** (callable) - 返回boolean类型张量的可调用函数,用以判断循环是否继续执行。
- **body** (callable) - 循环执行的结构体。其返回一个tensor的列表或元组,且这些tensor的长度,结构,类型和 ``loop_vars`` 中的相同。
- **loop_vars** (list|tuple) - tensor的列表或是元组,其传入至 ``cond`` 和 ``body`` 中,得到循环条件和输出值。
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`。一般无需设置,默认值为None。
返回:循环迭代之后 ``body`` 的返回值,和 ``loop_vars`` 具有相同的结构。
返回类型:list|tuple
异常抛出:
- ``TypeError``:若 ``cond`` 不是可调用的。
- ``TypeError``:若 ``body`` 不是可调用的。
- ``TypeError``:若 ``loop_vars`` 不是列表或是元组。
- ``TypeError``:若 ``cond`` 返回值不是变量。
- ``TypeError``:若 ``cond`` 返回值不是boolean类型的variable。
- ``TypeError``:若 ``cond`` 返回值的shape不等于1。
- ``ValueError``:若 ``loop_vars`` 为空。
**示例代码**
.. code-block:: python
# 该示例代码展示整数循环+1,循环10次,输出计数结果
import paddle.fluid as fluid
import paddle.fluid.layers as layers
def cond(i):
return layers.less_than(i, ten)
def body(i):
return layers.increment(x=i, value=1, in_place=True)
main_program = fluid.default_main_program()
startup_program = fluid.default_startup_program()
with fluid.program_guard(main_program, startup_program):
i = layers.fill_constant(shape=[1], dtype='int64', value=0) # 循环计数器
ten = layers.fill_constant(shape=[1], dtype='int64', value=10) # 循环次数
out = layers.while_loop(cond, body, [i])
exe = fluid.Executor(fluid.CPUPlace())
res = exe.run(main_program, feed={}, fetch_list=out)
print(res) #[array([10])]
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录