PyTorch中的可视化

TensorflowX的可视化

安装环境

tensorboardX安装在pytorch环境中。

  1. 先在pytorch环境中安装tensorflow环境以获得tensorboard
  2. 再pip install tensorboardX安装tensorboardX

常用的方式

TensorboardX可以提供中很多的可视化方式,介绍常用的scalar 和 graph,其他类型相似。

scalar

常被用于生成loss曲线的可视化。

  1. from tensorboardX import SummaryWriter
  2. write = SummaryWriter()的参数为:def init(self, log_dir=None, comment=’’, kwargs): 其中log_dir为生成的envents文件所放的目录,comment为envents文件名称。默认目录为当前文件夹目录。SummaryWriter()定义也可以用with 语句,可以免写write.close。推荐使用此方式with SummaryWriter(log_dir=‘logs’, flush_secs=60) as w:
  3. writer.add_scalar(train_loss,train_total_loss, epoch),第一个参数为保存图的名称,第二个参数是为Y轴数据,即因变量。第三个参数为X轴数据,即自变量。
  4. tensorboard --logdir log_path 启动显示功能。当有多个图同时展示时,可以在logdir同级目录下有多个envents事件。
  5. 最后在浏览器输入网址即可看到图。

graph

常被用于生成网络结构框架的可视化。

writer.add_graph(model, (graph_inputs,))
第一个参数为需要保存的模型,第二个参数为输入值。
打开tensorvboard控制台,可得到框架图结果。

Visdom的可视化

安装环境

visdom安装在pytorch环境中。

  1. 直接在pytorch环境中安装pip install
  2. 再 import visdom
viz = visdom.Visdom(env='train-mnist')
viz.image(torchvision.utils.make_grid(next(iter(train_dataloader))[0], nrow=8), win='train-image')
viz.line(Y=np.array([tr_loss]), X=np.array([iter_count]), update='replace', win=loss_win)
viz.line(Y=np.column_stack((np.array([tr_acc]), np.array([ts_acc]))),
                         X=np.column_stack((np.array([iter_count]), 
                         np.array([iter_count]))),
                         win=acc_win, update='replace',
                         opts=dict(legned=['Train_acc', 'Val_acc']))

可视化

  • 先在一个终端上python -m visdom.server,会跳出屏幕上跳出来:
    Checking for scripts.
    It’s Alive!
    INFO:root:Application Started
    You can navigate to http://localhost:8097
    这就代表你启动visdom成功!
  • 运行你的可视化代码
  • 在浏览器上输入127.0.0.1:8097,就会出现visdom的界面了

可能遇到的问题

  • 启动python3 -m visdom.server的时候,出现报错:“address already in use”。
    解决:说明地址被占用了。
  1. 先在命令行中输入:lsof -i tcp:8097,其中8097是端口号。会显示用这个端口的进程。
  2. 用kill -9 PID #where PID is the process id returned by lsof,杀掉这个占用的进程。
  3. 这时候再输入:lsof -i tcp:8097,就没有内容返回了。同时网页也打不开了。
  4. 再重新输入:python3 -m visdom.server,就不会报错了。

参考:

  1. https://www.jianshu.com/p/ea49c3d83db1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值