用法:
final_state = tf.while_loop(cond, loop_body, init_state)
- cond 是一个函数,负责判断继续执行循环的条件。
- loop_body 是每个循环体内执行的操作,负责对循环状态迸行更新。
- init_state 为循环的起始状态,它可以包含多个 Tensor 或者 TensorArray 。
- 返回的结果是循环结束时的循环状态。
如果用伪代码来表示运行逻辑的话,那 tf.while_loop 的功能与下面的代码相当 :
def while_loop(cond, loop_body, init_state): state = init_state while(cond(state)) : # 使用cond函数判断是否达到循环结束条件。state = loop_body(state) # 使用loop_body函数对state进行更新。return state