TensorFlow会自动修改我的变量范围名称吗?

时间:2017-12-22 06:37:46

标签: tensorflow

检查以下代码:

with tf.variable_scope('test'): # <1>
    v1 = tf.placeholder(tf.float32, shape=(10,10), name='v1') # <2>

with tf.variable_scope('test'): # <3>
    v2 = tf.placeholder(tf.float32, shape=(5, 5), name='v2')
print(v1)
print(v2)

在代码&lt; 3&gt;中,我想将一个名为v2的新占位符添加到变量范围&#39; test&#39;它存在一个名为v1的占位符。但是,打印结果显示如下

Tensor("test/v1:0", shape=(10, 10), dtype=float32)

Tensor("test_1/v2:0", shape=(5, 5), dtype=float32)

我不知道为什么TF会修改变量范围名称&#39; test&#39;进入&#39; test_1&#39;?是BUG吗?

修改

我发现不仅placeholer将被修改其变量范围名称,而且还将修改tensorflow中的所有ops,例如add和matmul。但是按tf.get_variable()添加变量是正常的。

1 个答案:

答案 0 :(得分:0)

我终于在github找到了答案,请检查issue15575