我是tensorflow的新手。也许这是一个愚蠢的问题。
我设置a = tf.Variable([1,2], name = 'a')
为例。它使a.name
成为a:0
。
我再次设置相同的内容a = tf.Variable([1,2], name = 'a')
。然后,它会a.name
为a_1:0
,后缀为_1
。
这是我的问题。当我多次设置相同的tf.Variable
时,有没有办法保持同名(例如' a:0')?
例如,
a = tf.Variable([1,2], name='a')
... some process to kill the variable a
a = tf.Variable([1,2], name='a')
a.name
然后我得到a:0
。
谢谢你。
答案 0 :(得分:1)
我担心这是不可能的,因为每个变量必须在tensorflow中具有唯一的名称。但是,您可以在不同的范围内使用相同的名称。
with tf.variable_scope("scope1"):
a = tf.Variable([1,2], name='a')
# some code
with tf.variable_scope("scope2"):
a = tf.Variable([1,2], name='a')
现在,如果你实际上两次使用相同的变量,你可以明确告诉tensorflow重用它。
scope = tf.get_variable_scope()
a = tf.get_variable('a', [1,2])
# some code
scope.reuse_variables() # set reuse to True
b = tf.get_variable('a', [1,2])
assert(a == b) # True