python中loop的用法_python-在Tensorflow中使用tf.while_loop更新变量
直到一個代碼執行后,這才變得顯而易見.就像這個pattern
import tensorflow as tf
def cond(size, i):
return tf.less(i,size)
def body(size, i):
a = tf.get_variable("a",[6],dtype=tf.int32,initializer=tf.constant_initializer(0))
a = tf.scatter_update(a,i,i)
tf.get_variable_scope().reuse_variables() # Reuse variables
with tf.control_dependencies([a]):
return (size, i+1)
with tf.Session() as sess:
i = tf.constant(0)
size = tf.constant(6)
_,i = tf.while_loop(cond,
body,
[size, i])
a = tf.get_variable("a",[6],dtype=tf.int32)
init = tf.initialize_all_variables()
sess.run(init)
print(sess.run([a,i]))
輸出是
[array([0, 1, 2, 3, 4, 5]), 6]
> tf.get_variable獲取具有這些參數的現有變量或創建一個新變量.
> tf.control_dependencies這是事前發生的關系.在這種情況下,我知道scatter_update在while遞增和返回之前發生.沒有這個,它不會更新.
注意:我不太了解錯誤的含義或原因.我也明白
總結
以上是生活随笔為你收集整理的python中loop的用法_python-在Tensorflow中使用tf.while_loop更新变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python生成簇_使用Python复现
- 下一篇: 对数组下面的数组截取_numpy数组不同