Pytorch學習_visdom可視化(0.01):如何畫Loss圖片


畫loss,但是一直遇到一個問題,定義窗口時,需要畫第一個點(一般是原點),但是這邊后面增加點,導致append到后面,但是第一點沒辦法處理。

安裝visdom

pip install visdom 或者 conda isntall visdom

打開

python -m visdom.server
 
#通過http://localhost:8097訪問

使用visdom

from visdom import Visdom
viz = Visdom()
viz.line([0.], [0.], win='train_loss',opts=dict(title='train loss'))  #single-line
viz.line([loss.item()], [global_step], win='trian_loss', update='append')
###################
viz.line([[0., 0.]], [0.], win='test',opts=dict(title='train loss', 
                                             legend=['loss', 'acc.']))  #single-line
viz.line([[test_loss, correct / len(test_loader.dataset)]], [global_step], win='test', update='append')
###################
viz.images(data.view(-1,1,28,28), win='x')
viz.text(str(pred.detach().cpu().numpy()), win='pred', opts=dict(title='pred'))  
# 推薦使用x.detach()來訪問數據,更加安全。
# 使用loss += loss.detach()來獲取不需要梯度回傳的部分。
# 或者使用loss.item()直接獲得所對應的python數據類型。

解決畫圖中,第一個點需要替換


        self.vis.line(Y=y,X=np.ones(y.shape)*x,
                    win=str(name_total),#unicode
                    opts=dict(legend=name,
                        title=name_total),
                    update='replace' if epoch == 0 else 'append'

推薦教程:
https://github.com/facebookresearch/visdom

https://www.pytorchtutorial.com/using-visdom-for-visualization-in-pytorch/

https://www.pytorchtutorial.com/pytorch-visdom/

學習博客,這個博客總結了上面的內容,內容很好。https://www.cnblogs.com/wanghui-garcia/p/10659966.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM