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 *變量。具體來說,根據該圖層的輸出張量獲取一個貢獻層的權重。在這種情況下使用像分裂這樣的路徑可能會起作用。謝謝! –