首页 > 其他 > 详细

tf.while_loop

时间:2020-02-28 15:25:13      阅读:70      评论:0      收藏:0      [点我收藏+]

while 循环

def while_loop(cond,          ### 一个函数,负责判断循环是否进行
               body,          ### 一个函数,循环体,更新变量
               loop_vars,     ### 初始循环变量,可以是多个,这些变量是 cond、body 的输入 和输出
               shape_invariants=None,
               parallel_iterations=10,
               back_prop=True,
               swap_memory=False,
               name=None,
               maximum_iterations=None,
               return_same_structure=False):

返回 迭代后的 loop_vars

 

def cond(i, n):
    return i < n

def body(i, n):
    i = i + 1
    return i, n

i = tf.get_variable("ii", dtype=tf.int32, shape=[], initializer=tf.ones_initializer())
# i = 1                 # 也可以
# i = tf.constant(1)    # 也可以
n = tf.constant(10)
i, n = tf.while_loop(cond, body, [i, n])
with tf.Session() as sess:
    tf.global_variables_initializer().run()
    res = sess.run([i, n])
    print(res)      # [10, 10]

注意:cond 和 body 的输入和输出要相同,且等于 loop_vars,即使在函数中没有用到全部的 loop_vars,也要做为输入和输出

 

 

参考资料:

tf.while_loop

原文:https://www.cnblogs.com/yanshw/p/12376823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!