TensorFlow中的Tensorboard該怎么理解,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供邢臺縣網(wǎng)站建設(shè)、邢臺縣做網(wǎng)站、邢臺縣網(wǎng)站設(shè)計、邢臺縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、邢臺縣企業(yè)網(wǎng)站模板建站服務(wù),10年邢臺縣做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
01
—
Tensor是什么?
Tensor是一個 n 維數(shù)組:
0-d tensor: scalar (標量)
1-d tensor: vector (向量)
2-d tensor: matrix(矩陣)
等等
02
—
數(shù)據(jù)流圖
以上就是數(shù)據(jù)流圖。
下面從最簡單的圖開始:
import tensorflow as tf
a = tf.add(3, 5)
通過TensorBoard進行可視化:
為什么是 x, y ?
TF 自動地命名節(jié)點,當我們沒有顯示地指定節(jié)點名稱時,
x = 3
y = 5
接下來,我們打印 a,看看發(fā)生什么:
print (a)
Tensor("Add:0", shape=(), dtype=int32)
圖graph只是定義了操作operations , 如何得到a的值?
03
—
執(zhí)行環(huán)境:Session
創(chuàng)建一個Session,并在這個Session中執(zhí)行上面的圖,抓取到 a 的值。
創(chuàng)建sess,并在當前的sess中執(zhí)行圖:
with tf.Session() as sess:
print(sess.run(a))
Session對象,封裝了TF的執(zhí)行環(huán)境。大家如果開發(fā)過多線程,分布式軟件的話,對于Session的理解可能更容易些,Session尤其對于高并發(fā)環(huán)境,并行計算顯得更重要。
記住
圖graph只是定義了操作operations,但是操作operations只能在session里面執(zhí)行,但是graph和session是獨立創(chuàng)建的。
04
—
Tensorboard入門
以windows下的使用Tensorboard為例,如果在Linux系統(tǒng)下,請在個別地方做出修改。
首先,必須在終端啟動tensorboard,如果采用anaconda安裝地話,在目錄Anaconda3\Scripts下有個啟動項: tensorboard.exe,這就是tensorboard的服務(wù)端。在cmd窗口,cd 到這個目錄。
然后,編寫tensorboard,代碼:
import tensorflow as tf
with tf.name_scope('input1'):
input1 = tf.constant(3.0,name='input1')
with tf.name_scope('input2'):
input2 = tf.constant(5.0,name='input2')
output = tf.add(input1,input2,name='add')
with tf.Session() as sess:
output = sess.run(output)
graph = tf.get_default_graph()
#將日志文件寫入到目錄../log/下
writer = tf.summary.FileWriter('log',graph)
writer.close()
這樣在log文件夾下,增加了一個event文件,
再在終端,輸入 tensorboard.exe --logdir = 剛在生成的log文件夾的絕對路徑,回車,這樣服務(wù)端就啟動了,
接下來,啟動客戶端,即瀏覽器,輸入localhost:6006,端口是6006,選中g(shù)raphs,得到如下的可視化圖:
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。