關(guān)于TensorBoard的使用以及遇到的坑記錄
TensorBoard的使用以及遇到的坑
關(guān)于TensorBoard的介紹請(qǐng)參考這篇文章,里面關(guān)于 各個(gè)儀表板的用法和說(shuō)明講的很詳細(xì),就不多說(shuō)了,下面主要說(shuō)下遇到的問(wèn)題。
先附上代碼,生成事件文件
import tensorflow as tf #定義一個(gè)簡(jiǎn)單的計(jì)算圖,實(shí)現(xiàn)向量加法的操作 input1=tf.constant([1.0,2.0,3.0],name="input1") input2=tf.Variable(tf.random_uniform([3]),name="input") output=tf.add_n([input1,input2],name="add") #生成一個(gè)寫(xiě)日志的writer,并將當(dāng)前的TensorFlow計(jì)算圖寫(xiě)入日志。生成的文件在當(dāng)前文件夾下 writer=tf.summary.FileWriter(".\log",tf.get_default_graph()) writer.close() init = tf.global_variables_initializer() tf.Session().run(init)
如果順利的話(huà),應(yīng)該會(huì)生成1個(gè)事件文件,
如圖
接下來(lái)就是使用TensorBoard進(jìn)行可視化分析了在命令行窗口輸入 tensorboard –logdir=log回車(chē),注意不是在python的編輯環(huán)境里如spyder中,如果你這么做,
你會(huì)得到一個(gè)錯(cuò)誤
SyntaxError: can’t assign to operator
回到命令行窗口,執(zhí)行tensorboard –logdir=log
在瀏覽器中復(fù)制上面的網(wǎng)址http://DESKTOP-1Q4IB10:6006
就可以看到如下界面
沒(méi)有任何數(shù)據(jù),是不是很沮喪lol,因?yàn)槲覀兊某绦蚶锩娲_實(shí)沒(méi)有生成標(biāo)量數(shù)據(jù)的事件文件,不過(guò)我們有圖的事件數(shù)據(jù)a,點(diǎn)擊圖后就有結(jié)果了
成功的后面都有很多次失敗的經(jīng)歷,
具體說(shuō)說(shuō)我碰見(jiàn)的神坑
在上面的圖里面,一直都沒(méi)有數(shù)據(jù)?。?!。
像下面
在這篇文章里提到win10路徑的問(wèn)題,我試了下還是不行,不過(guò)把log文件夾移動(dòng)到別的地方再cd的話(huà)可以成功,心里想不能每次都移動(dòng)吧,繼續(xù)找解決辦法,這篇文章提出要先激活Tensorflow環(huán)境再使用,按照里面的方法試了下,
結(jié)果如下
可以看到網(wǎng)頁(yè)的界面變了,難道是Google 的彩蛋/發(fā)呆,但是還是不能正常顯示數(shù)據(jù),只能繼續(xù)找解決辦法了,在這篇文章中,提出要將TensorBoard的程序路徑添加到系統(tǒng)的環(huán)境變量中,我沒(méi)有嘗試,如果你看完本篇文章之后還有問(wèn)題,不如去試下這個(gè)。
那么話(huà)說(shuō)回來(lái),到底是哪塊的問(wèn)題?就在一籌莫展的時(shí)候,看著控制臺(tái)上的命令,突然發(fā)現(xiàn)我的文件夾名“TensoBoard練習(xí) “里面有中文,在想會(huì)不會(huì)是這個(gè)問(wèn)題,改成TensorBoardTest后,
運(yùn)行結(jié)果如圖
命令行中出現(xiàn)了警告,怎么回事?切換到正常環(huán)境下看看會(huì)不會(huì)再次出現(xiàn)
還是出現(xiàn),仔細(xì)看看英語(yǔ),說(shuō)是發(fā)現(xiàn)了不止一個(gè)事件文件,回到文件夾,確實(shí)存在兩個(gè)事件文件。
但是這兩個(gè)區(qū)別在哪里?加載時(shí)又會(huì)加載哪個(gè)?
一番研究下發(fā)現(xiàn),每運(yùn)行一次python程序,就會(huì)生成一個(gè)新的事件文件,但是這個(gè)事件文件是在前一個(gè)版本的基礎(chǔ)上再增添的一些新的內(nèi)容生成的,運(yùn)行看看具體內(nèi)容。
果然只是復(fù)制了一份數(shù)據(jù)。并且在存在多個(gè)事件文件的情況下,TensorBoard會(huì)讀取最近生成的一次事件文件。
總結(jié)
使用TensorBoard沒(méi)有特別的難,無(wú)非就是路徑問(wèn)題加中文文件名,注意這兩點(diǎn)就沒(méi)事了。
注意:一開(kāi)始的那張圖片里面直接使用tensorboard –logdir=log就可以,是因?yàn)槲业奈募A就在桌面。后面演示時(shí)放到E盤(pán)底下。另外像
#tensorboard --logdir=C:\Users\dbsdz\Desktop\TensorBoardTest\log 可以 #cd E://TensorBoardTest tensorboard --logdir=log 可以 #e: cd TensorBoardTest tensorboard --logdir=log 可以
這類(lèi)的命令也都可以正確顯示數(shù)據(jù)。
最后
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu下Python+Flask分分鐘搭建自己的服務(wù)器教程
今天小編就為大家分享一篇Ubuntu下Python+Flask分分鐘搭建自己的服務(wù)器教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11使用python+Pyqt5實(shí)現(xiàn)串口調(diào)試助手
這篇文章主要介紹了使用python+Pyqt5實(shí)現(xiàn)串口調(diào)試助手,串口通訊程序首先要對(duì)串口進(jìn)行設(shè)置,如波特率、數(shù)據(jù)位、停止位、校驗(yàn)位等,需要的朋友可以參考下2022-04-04pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程
今天重點(diǎn)給大家介紹pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程,首先大家需要先下載python3.8壓縮包,然后通過(guò)一系列命令完成操作,具體實(shí)現(xiàn)方法,跟隨小編一起看看吧2021-06-06Python代碼統(tǒng)計(jì)耗時(shí)的方法詳解
在現(xiàn)代軟件開(kāi)發(fā)中,性能優(yōu)化是一個(gè)至關(guān)重要的環(huán)節(jié),無(wú)論是開(kāi)發(fā)大型系統(tǒng)還是小型工具,開(kāi)發(fā)者都需要對(duì)代碼的執(zhí)行時(shí)間進(jìn)行精確測(cè)量,以便找出瓶頸并優(yōu)化性能,本文給大家介紹了Python代碼統(tǒng)計(jì)耗時(shí)的方法,需要的朋友可以參考下2025-02-02基于python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于python實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10Python使用pandas讀取Excel并選取列轉(zhuǎn)json
這篇文章主要為大家詳細(xì)介紹了通過(guò)Python和pyqt5設(shè)計(jì)一個(gè)工具,可以實(shí)現(xiàn)pandas讀取Excel選取列作為鍵或值轉(zhuǎn)json,感興趣的小伙伴可以了解下2025-02-02python 定時(shí)器,輪詢(xún)定時(shí)器的實(shí)例
今天小編就為大家分享一篇python 定時(shí)器,輪詢(xún)定時(shí)器的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Python中dtype、type()和astype()的區(qū)別詳解
這篇文章主要介紹了Python中dtype、type()和astype()的區(qū)別詳解,type()是python內(nèi)置的函數(shù),type()返回?cái)?shù)據(jù)結(jié)構(gòu)類(lèi)型(list、dict、numpy.ndarray 等),需要的朋友可以參考下2023-08-08