在嵌套变量范围中声明的变量名称是什么?

时间:2017-10-04 10:50:39

标签: python tensorflow scope

考虑以下使用TensorFlow编写的Python 2片段

with tf.variable_scope('scope'):
    layer = slim.conv2d(input_tensor, 64, 7, 2, padding='SAME', scope='another_scope')

我在变量范围内创建conv2d图层,但我也将另一个变量范围名称显式传递给conv2d图层的构造函数。

我的问题如下:

  1. 变量layer的名称是什么,以及定义此变量的范围 - scopeanother_scope
  2. 允许用户声明这样的变量的用例是什么?
  3. 是否可以在TensorFlow中创建嵌套变量范围?如果是,那它是如何运作的?
  4. 如果范围another_scope本身尚未创建,TensorFlow会自行创建吗?

1 个答案:

答案 0 :(得分:1)

事实证明变量layer的全部范围为scope/another_scope。对我来说,似乎他们已经提供了范围参数,因此它可以作为执行

的简写
with tf.variable_scope('scope'):
    with tf.variable_scope('another_scope'):
        layer = slim.conv2d(input_tensor, 64, 7, 2, padding='SAME')