Created by: songyouwei
动态图下支持使用控制流op while_loop
。
sample code:
import paddle.fluid as fluid
import paddle.fluid.layers as layers
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) # 循环次数
def cond(i):
return layers.less_than(i, ten)
def body(i):
return i + 1
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])]
with fluid.dygraph.guard():
i = layers.fill_constant(shape=[1], dtype='int64', value=0) # 循环计数器
ten = layers.fill_constant(shape=[1], dtype='int64', value=10) # 循环次数
def cond(i):
return layers.less_than(i, ten)
def body(i):
return i + 1
out = layers.while_loop(cond, body, [i])
print(out) # [array([10])]