您好,登錄后才能下訂單哦!
這篇文章主要介紹了Pytorch怎么用Tensorboard來觀察數據,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
有兩個常用的方法:
一個是add_scalar()
顯:示曲線
一個是add_image()
顯示圖像
首先安裝Tensorboard
在你的編譯環境(conda activate XXX
)中輸入命令
pip install tensorboard
from torch.utils.tensorboard import SummaryWriter #調包 writer = SummaryWriter('logs') # 這里你創建了一個logs的文件裝你的add_scalar生成的曲線, #其中writer.add_scalar()第一個量是曲線的名字, #第二個量是縱坐標scalar_value,第三個量是橫坐標global_step(也可以理解為損失值得步長) for i in range(100): writer.add_scalar("quadratic", i ** 2, i) writer.close()
打開這個Tensorboard文件
tensorboard --logdir=logs #1.這個logdir的文件名必須要與之前所創建的文件名一致,不然很容易報錯,No dashboards are active for the current data set. #2.這個tensorboard輸入的命令,必須是在logs文件的上一層文件中,不然也很容易報錯,No dashboards are active for the current data set.
結果現實:
注意:add_image()
中函數一般有三個量:
第一個是圖像的名字,第二個是圖像(必須是tensor或者numpy.ndarray),第三個是步長(可理解為訓練或者測試階段到哪幅圖像了);
其中,圖像的shape
必須是CHW,但是有opencv
讀取的圖像shape
是HWC,
所以得使用dataformats
轉換以下將圖像的shape轉換為HWC
下面的代碼測試了兩張圖(一張是來自aligned
的圖像,一張是來自original
的圖像)用來模擬訓練或者測試階段程序運行到哪張圖
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') #此圖已經在我第一次測試add_image()用過了 writer.add_image("img", original_img, 2, dataformats='HWC')#此圖是我在第二個測試 writer.close()
實現結果:
tensorboard中出現了IMAGES,并且step1是aligned的圖,而step2是original的圖
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Pytorch怎么用Tensorboard來觀察數據”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。