文章目录

  • 一、TensorBoard简介与安装
    • 1.TensorBoard的运行机制
    • 2. TensorBoard安装
  • 二、TensorBoard的使用
    • 1.SummaryWriter

一、TensorBoard简介与安装

  TensorBoard是一种可视化工具。在训练过程中,我们要可视化训练过程,用来监控我们当前训练的训练状态。TensorBoard是TensorFlow中强大的可视化工具,但目前PyTorch已支持TensorBoard的使用,支持标量、图像、文本、音频、视频和Eembedding等多种数据可视化。

1.TensorBoard的运行机制

  • python脚本中记录可视化的数据
  • 将数据存储在硬盘中,以event file的形式存储
  • 在终端使用TensorBoard工具读取event file的形式数据,TensorBoard工具在Web端进行可视化

    网址即为可视化后的网址

2. TensorBoard安装

  在conda中直接输入pip install tensorboard来进行安装

二、TensorBoard的使用

1.SummaryWriter

class SummaryWriter(object):def __init__(self, log_dir=None, comment='', purge_step=None, max_queue=10,flush_secs=120, filename_suffix=''):...

功能:提供创建event file的高级接口
主要属性

  • log_dir:event file输出文件夹
  • comment:不指定log_dir时,文件夹后缀
  • filename_suffix:event file文件名后缀

下面展示这三个参数的使用

import os
import numpy as np
import matplotlib.pyplot as plt
from torch.utils.tensorboard import SummaryWriterlog_dir = "./train_log/test_log_dir"
writer = SummaryWriter(log_dir=log_dir, comment='_scalars', filename_suffix="12345678")for x in range(100):writer.add_scalar('y=pow_2_x', 2 ** x, x)writer.close()

import os
import numpy as np
import matplotlib.pyplot as plt
from torch.utils.tensorboard import SummaryWriterlog_dir = "./train_log/test_log_dir"
writer = SummaryWriter(comment='_scalars', filename_suffix="12345678")for x in range(100):writer.add_scalar('y=pow_2_x', 2 ** x, x)writer.close()


主要方法

  • add_scalar

    add_scalar(tag, scalar_value, global_step=None, walltime=None)
    

    功能:记录标量,缺点是只能记录一条曲线

    • tag:标签名,唯一标识
    • scalar_value:要记录的标量
    • global_step:x轴
  • add_scalars()

    add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None)
    
    • main_tag:标签
    • tag_scalar_dict:key是变量的tag,value是变量的值

上述两个方法的使用如下:

import os
import numpy as np
import matplotlib.pyplot as plt
from torch.utils.tensorboard import SummaryWriter
max_epoch = 100writer = SummaryWriter(comment='test_comment', filename_suffix="test_suffix")for x in range(max_epoch):writer.add_scalar('y=2x', x * 2, x)writer.add_scalar('y=pow_2_x', 2 ** x, x)writer.add_scalars('materials/scalar_group', {"xsinx": x * np.sin(x),"xcosx": x * np.cos(x)}, x)writer.close()

生成的事件文件为:

此时,在终端可视化后可得

点击这个网址,会使用默认浏览器打开可视化界面

  • add_histogram()

    add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None)
    

    功能:统计直方图与多分位数折线图,用于分析模型参数分布与梯度分布是非常有用的

    • tag:标签名,唯一标识
    • values:要统计的参数
    • global_step:y轴
    • bins:取直方图的bins
import os
import numpy as np
import matplotlib.pyplot as plt
from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter(comment='test_comment', filename_suffix="test_suffix")for x in range(2):np.random.seed(x)# 等差分布data_union = np.arange(100)# 正态分布data_normal = np.random.normal(size=1000)writer.add_histogram('distribution union', data_union, x)writer.add_histogram('distribution normal', data_normal, x)plt.subplot(121).hist(data_union, label="union")plt.subplot(122).hist(data_normal, label="normal")plt.legend()plt.show()writer.close()


在tensorboard的wed端显示:


如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论或者私信!


