PyTorch学习—15.PyTorch中TensorBoard的使用
文章目录
- 一、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的使用相关推荐
- Pytorch学习 - Task5 PyTorch卷积层原理和使用
Pytorch学习 - Task5 PyTorch卷积层原理和使用 1. 卷积层 (1)介绍 (torch.nn下的) 1) class torch.nn.Conv1d() 一维卷积层 2) clas ...
- Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用
Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用 官方参考链接 1. 损失函数 (1)BCELoss 二分类 计算公式 小例子: (2) BCEWithLogitsLoss ...
- PyTorch学习记录——PyTorch进阶训练技巧
PyTorch学习记录--PyTorch进阶训练技巧 1.自定义损失函数 1.1 以函数的方式定义损失函数 1.2 以类的方式定义损失函数 1.3 比较与思考 2.动态调整学习率 2.1 官方提供的s ...
- PyTorch学习记录——PyTorch生态
Pytorch的强大并不仅局限于自身的易用性,更在于开源社区围绕PyTorch所产生的一系列工具包(一般是Python package)和程序,这些优秀的工具包极大地方便了PyTorch在特定领域的使 ...
- 速成pytorch学习——4天中阶API示范
使用Pytorch的中阶API实现线性回归模型和和DNN二分类模型. Pytorch的中阶API主要包括各种模型层,损失函数,优化器,数据管道等等. 一,线性回归模型 1,准备数据 import nu ...
- 1.pytorch学习:安装pytorch
目录 安装pytorch 检查pytorch安装是否成功 总结 安装pytorch 官方网址: Start Locally | PyTorchhttps://pytorch.org/get-start ...
- PyTorch学习笔记——pytorch图像处理(transforms)
原始图像 2.图像处理.转不同格式显示 import torch import torchvision import torchvision.transforms as transforms impo ...
- PyTorch学习笔记2:nn.Module、优化器、模型的保存和加载、TensorBoard
文章目录 一.nn.Module 1.1 nn.Module的调用 1.2 线性回归的实现 二.损失函数 三.优化器 3.1.1 SGD优化器 3.1.2 Adagrad优化器 3.2 分层学习率 3 ...
- add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX
Pytorch学习记录-Pytorch可视化使用tensorboardX 在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录. https://www.jianshu.co ...
- Pytorch学习笔记总结
往期Pytorch学习笔记总结: 1.Pytorch实战笔记_GoAI的博客-CSDN博客 2.Pytorch入门教程_GoAI的博客-CSDN博客 Pytorch系列目录: PyTorch学习笔记( ...
最新文章
- 作为一名合格的JAVA程序员需要点亮那些技能树?
- 视学算法第五轮送书活动获奖名单
- 如何区分直连串口线和交叉串口线?
- 用 C# 做组件设计时的事件实现方法讨论
- 成功解决VM虚拟机内This compute has only 713.3MB disk space remaning
- 快速排序算法图解分析
- Oracle导入到不同的角色,oracle 不同版本之间的导入导出
- vue ui 创建项目 ,添加样式时报错,通过vue ui安装less-loader 和less 依赖后报错,百度告诉说版本太高导致
- 如何使用idea生成javaDoc文档
- windows系统如何进入环境变量
- android 中文语音
- mysql engine类型 小项目_项目中常用的19条MySQL优化
- mongodb分组查询 php,MongoVUE下实现MongoDB的Group分组查询
- 各种网线的分类和区别
- 基于微前端qiankun的多页签缓存方案实践
- 枸杞动态分类-大致思路
- NT151应用案例:西门子PLC S7-1200与派克ACR9000的通信(Part 4)
- CoreData基础
- 《把时间当作朋友》之读后感
- 微信小程序子组件向父组件传值的两个方法
热门文章
- The command (dfs.browser.action.delete) is undefined 解决Hadoop Eclipse插件报错
- 自制 Chrome Custom.css 设置网页字体为微软雅黑扩展
- 关于动态数组指针操作的两个例子
- Android2.3异步双屏修改记录之部分测试结果
- 学习笔记之什么是持久化和对象关系映射ORM技术
- java day36【XML概念 、语法 、解析】
- python爬虫之路——对斗破苍穹进行关键字提取,制作噪声云图
- spring-data-jpa动态条件查询
- Javascript执行效率总结
- WinAPI: LoadBitmap - 从资源中载入位图