![](/img/trans.png)
[英]Tensorflow: AttributeError: 'NoneType' object has no attribute 'original_name_scope'
[英]Tensorflow VariableScope: original_name_scope vs name
在TensorFlow中, VariableScope
類同時具有original_name_scope
和name
屬性。 它們之間有什么區別,何時應在另一個之上使用? 我似乎找不到太多關於它們的文檔。
用例:我正在使用tf.get_collection(key, scope)
方法。 它的第二個參數需要一個字符串,但是我的變量my_scope
具有類型VariableScope
。 我都在嘗試
tf.get_collection(key, my_scope.name)
和
tf.get_collection(key, my_scope.original_scope_name)
。 兩者似乎都可行,但是我不確定哪個是“正確的”,以后也不會給我帶來麻煩。
foo.name
返回范圍的名稱(字符串)。 在另一方面, foo.original_name_scope
返回相同的字符串作為foo.name
,當范圍被重建時除外。 在這種情況下,所有子作用域都會根據需要附加一個_#
,以使對foo.original_name_scope
所有調用都為foo.original_name_scope
的每個實例返回唯一的內容。
例如,在此代碼中:
with tf.variable_scope('a') as a:
print(a.name)
print(a.original_name_scope)
print(a.original_name_scope)
with tf.variable_scope('a') as b:
print(b.name)
print(b.original_name_scope)
退貨
a
a/
a/
a
a_1/
需要注意的是調用original_name_scope
對應不同的作用域實例a
返回不同的值。
大概可以通過它區分具有相同名稱的不同作用域實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.