小编典典

为什么我们在Tensorflow中命名变量?

python

在某些地方,我看到了语法,其中用名称初始化变量,有时不使用名称初始化。例如:

# With name
var = tf.Variable(0, name="counter")

# Without
one = tf.constant(1)

命名变量有var "counter"什么意义?


阅读 265

收藏
2021-01-20

共1个答案

小编典典

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_1matrix_2它们是为保存v1v2在文件中。

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')
2021-01-20