visdom安装及使用vsidom实现pytorch训练过程可视化

去年考研,成功上岸。有一年没写博客了,今天可以重新开始写了。(我胡汉三又回来了!)

这篇博客写一下visdom的安装以及使用。

所有过程均在Ubuntu系统中完成。

一、visdom安装

1.visdom安装过程比较简单,只需要两行命令即可:

pip install visdom
pip install --upgrade visdom

2.启动

启动命令如下:

python -m visdom.server

3.打开界面

启动后如果不报错,则再浏览器中输入如下网址即可进入visdom界面:

http://localhost:8097/

输入网址后如果再浏览器中看到如下界面,则说明启动成功:

其他的就不多说了,我的安装过程中没有出现错误,如果出错的话可以去问度娘。

二、pytorch训练过程可视化

我的毕业设计需要神经网络训练过程可视化,之前找过好几个工具,第一个是tensorboard,这个工具个人觉得用起来没有visdom便捷;第二个是flask,严格意义上讲,这其实不算一个工具,算是一个框架,实现python与html交互,我花费一天时间来学这个东西,原理倒是不难,但是html的界面美化很难(以前小学期的时候做过html的优化,简直是一种折磨),而且需要时间,所以这个框架被我放弃了。找来找去,还是visdom用起来方便。

我主要做了两部分工作,第一部分是神经网络训练过程中各个参数的动态展示(train_accuracy、train_loss等),第二部分就是展示最终分类结果的图片:classification_map。

1.训练参数动态展示

我的代码是花了四个图,为了讲解方便,我只拿一个图的代码做例子。

代码如下:

#导入相关库文件
from visdom import Visdom

#定义运行环境,没有的话默认为main
viz = Visdom()
#x列表存储x值
x = []
#train_accuracy_visdom列表存储运行过程中产生的train_accuracy参数值
train_accuracy_visdom = []

#定义train_accuracy在visdom中展示的动态折线图表的格式
#参数包括:图标名称、x轴名称、y轴名称、图标宽度、图表长度
train_accuracy = {
     "title": 'train_accuracy',
      "xlabel":'x',
      "ylabel":'y',
      "width":300,
      "height":200,
}
#因为我的网络需要训练10代,所以我让图表动态更换图表名称
#index_iter是代数
train_accuracy['title'] = 'iter:'+str(int(index_iter))+'  train_accuarcy'
#计算train_accuracy并追加到train_accuracy_visdom列表中
train_accuracy_visdom.append(train_acc_sum/n)

#在visdom中动态展示图表
viz.line(X=x, Y=train_accuracy_visdom, win='iter:'+str(int(index_iter))+'  train_accuarcy', opts=train_accuracy)

运行后会得到如下结果(四个图):

二、visdom展示classification_map图片

这个功能的代码也很简单,直接贴代码:

from visdom import Visom
import cv2

image = "你自己的图片的存储路径"
#定义运行环境,没有的话默认为main
vis = Visdom(env='main')
#展示图片,因为vis展示的顺序为GBR,而我们的图片是RGB的,所以要换一下格式
vis.image(image.transpose(2,0,1)[::-1,...])

运行结果如下:

怎么样,是不是非常简单。

如果文章有不足之处,欢迎各位批评指正!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值