欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TensorFlow中的name有什么用

程序员文章站 2022-05-11 18:13:37
...

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

# With name
x1 = tf.Variable(0, name="X1")

# Without
one = tf.constant(1)

那么变量名x1X1有什么区别呢?

name参数是可选的(您可以创建带或不带它的变量和常量),并且您在程序中使用的变量不依赖于它。 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中使用name来很好地显示边的名称

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')

您可以将Python命名空间和TensorFlow命名空间想象为两个平行线。 TensorFlow空间中的名称实际上是属于任何TensorFlow变量的“真实”属性,而Python空间中的名称只是在脚本运行期间指向TensorFlow变量的临时指针。 这就是为什么在保存和恢复变量时,只使用TensorFlow名称的原因,因为脚本终止后Python命名空间不再存在,但Tensorflow命名空间仍然存在于保存的文件中。

转载自:https://blog.csdn.net/xiaohuihui1994/article/details/81022043