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