変数の定義について、TensorFlowはPythonと違う
TensorFlowは変数に指定しないとダメだ
文法:
state = tf.Variable()
例:
import tensorflow as tf
# 変数stateを定義する
state = tf.Variable(0, name=’counter’)
# 定数oneを定義する
one = tf.constant(1)
# 加算を定義する (計算じゃなくて、定義することだけ)
new_value = tf.add(state, one)
# Stateをnew_valueに更新する
update = tf.assign(state, new_value)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for _ in range(3):
sess.run(update)
print(sess.run(state))
ーーーーーーーーーーーーーーーーーーーーーー
実行:
1)sess.run(update) => (state <- (new_value = state+one = 0+1=1))
print(sess.run(state)) => 1
2)sess.run(update) => (state <- (new_value = state+one = 1+1=2))
print(sess.run(state)) => 2
3)sess.run(update) => (state <- (new_value = state+one = 2+1=3))
print(sess.run(state)) => 3