Параметр name
необязателен (вы можете создавать переменные и константы с или без него), и переменная, которую вы используете в своей программе, не зависит от нее. Имена могут быть полезны в нескольких местах:
Если вы хотите сохранить или восстановить переменные (после вычисления вы можете выполнить save them to a binary file). От docs:
By default, it uses the value of the Variable.name property for each variable
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, чтобы красиво отображать названия краев. Вы можете даже group them by using the same scope:
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')