【TensorFlow學習筆記 】name_socpe variable_scope

【引言】TensorFlow中的命名域是非常重要的概念,涉及到參數共享,方便命名參數管理,定義圖結構 

 本文主要介紹name_scope 和 variable_scope,slim包中的arg_scope暫不介紹。

1. 首先看看比較簡單的tf.name_scope(‘scope_name’)

 

總結:name_scope常配合tf.Variable一起使用,表示一個name域下的不同變量(name域可理解爲一個網絡或網絡層),當創建的name域相同且不使用reuse時,系統會自動創建新的name域,並附帶下標 _1  _2 等

 

2.下面來看看 tf.variable_scope(‘scope_name’)

總結:當variable_scope相同時 且reuse時,域中的變量get_variable中的變量名name相同時,表示指向同一個內存對象

 

總結:

1  使用tf.Variable(name)方式創建變量時,name可以相同,系統會自動在name後附帶下標

2  使用tf.get_variable(name)方式創建變量時,name如果相同,則一定要用reuse,否則會報錯。使用reuse後,建立name相同的兩個變量其實是在內存中是同一地址。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章