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