- 使用Visdom,配合浏览器在线更新各种数据,如loss以及准确度等等,甚至图像.这里提供一个简明实用的教程.
- 安装与启动
安装: pip install visdom
终端启动:python -m visdom.server
- 打开浏览器,地址栏输入
http://localhost:8097/
可以看到蓝色界面.如果报错需要下载我上传的一个资源进行解决:
static.zip 解决visdom 浏览器蓝屏
上面链接也给出了具体的操作方法
- 编写一个最简单的绘制正弦曲线程序
import numpy as np
import visdom
def drawOnlne():![在这里插入图片描述](https://img-blog.csdnimg.cn/20200715134922570.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM4MTM5MDk4,size_16,color_FFFFFF,t_70)
viz = visdom.Visdom(env='sintest')
x = np.linspace(-10, 10, num=100) # start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0
y = np.sin(x)
print(x)
viz.line(y, x, opts=dict(title='line demo', caption='How random.'))
if __name__ == "__main__":
drawOnlne()
- 实验现象
5. 动态更新
完成了上述目标之后,我们就要和训练工作结合起来,如果每次都执行
viz.line(y, x, opts=dict(title='line demo', caption='How random.'))
结果是很可悲的,会看到浏览器里不断在创建新的图标,而我们想要动态更新,这时候可以更改为加上’win’的形式:
import visdom
viz = visdom.Visdom(env='6dof_train')
# 首先创建一个空白图表
viz.line([0], [0], win='accuracy')
.....
.....
# 动态更新时使用这一行,区别:加了win和update!
viz.line(loss_list, list(range(len(loss_list))),
win='accuracy',
update='replace',
opts=dict(title='line demo', caption='How random.'))
更多形式的图表可以参考下面的链接!
5.参考与致谢