tensorboard --logdir runs 改为 tensorboard --logdir=D:\model\tensorboard\runs

重点

在网上看了很多方法后发现将原本链接中的计算机名改为localhost,即http://localhost:6006/后能成功解决该问题,显示结果

1 引言

我们都知道tensorflow框架可以使用tensorboard这一高级的可视化的工具,为了使用tensorboard这一套完美的可视化工具,未免可以将其应用到Pytorch中,用于Pytorch的可视化。这里特别感谢Github上的解决方案: https://github.com/lanpa/tensorboardX

本文主要是针对该解决方案提供一些介绍。

TensorboardX支持scalar, image, figure, histogram, audio, text, graph, onnx_graph, embedding, pr_curve and videosummaries等不同的可视化展示方式,具体介绍移步至项目Github 观看详情。


2 环境安装

本教程代码环境依赖:

python 3.6+

Pytorch 0.4.0+

tensorboardX:   pip install tensorboardX、pip install tensorflow


3 代码教程

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

3.1 scalar教程

 
01_scalar_base.py 代码

对上述代码进行解释,首先导入:from tensorboardXimport SummaryWriter,然后定义一个SummaryWriter() 实例。在SummaryWriter()上鼠标ctrl+b我们可以看到SummaryWriter()的参数为:def __init__(self, log_dir=None, comment='', **kwargs): 其中log_dir为生成的文件所放的目录,comment为文件名称。默认目录为生成runs文件夹目录。我们运行上述代码:生成结果为:

 

当我们为SummaryWriter(comment='base_scalar')。生成结果为:

 

当我们为SummaryWriter(log_dir='scalar') 添加log_dir参数,可以看到第二条数据的文件名称包括了base_scalar值。生成结果目录为:

 

接着解释writer.add_scalar('scalar/test', np.random.rand(), epoch),这句代码的作用就是,将我们所需要的数据保存在文件里面供可视化使用。 这里是Scalar类型,所以使用writer.add_scalar(),其他的队形使用对应的函数。第一个参数可以简单理解为保存图的名称,第二个参数是可以理解为Y轴数据,第三个参数可以理解为X轴数据。当Y轴数据不止一个时,可以使用writer.add_scalars().运行代码之后生成文件之后,我们在runs同级目录下使用命令行:tensorboard --logdir runs. 当SummaryWriter(log_dir='scalar')的log_dir的参数值 存在时,将tensorboard --logdir runs 改为 tensorboard --logdir 参数值

 

最后调用writer.close()。

点击链接即可看到我们的最终需要的可视化结果。

 
可视化效果

可以分别点击对应的图片查看详情。可以看到生成的Scalar名称为'scalar/test'与'scalar/test'一致。注:可以使用左下角的文件选择你想显示的某个或者全部图片。

3.2 Graph教程

 
02_graph_model.py 代码

首先我们定义一个神经网络取名为Net1。然后将其添加到tensorboard可是可视化中。

with SummaryWriter(comment='Net1')as w:

w.add_graph(model, (dummy_input,))

我们重点关注最后两句话,其中使用了python的上下文管理,with 语句,可以避免因w.close未写造成的问题。推荐使用此方式。

因为这是一个神经网络架构,所以使用 w.add_graph(model, (dummy_input,)),其中第一个参数为需要保存的模型,第二个参数为输入值,元祖类型。打开tensorvboard控制台,可得到如下结果。

 

点击Net1部分可以将其网络展开,查看网络内部构造。

 
模型可视化结果

其他部分可以继续一次展开查看详情。

3.3 网络训练综合教程

解释完上述两部分知识之后,我们可以综合运用上述两部分内容,实现线性拟合的训练过程中的loss可视化和模型的保存。

 
 
03_linear_regression.py 代码 

我们将运行过程中loss和model分别保存,最后打开tensorboard控制台,可以得到模型结果和loss的结果为下图.

 
模型可视化结果

注:不同的graph的可视化可以使用上图Run旁边的下拉框选择。

 
loss可视化结果

3.4 Tensorboard综合Demo

本Demo代码为TensorboardX提供的官方Demo代码。

 
 
demo.py

最终运行的所有可视化结果为:

 
最终可视化结果

4 结束语

本文是我写的第一篇比较完整的文章,大家如果觉得帮助到了你,帮忙点个赞呗。

本文所有的代码链接为:https://github.com/miaoshuyu/pytorch-tensorboardx-visualization(对你有用的话,麻烦点个小星星呗)