PyTorch学习—15.PyTorch中TensorBoard的使用相关推荐

  1. Pytorch学习 - Task5 PyTorch卷积层原理和使用

    Pytorch学习 - Task5 PyTorch卷积层原理和使用 1. 卷积层 (1)介绍 (torch.nn下的) 1) class torch.nn.Conv1d() 一维卷积层 2) clas ...

  2. Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用

    Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用 官方参考链接 1. 损失函数 (1)BCELoss 二分类 计算公式 小例子: (2) BCEWithLogitsLoss ...

  3. PyTorch学习记录——PyTorch进阶训练技巧

    PyTorch学习记录--PyTorch进阶训练技巧 1.自定义损失函数 1.1 以函数的方式定义损失函数 1.2 以类的方式定义损失函数 1.3 比较与思考 2.动态调整学习率 2.1 官方提供的s ...

  4. PyTorch学习记录——PyTorch生态

    Pytorch的强大并不仅局限于自身的易用性,更在于开源社区围绕PyTorch所产生的一系列工具包(一般是Python package)和程序,这些优秀的工具包极大地方便了PyTorch在特定领域的使 ...

  5. 速成pytorch学习——4天中阶API示范

    使用Pytorch的中阶API实现线性回归模型和和DNN二分类模型. Pytorch的中阶API主要包括各种模型层,损失函数,优化器,数据管道等等. 一,线性回归模型 1,准备数据 import nu ...

  6. 1.pytorch学习:安装pytorch

    目录 安装pytorch 检查pytorch安装是否成功 总结 安装pytorch 官方网址: Start Locally | PyTorchhttps://pytorch.org/get-start ...

  7. PyTorch学习笔记——pytorch图像处理(transforms)

    原始图像 2.图像处理.转不同格式显示 import torch import torchvision import torchvision.transforms as transforms impo ...

  8. PyTorch学习笔记2:nn.Module、优化器、模型的保存和加载、TensorBoard

    文章目录 一.nn.Module 1.1 nn.Module的调用 1.2 线性回归的实现 二.损失函数 三.优化器 3.1.1 SGD优化器 3.1.2 Adagrad优化器 3.2 分层学习率 3 ...

  9. add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX

    Pytorch学习记录-Pytorch可视化使用tensorboardX 在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录. https://www.jianshu.co ...

  10. Pytorch学习笔记总结

    往期Pytorch学习笔记总结: 1.Pytorch实战笔记_GoAI的博客-CSDN博客 2.Pytorch入门教程_GoAI的博客-CSDN博客 Pytorch系列目录: PyTorch学习笔记( ...

最新文章

  1. 作为一名合格的JAVA程序员需要点亮那些技能树?
  2. 视学算法第五轮送书活动获奖名单
  3. 如何区分直连串口线和交叉串口线?
  4. 用 C# 做组件设计时的事件实现方法讨论
  5. 成功解决VM虚拟机内This compute has only 713.3MB disk space remaning
  6. 快速排序算法图解分析
  7. Oracle导入到不同的角色,oracle 不同版本之间的导入导出
  8. vue ui 创建项目 ,添加样式时报错,通过vue ui安装less-loader 和less 依赖后报错,百度告诉说版本太高导致
  9. 如何使用idea生成javaDoc文档
  10. windows系统如何进入环境变量
  11. android 中文语音
  12. mysql engine类型 小项目_项目中常用的19条MySQL优化
  13. mongodb分组查询 php,MongoVUE下实现MongoDB的Group分组查询
  14. 各种网线的分类和区别
  15. 基于微前端qiankun的多页签缓存方案实践
  16. 枸杞动态分类-大致思路
  17. NT151应用案例:西门子PLC S7-1200与派克ACR9000的通信(Part 4)
  18. CoreData基础
  19. 《把时间当作朋友》之读后感
  20. 微信小程序子组件向父组件传值的两个方法

热门文章

  1. The command (dfs.browser.action.delete) is undefined 解决Hadoop Eclipse插件报错
  2. 自制 Chrome Custom.css 设置网页字体为微软雅黑扩展
  3. 关于动态数组指针操作的两个例子
  4. Android2.3异步双屏修改记录之部分测试结果
  5. 学习笔记之什么是持久化和对象关系映射ORM技术
  6. java day36【XML概念 、语法 、解析】
  7. python爬虫之路——对斗破苍穹进行关键字提取,制作噪声云图
  8. spring-data-jpa动态条件查询
  9. Javascript执行效率总结
  10. WinAPI: LoadBitmap - 从资源中载入位图