tensorflow中的變量使用Variable(來創(chuàng)建)
創(chuàng)建了的變量要調(diào)用初始化方法來進(jìn)行初始化
首先, 創(chuàng)建一個(gè)變量并進(jìn)行初始化
import tensorflow as tf
#創(chuàng)建變量
x = tf.Variable([1, 2])
#創(chuàng)建常量
a = tf.constant([3, 3])
#增加一個(gè)減法op
sub = tf.subtract(x, a)
#增加一個(gè)加法op
add = tf.add(x, sub)
#對(duì)變量進(jìn)行初始化
init = tf.global_variables_initializer()
with tf.Session() as sess:
#要首先執(zhí)行變量初始化op
sess.run(init)
print(sess.run(sub))
print(sess.run(add))
輸出:
[-2 -1]
[-1 1]
然后通過一個(gè)循環(huán)來給變量賦值
注意賦值不能直接使用"="號(hào), 要使用assign方法
#創(chuàng)建一個(gè)變量, 初始化為0
state = tf.Variable(0, name='counter')
#創(chuàng)建一個(gè)op, 作用是使state + 1
new_value = tf.add(state, 1)
#tensorflow中的賦值op
update = tf.assign(state, new_value)
#變量初始化
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
print(sess.run(state))
#進(jìn)行5次循環(huán)
for _ in range(
#每次執(zhí)行update, 就會(huì)先調(diào)用上層add的op進(jìn)行+1,然后再assign給state賦值
sess.run(update)
print(sess.run(state))
輸出:
0
1
2
3
4
5