iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
AI & Data

深度學習-TensorFlow系列 第 20

DAY20-scope命名法

  • 分享至 

  • xImage
  •  

今天我們來認識TensorFlow下的scope命名方法~/images/emoticon/emoticon75.gif

TensorFlow中有兩個作用域函數專門用來處理變數共享的需求問題 (生成影像和真實影像經過判別器的時候,需要共享一套變量),分別為 variable_scope (變數域) 和 name_scope (命名域);這兩個作用域函數通常會與兩個建立/呼叫變數的函數搭配使用(下列兩個函數)。

tf.variable_scope(<scope_name>)
tf.get_variable(<name>, <shape>, <initializer>)

(這裡會使用 tf.get_variable() 而不是 tf.Varible(),是因為前者擁有一個變數檢查機制,會自動偵測已經存在的變數是否設定為共享變數,如若還沒有設定成共享變量,TensorFlow在運行到第二個相同變數名稱的變數時,會顯示錯誤訊息。)

variable_scope、name_scope兩者差異 :
前者透過可以設定重用標誌以及初始化方式來影響域下的變數;後者作用於操作。

這兩種作用域,在使用 tf.Variable()方式建立的變量,有相同的效果(皆會在變數名稱前面加上域名稱)。

variable_scope : (可以透過 tf.name_scopetf_scope 建立)
能夠達到重複利用變數的效果。

name_scope : (可以透過 tf.variable_scopetf.variable_op_scope 建立)


上一篇
DAY19-TensorFlow常用模組(下)
下一篇
DAY21-TensorFlow常見語法
系列文
深度學習-TensorFlow30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言