Tensorflow の Tensor と Variable の違いは何ですか? 質問する

Tensorflow の Tensor と Variable の違いは何ですか? 質問する

TensorflowのTensorとの違いは何ですか?Variableこのスタックオーバーフローの回答、使用できるVariable場所ならどこでも使用できます。ただし、私はを実行できませんでした:Tensorsession.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 の使用方法に関する詳細情報は、TensorVariableTensorVariableVariableVariableVariableここ

おすすめ記事