2017-10-04 57 views
1

的行爲,請考慮以下的Python 2段使用TensorFlowTensorFlow - 嵌套變量作用域

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會自行創建它嗎?

謝謝!

回答

0

因此,事實證明變量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')