您好,登錄后才能下訂單哦!
這篇文章主要介紹TensorFlow命名空間和TensorBoard圖節點的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
一,命名空間函數
tf.variable_scope tf.name_scope 先以下面的代碼說明兩者的區別 # 命名空間管理函數 ''' 說明tf.variable_scope和tf.name_scope的區別 ''' def manage_namespace(): with tf.variable_scope("foo"): # 在命名空間foo下獲取變量"bar",于是得到的變量名稱為"foo/bar"。 a = tf.get_variable("bar",[1]) #獲取變量名稱為“bar”的變量 print a.name #輸出:foo/bar:0 with tf.variable_scope("bar"): # 在命名空間bar下獲取變量"bar",于是得到的變量名稱為"bar/bar"。 a = tf.get_variable("bar",[1]) print a.name #輸出:bar/bar:0 with tf.name_scope("a"): # 使用tf.Variable函數生成變量會受tf.name_scope影響,于是得到的變量名稱為"a/Variable"。 a = tf.Variable([1]) #新建變量 print a.name #輸出:a/Variable:0 # 使用tf.get_variable函數生成變量不受tf.name_scope影響,于是變量并不在a這個命名空間中。 a = tf.get_variable("b",[1]) print a.name #輸出:b:0 with tf.name_scope("b"): # 使用tf.get_variable函數生成變量不受tf.name_scope影響,所以這里將試圖獲取名稱 # 為“b”的變量。然而這個變量已經被聲明了,于是這里會報重復聲明的錯誤 tf.get_variable("b",[1])#提示錯誤
二,TensorBoard計算圖查看
1 以以下代碼實例,為指定任何的命名空間
def practice_num1(): # 練習1: 構建簡單的計算圖 input1 = tf.constant([1.0, 2.0, 3.0],name="input1") input2 = tf.Variable(tf.random_uniform([3]),name="input2") output = tf.add_n([input1,input2],name = "add") #生成一個寫日志的writer,并將當前的tensorflow計算圖寫入日志 writer = tf.summary.FileWriter(ROOT_DIR + "/log",tf.get_default_graph()) writer.close()
如何使用TensorBoard的過程不再介紹。查看未指明命名空間的運算圖
2 修改代碼制定命名空間之后的代碼
def practice_num1_modify(): #將輸入定義放入各自的命名空間中,從而使得tensorboard可以根據命名空間來整理可視化效果圖上的節點 # 練習1: 構建簡單的計算圖 with tf.name_scope("input1"): input1 = tf.constant([1.0, 2.0, 3.0],name="input1") with tf.name_scope("input2"): input2 = tf.Variable(tf.random_uniform([3]),name="input2") output = tf.add_n([input1,input2],name = "add") #生成一個寫日志的writer,并將當前的tensorflow計算圖寫入日志 writer = tf.summary.FileWriter(ROOT_DIR + "/log",tf.get_default_graph()) writer.close()
查看運算圖
上圖只包含命名的兩個命名空間的節點,我們可以點擊名稱“input2”的圖標上的+號,展開該命名空間
效果:通過命名空間可以整理可視化效果圖上的節點,使可視化的效果更加清晰。
以上是“TensorFlow命名空間和TensorBoard圖節點的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。