安装visdom:
1.安装visdom与安装python其它的库类似,都可以通过pip进行安装
pip install visdom
#由于外网的原因,可能下载不下来,或者速度较慢,这里可以添加一个镜像源
pip install visdom -i https://pypi.tuna.tsinghua.edu.cn/simple
安装成功后,会显示如下
Successfully built visdom torchfile
Installing collected packages: jsonpointer, websocket-client, torchfile, jsonpatch, visdom
Successfully installed jsonpatch-1.32 jsonpointer-2.1 torchfile-0.1.0 visdom-0.1.8.9 websocket-client-0.58.0
2.每次使用时都需要进行相应的激活
python -m visdom.server
激活成功后,显示如下
Checking for scripts.
It's Alive!
INFO:root:Application Started
You can navigate to http://localhost:8097
3.然后根据提示在浏览器中输入相应地址即可,默认地址为:
http://localhost:8097
使用示例:
# 导入visdom库
from visdom import Visdom
# 在神经网络中绘制loss曲线和精度曲线时就可用下面的方法。
# 新建一个客户端,环境命名为'mnist',如果不设置的话默认为'main'
viz = visdom.Visdom(env='mnist')
# 创建线图初始点。loss是差值图,acc是精度图
viz.line([0.], [0.], win='train_loss', opts=dict(title='train loss'))
viz.line([0.], [0.], win='acc', opts=dict(title='test acc'))
# 使用'append'可以实时的添加随程序运行逐渐产生的loss值。
viz.line([loss.item()], [global_step], win='train_loss', update='append')
下面举个例子,使用visdom绘制折线图
# 下面举个例子绘制折线图
# .a为x轴数值,b为y轴数值,win为绘制曲线的环境窗体名称,opts为图的名称
from visdom import Visdom
import numpy as np
viz = Visdom(env="line chart")
# 创建线图初始点。
viz.line([0.], [0.], win='line', opts=dict(title='line chart'))
a, b = 0, 0
for i in range(50):
a = np.array([i])
#随机生成y值
b = np.random.randn(1)
#使用‘append’实时添加产生的a,b值
viz.line(b, a, win='line', update="append")
折线图如下图所示
使用visdom绘制image图像
# 绘制16张图片随机生成的彩色图片
from visdom import Visdom
import torch
viz = Visdom(env="images")
#nrow表示每行显示的图片数量,(16,3,32,32)表示16张3通道的32*32大小的图片
viz.images(torch.randn(16,3,32,32).numpy(),nrow=4, win='imgs',opts={'title':'imgs'})
生成图像如下图所示,4行4列共16张图