若转载,请标明出处,谢谢!!

Pytorch使用tensorboardX可视化。超详细!!!的更多相关文章

  1. Pytorch的网络结构可视化(tensorboardX)(详细)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/xiaoxifei/article/det ...

  2. Ubuntu server16.04安装配置驱动418.87、cuda10.1、cudnn7.6.4.38、anaconda、pytorch超详细解决

    目录 安装GCC 安装NVIDIA驱动 1. 卸载原有驱动(没装跳过) 2. 禁用nouveau 3. 安装NVIDIA显卡驱动 安装CUDA10.1 安装cudnn 安装anaconda 安装ten ...

  3. Pytorch在colab和kaggle中使用TensorBoard/TensorboardX可视化

    在colab和kaggle内核的Jupyter notebook中如何可视化深度学习模型的参数对于我们分析模型具有很大的意义,相比tensorflow, pytorch缺乏一些的可视化生态包,但是幸好 ...

  4. [Pytorch]PyTorch使用tensorboardX(转

    文章来源: https://zhuanlan.zhihu.com/p/35675109 https://www.aiuai.cn/aifarm646.html 之前用pytorch是手动记录数据做图, ...

  5. 一个基于TCP/IP的服务器与客户端通讯的小项目(超详细版)

    1.目的:实现客户端向服务器发送数据 原理: 2.建立两个控制台应用,一个为服务器,用于接收数据.一个为客户端,用于发送数据. 关键类与对应方法: 1)类IPEndPoint: 1.是抽象类EndPo ...

  6. 原来你是这样的BERT,i了i了! —— 超详细BERT介绍(一)BERT主模型的结构及其组件

    原来你是这样的BERT,i了i了! -- 超详细BERT介绍(一)BERT主模型的结构及其组件 BERT(Bidirectional Encoder Representations from Tran ...

  7. Anaconda安装tensorflow和keras(gpu版,超详细)

    本人配置:window10+GTX 1650+tensorflow-gpu 1.14+keras-gpu 2.2.5+python 3.6,亲测可行 一.Anaconda安装 直接到清华镜像网站下载( ...

  8. 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例

    初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...

  9. 超强、超详细Redis数据库入门教程

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...

随机推荐

  1. Shell 常用特性

       管道(|) 管道 (|): 将一个命令的输出作为另外一个命令的输入.   管道同样可以在标准输入输出和标准错误输出间做代替工作,这样一来,可以将某一个程序的输出送到另一个程序的输入,其语法如下: ...

  2. IO流5 --- FileReader读入数据的基本操作 --- 技术搬运工(尚硅谷)

    FileReader 字符输入流 @Test public void test1(){ File file = new File("hello.txt"); FileReader ...

  3. 使用Spring Data Redis时,遇到的几个问题

    需求: 1,保存一个key-value形式的结构到redis 2,把一个对象保存成hash形式的结构到redis 代码如下: // 保存key-value值         pushFrequency ...

  4. linux目录结构详细说明

    Linux各目录及每个目录的详细介绍 [常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所 ...

  5. JQMObile 优势

    1.跨平台  目前大部分的移动设备浏览器都支持HTML5标准,jQuery Mobile以HTML5标记配置网页,所以可以跨不同的移动设备,如Apple iOS,Android,BlackBerry, ...

  6. http响应头信息

    HTTP 响应头信息 HTTP请求头提供了关于请求,响应或者其他的发送实体的信息. 在本章节中我们将具体来介绍HTTP响应头信息. 应答头 说明 Allow 服务器支持哪些请求方法(如GET.POST ...

  7. cf round 482D Kuro and GCD and XOR and SUM

    题意: 开始有个空集合,现在有两种操作: $(1,x)$:给集合加一个数$x$,$x \leq 10^5$; $(2,x,k,s)$:在集合中找一个$a$,满足$a \leq s-x$,而且$k|gc ...

  8. truncate 、delete、drop的区别

    TRUNCATE TABLE 在功能上与不带 Where 子句的 Delete 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 Delete 速度快,且使用的系统和事务日志资源 ...

  9. 手机端点击键盘无法获取keyCode值的部分时隐藏键盘并执行事件

    用计时器监视window.innerHeight高度改变来判断.触发键盘其他地方也有事件反应 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  10. HTML5环形音乐播放器

    在线演示 本地下载