Pytorch用Tensorboard來觀察數(shù)據(jù)
上一章講數(shù)據(jù)的處理,這一章講數(shù)據(jù)處理之后呈現(xiàn)的結(jié)果,即你有可能看到Loss
的走向等,這樣方便我們調(diào)試代碼。
1.Tensorboard
有兩個常用的方法:
- 一個是
add_scalar()
顯:示曲線 - 一個是
add_image()
顯示圖像
首先安裝Tensorboard
在你的編譯環(huán)境(conda activate XXX
)中輸入命令
pip install tensorboard
1.使用add_scalar()輸入代碼
from torch.utils.tensorboard import SummaryWriter #調(diào)包 writer = SummaryWriter('logs') # 這里你創(chuàng)建了一個logs的文件裝你的add_scalar生成的曲線, #其中writer.add_scalar()第一個量是曲線的名字, #第二個量是縱坐標(biāo)scalar_value,第三個量是橫坐標(biāo)global_step(也可以理解為損失值得步長) for i in range(100): writer.add_scalar("quadratic", i ** 2, i) writer.close()
打開這個Tensorboard文件
tensorboard --logdir=logs #1.這個logdir的文件名必須要與之前所創(chuàng)建的文件名一致,不然很容易報錯,No dashboards are active for the current data set. #2.這個tensorboard輸入的命令,必須是在logs文件的上一層文件中,不然也很容易報錯,No dashboards are active for the current data set.
結(jié)果現(xiàn)實(shí):
2.使用add_image()輸入代碼
注意:add_image()
中函數(shù)一般有三個量:
第一個是圖像的名字,第二個是圖像(必須是tensor或者numpy.ndarray),第三個是步長(可理解為訓(xùn)練或者測試階段到哪幅圖像了);
其中,圖像的shape
必須是CHW,但是有opencv
讀取的圖像shape
是HWC,
所以得使用dataformats
轉(zhuǎn)換以下將圖像的shape轉(zhuǎn)換為HWC
下面的代碼測試了兩張圖(一張是來自aligned
的圖像,一張是來自original
的圖像)用來模擬訓(xùn)練或者測試階段程序運(yùn)行到哪張圖
from torch.utils.tensorboard import SummaryWriter import cv2 writer = SummaryWriter('logs') aligned_img_path = "D:\\data\\basic\\Image\\aligned\\test_0001_aligned.jpg" original_img_path = "D:\\data\\basic\\Image\\original\\test_0001.jpg" aligned_img = cv2.imread(aligned_img_path) original_img = cv2.imread(original_img_path) print(type(aligned_img)) # numpy print(aligned_img.shape) # writer.add_image("img", aligned_img, 1, dataformats='HWC') #此圖已經(jīng)在我第一次測試add_image()用過了 writer.add_image("img", original_img, 2, dataformats='HWC')#此圖是我在第二個測試 writer.close()
實(shí)現(xiàn)結(jié)果:
tensorboard中出現(xiàn)了IMAGES,并且step1是aligned的圖,而step2是original的圖
到此這篇關(guān)于Pytorch用Tensorboard來觀察數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Pytorch使用Tensorboard內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Sublime如何配置Python3運(yùn)行環(huán)境
這篇文章主要介紹了Sublime如何配置Python3運(yùn)行環(huán)境問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Python實(shí)現(xiàn)基于二叉樹存儲結(jié)構(gòu)的堆排序算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)基于二叉樹存儲結(jié)構(gòu)的堆排序算法,結(jié)合實(shí)例形式分析了Python二叉樹的定義、遍歷及堆排序算法相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12python圖片驗(yàn)證碼識別最新模塊muggle_ocr的示例代碼
這篇文章主要介紹了python圖片驗(yàn)證碼識別最新模塊muggle_ocr的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07Python中字符串格式化str.format的詳細(xì)介紹
python從2.6開始支持format,新的更加容易讀懂的字符串格式化方法,下面這篇文章主要介紹了Python中字符串格式化str.format的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02詳解python內(nèi)置常用高階函數(shù)(列出了5個常用的)
這篇文章主要介紹了python內(nèi)置常用高階函數(shù)(列出了5個常用的),通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02幾行代碼讓 Python 函數(shù)執(zhí)行快 30 倍
Python 編程語言,與其他流行編程語言相比主要缺點(diǎn)是它的動態(tài)特性和多功能屬性拖慢了速度表現(xiàn)。Python 代碼是在運(yùn)行時被解釋的,而不是在編譯時被編譯為原生代碼。在本文中,我們將討論如何用多處理模塊并行執(zhí)行自定義 Python 函數(shù),并進(jìn)一步對比運(yùn)行時間指標(biāo)。2021-10-10