前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytorch进阶知识-Visdom可视化

pytorch进阶知识-Visdom可视化

作者头像
用户6719124
发布2019-11-17 22:04:26
7740
发布2019-11-17 22:04:26
举报
文章被收录于专栏:python pytorch AI机器学习实践

本节介绍一个用于辅助分析、查看loss、accuracy等的重要工具—Visdom可视化工具。

使用过tensorflow的人应该见过tensorflow的可视化工具—tensorboard

用户可以在这上面查看照片、或进行使数据可视化的操作。

而对于pytorch也有类似的功能,即tensorboardX。

安装该工具包也较为简单,在cmd命令里直接输入

pip install tensorboardX

tensorboardX上也具有同tensorboard类似的功能,可以查看图片或进行使数据可视化的操作。

但tensorboardX有一个问题,即它使用的是numpy的数据,转换成tensor数据时还要先转换到cpu上面,较麻烦。

本节课介绍一个可以原生的接收tensor数据的、更节省空间、运行速度更快、交互性更好、更美观的可视化工具—Visdom。

安装Visdom的方法十分简单,直接在cmd上输入pip install visdom即可。

若想调用visdom窗口、开启监听进程需要在cmd上输入 python -m visdom.server即可。

这里相当于开启了web服务器,数据会自动的调向服务器进行监听。因此必须在进行网络结构运行前就确保已经开启了监听服务器。

将下面提供的地址http://localhost:8097输入到任意一个浏览器的地址行中

随后便顺利开启了visdom

下面以具体代码示例visdom如何运行

若想对单线条进行监听

代码语言:javascript
复制
from visdom import Visdom

viz = Visdom()
# 首先创建一个visdom的实例

viz.line([0.], [0.], win='train_loss', opts = dict(title='train_loss'))
# 先创建并初始化一个直线两个初始点依次为y和x的值,
# 设置窗口和窗口的标题均为:train_loss
viz.line([loss.item()], [global_step])
# 将数据喂给loss,[global_step]代表x的时间戳,
# 更新方式为”添加”

多条曲线可以展开对比,以更好的对数据进行分析,而若想创建多条曲线,则代码为

代码语言:javascript
复制
viz = Visdom()

viz.line([[0.0, 0.0]], [0.], win='test',
         opts=dict(title='title loss&acc.', legend=['loss', 'acc']))
# loss和acc分别为y1和y2曲线
viz.line([[test_loss, correct / len(test_loader.dataset)]],
         [global_step], win='test', update='append')

运行的结果为

这里注意loss的波动范围为[0⁓100],而acc的波动范围为[0⁓1],因此该图看上去不美观,在自己的实际应用中,应该注意这些问题。

若想查看图片,则代码为

代码语言:javascript
复制
from visdom import Visdom

viz = Visdom()

viz.images(data.view(-1, 1, 28, 28), win='x')
# data为mnist数据集
viz.text(str(pred.datach().cpu().numpy()), win='pred', opts=dict(title='pred'))

输出为

由此可见,visdom可以较方便的进行各类数据的输出

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python pytorch AI机器学习实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档