0
如果我有张量的参考,有没有办法确定张量的变量范围?张量的.name
应该包含变量作用域名称,但是手动解析这个看起来有点像一个黑客的解决方法。有没有更强大的方法来找到变量范围?谢谢!TensorFlow - 获取张量的变量范围?
如果我有张量的参考,有没有办法确定张量的变量范围?张量的.name
应该包含变量作用域名称,但是手动解析这个看起来有点像一个黑客的解决方法。有没有更强大的方法来找到变量范围?谢谢!TensorFlow - 获取张量的变量范围?
名称范围是一个有用的意思,用给定名称作为范围中的张量和运算符的前缀,但它不是唯一的,甚至不是必需的。考虑到具有相同名称的
with tf.variable_scope('foo'):
x = tf.zeros((), name='bar')
和
x = tf.zeros((), name='foo/bar')
结果x
。
可变范围甚至可以被连接起来:
with tf.variable_scope('foo'):
with tf.variable_scope('bar'):
x = tf.zeros((), name='qux')
如此发言的“该”的x
可变范围具有更少感。
但请注意,这些名称的路径性质使其适用于os.path
(即使在Windows上)。例如,要获得张量名称的“路径”部分(可能是您要查找的“变量范围”),您可以使用
os.path.split(x.name)[0]
我明白了。我正在寻找一种通用的方法来获取张量引用的变量范围,以便我可以决定使用variable_scope(...,reuse = True)来重用* related *变量。具体来说,根据该图层的输出张量获取一个贡献层的权重。在这种情况下使用像分裂这样的路径可能会起作用。谢谢! –