TensorflowのTensor
との違いは何ですか?Variable
このスタックオーバーフローの回答、使用できるVariable
場所ならどこでも使用できます。ただし、私はを実行できませんでした:Tensor
session.run()
Variable
A = tf.zeros([10]) # A is a Tensor
B = tf.Variable([111, 11, 11]) # B is a Variable
sess.run(A) # OK. Will return the values in A
sess.run(B) # Error.
ベストアンサー1
Variable
基本的にはTensor
は の複数の呼び出しにわたって状態を維持しrun
、グラフの保存と復元を簡単にすると思います。Variable
は実行する前に初期化する必要があります。 を定義するときに初期値を提供しますVariable
が、セッションで実際にこの値を割り当てるには、その初期化関数を呼び出して を使用する必要がありますVariable
。これを行う一般的な方法は、tf.global_variables_initalizer()
。
例えば:
import tensorflow as tf
test_var = tf.Variable([111, 11, 1])
sess = tf.Session()
sess.run(test_var)
# Error!
sess.run(tf.global_variables_initializer()) # initialize variables
sess.run(test_var)
# array([111, 11, 1], dtype=int32)
sVariable
の代わりに s を使用する理由については、基本的に は追加の機能とユーティリティを備えたです。 をトレーニング可能として指定できます (実際にはデフォルト)。つまり、オプティマイザはコスト関数を最小化するために を調整します。 が分散システムのどこにあるかを指定できます。 とグラフを簡単に保存および復元できます。 s の使用方法に関する詳細情報は、Tensor
Variable
Tensor
Variable
Variable
Variable
Variable
ここ。