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)單入門指引
這篇文章主要介紹了使用C語(yǔ)言擴(kuò)展Python程序的簡(jiǎn)單入門指引,來(lái)自于IBM官網(wǎng)網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04
Sublime如何配置Python3運(yùn)行環(huán)境
這篇文章主要介紹了Sublime如何配置Python3運(yùn)行環(huán)境問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Python實(shí)現(xiàn)基于二叉樹存儲(chǔ)結(jié)構(gòu)的堆排序算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)基于二叉樹存儲(chǔ)結(jié)構(gòu)的堆排序算法,結(jié)合實(shí)例形式分析了Python二叉樹的定義、遍歷及堆排序算法相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12
python圖片驗(yàn)證碼識(shí)別最新模塊muggle_ocr的示例代碼
這篇文章主要介紹了python圖片驗(yàn)證碼識(shí)別最新模塊muggle_ocr的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Python中字符串格式化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

