いくつかの場所で、変数が名前で初期化され、時には名前なしで初期化される構文を見ました。例えば:
# With name
var = tf.Variable(0, name="counter")
# Without
one = tf.constant(1)
変数に名前を付けるポイントは何var
"counter"
ですか?
いくつかの場所で、変数が名前で初期化され、時には名前なしで初期化される構文を見ました。例えば:
# With name
var = tf.Variable(0, name="counter")
# Without
one = tf.constant(1)
変数に名前を付けるポイントは何var
"counter"
ですか?
このname
パラメーターはオプションであり (パラメーターの有無にかかわらず、変数と定数を作成できます)、プログラムで使用する変数はそれに依存しません。名前はいくつかの場所で役立ちます。
変数を保存または復元する場合(計算後にバイナリ ファイルに保存できます)。ドキュメントから:
デフォルトでは、変数ごとに Variable.name プロパティの値を使用します。
matrix_1 = tf.Variable([[1, 2], [2, 3]], name="v1")
matrix_2 = tf.Variable([[3, 4], [5, 6]], name="v2")
init = tf.initialize_all_variables()
saver = tf.train.Saver()
sess = tf.Session()
sess.run(init)
save_path = saver.save(sess, "/model.ckpt")
sess.close()
それにもかかわらず、変数がありますがmatrix_1
、matrix_2
それらはファイルに として保存されv1
ますv2
。
また、名前は TensorBoard でエッジの名前をうまく表示するために使用されます。同じスコープを使用してそれらをグループ化することもできます:
import tensorflow as tf
with tf.name_scope('hidden') as scope:
a = tf.constant(5, name='alpha')
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0), name='weights')
b = tf.Variable(tf.zeros([1]), name='biases')