PyTorch学习笔记(五)TensorBoard可视化

Pytorch——tensorboard可视化模型计算图——add_graph() 和 torchsummary可视化模型信息 文章目录一、add_graph()1.具体参数及介绍见之前博客——可视化工具Tensorboard2.pytorch源码3.可视化操作步骤:Tensorboard的打开方式见之前可视化损失函数的步骤二、torchsummary1.具体参数及介绍见之前博客——可视化工具Tensorboard2.pytorch源码3.打印结果参考深度之眼pytorch框架班 一、add_graph() 1.具体参数及介绍见之前博客——可视化工具Tensorboard 2.pytorch源码 writer = Summary. 阅读详情

Environment

  • OS: macOS Mojave
  • Python version: 3.7
  • PyTorch version: 1.4.0
  • IDE: PyCharm


0. 写在前面

TensorBoard 是 TensorFlow 中常用的可视化工具。从 1.1 版本开始,PyTorch 支持使用 TensorBoard。

  • 安装 TensorBoard

使用 conda install tesnorboard 安装(坑:若 import torch.utils.tensorboard 时提示没有 past 包,则需要安装 future 包(运行 conda install future))

  • 使用 TensorBoard
  1. 在 Python 脚本中实例化 torch.utils.tensorboard.SummaryWriter 对象,调用一些实例方法,运行后需要可视化的指标将被记录到硬盘中的 event file
  2. Terminal 中进入到 TensorBoard 创建的 runs 目录的所在路径,即 runs 的上级目录
  3. 运行(Terminal) $ tensorboard --logdir=./ 读取 event file 中的内容,在网页端显示
  4. 上一步将得到一个地址,从浏览器进入查看


TensorBoard 可视化都是通过 SummaryWriter 类的各种实例方法来实现的,一切从此开始

from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter(
    log_dir=None,
    comment='',
    purge_step=None,
    max_queue=10,
    flush_secs=120,
    filename_suffix='',
)

1. add_graph 方法

实例方法 add_graph 将模型以计算图的形式进行可视化

writer.add_graph(
    model,  # 模型
    input_to_model=None,  # 输入的数据 batch,随意 torch.randn 一个
    verbose=False
)

2. add_scalar 和 add_scalars 方法

实例方法 add_scalar 和 add_scalars,前者记录单个标量,如可以记录训练损失函数值的变化;后者能够在一幅图中显示多个标量指标,如可以同时记录训练和验证的准确度变化。

writer.add_scalar(
    tag,  # 可视化曲线图的标题
    scalar_value,  # 需要记录的标量值,曲线图的纵坐标
    global_step=None,  # 曲线图的横坐标,通常为对应的迭代数
    walltime=None
)
writer.add_scalars(
    main_tag,  # 可视化曲线图的标题
    tag_scalar_dict,  # 需要可视化的标量的名字和值 {name1: val1, name2: val2, ...}
    global_step=None,
    walltime=None,
)

3. add_histogram 方法

实例方法 add_histogram 绘制直方图,可以用来查看神经网络权重或梯度的分布。

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

例如可视化一个线性回归模型的训练过程

import os
import torch
from torch.nn import Module, Linear
from torch.nn import MSELoss
from torch.optim import SGD
from torch.utils.tensorboard import SummaryWriter

torch.manual_seed(0)

# ========== data ==========
inputs = torch
Pytorch(三):可视化工具(Tensorboard、Visdom) 前言:在训练神经网络时,我们希望能够及时了解到网络训练过程中一些关键信息,包括损失曲线、验证集上的准确率以及输入图片各阶段特征的提取情况等,这些信息可以帮助我们掌控网络的整个训练过程。因此,为了更加直观地掌握网络训练过程的各种指标信息,将这些信息进行可视化是一个非常好的选择,下面本文将具体讲解Pytorch中提供的Tensorboard、Visdom这两种可视化工具。.................. 阅读详情

相关推荐

pytorch中使用TensorBoard进行可视化Loss及特征图

pytorch中使用TensorBoard进行可视化 安装导入TensorBoard 安装TensorBoard pip install tensorboard 导入TensorBoard from torch.utils.tensorboard import SummaryWriter 实例化TensorBoard writer = SummaryWriter('./logs' 可视化标量数据 训练过程中的loss,accuracy等都是标量,都可以用TensorBoard中的ad

CHEN的博客 2万+

pytorch 使用 tensorboard

Tensorboard 是一个动态可视化数值的工具,同时也能可视化静态的神经网络结构。Tensorboard 包含两部分功能:将网络结构、动态数值以 protocol buffer 格式写到文件里。读取网络结构、读取动态数值,并展示在浏览器中。第一部分功能,以python包形式存在。编程者 import tensorboard 从而使用API将动态的数值以protocol buffer格式,不断地...

Aurora极光城 1万+

Pytorch+Tensorboard混淆矩阵可视化

混淆矩阵是分类任务常用的一种评估方法。尤其是在类别数量不平衡的情况下,相比accuracy,混淆矩阵对哪个类被错误分类具有更直观的解释。 在平时做简单的数据实验时,可以仅用from sklearn.metrics import plot_confusion_matrix或者seaborn对混淆矩阵进行可视化。但是在深度学习训练模型的过程中,在`tensorboard`中可视化混淆矩阵会更方便结果记录和对照。

人工智能算法与工程实践 6731

用TensorBoard可视化PyTorch

要将PyTorch与TensorBoard结合起来,可以使用`tensorboardX`库,这是一个提供了与TensorBoard兼容的API的库,使得可以从PyTorch中记录数据并在TensorBoard中查看。要解决这个问题,可以试图降低Python的版本,创建一个新的虚拟环境,安装一个TensorBoard版本,该版本与Python版本兼容,或等待或协助贡献TensorBoard对新Python版本的支持。在等待修复的同时,可以使用其他的Python版本,在那里TensorBoard是兼容的。

数字人生 2378

Jenkins测试详细使用教程(二):jenkins两种主要构建方法

Jenkins有两种定义构建作业的主要方法:(自由风格项目)和Pipeline(流水线项目)。

m0_62825058的博客 2434

从充电管理芯片里‘偷师’:拆解一个PMOS双向开关电路,搞定你的固态继电器需求

本文深入解析了PMOS双向开关电路在固态继电器应用中的设计要点,重点探讨了防电流倒灌和高侧双向开关的实现技巧。通过拆解充电管理芯片中的PMOS背靠背结构,工程师可以构建高效可靠的固态开关方案,适用于智能硬件和电池管理系统。文章还提供了关键参数选择、电路优化建议及实测数据对比,助力解决电源防反接等工程难题。

weixin_33698043的博客 481

滚动轴承振动信号特征解析与故障诊断模型构建

本文深入解析了滚动轴承振动信号的三大来源与特征,并详细阐述了从时域、频域到时频域的特征提取方法。通过构建基于机器学习(如随机森林、SVM)或深度学习的故障诊断模型,结合实战代码示例,为设备维护工程师提供了一套从信号分析到智能诊断的完整解决方案,旨在实现精准的故障识别与预测性维护。

qsc901234567的博客 368

SAP公司间外协业务流程以及配置说明

SAP公司间外协业务流程以及配置说明

竹大的博客 7166

卡尔曼滤波器中的Q,R

对于系统状态的估计(滤波结果)所使用的信息来源于两个方面,一个是对系统状态演变模型的了解,包括系统转移矩阵和输入控制矩阵,输入孔质量等,另一方面来自于对系统状态的观测量。从上面公式来看,真正所要滤波得到的结果来自于公式(4)中的系统状态估计值x的某些分量,公式(4)的结果是由公式(1)所得到的状态预测值和来自观测量y计算得到的。所以,在不同算法中,R, Q的取值根据反应的不同量纲,可以有很大的变化,但它们的比值会决定了滤波值应该更多来自于系统模型演化的信息,还是来自于观察信号信息。

qq_43416206的博客 500

Simulink仿真模块-Signal Generator

Signal Generator:生成各种波形 所在的位置库为:Simulink / Sources 模型为: 说明 Signal Generator模块可以产生四种不同波形: 正弦波 方波 锯齿波 随机 可以使用 hertz 或 rad/sec 为单位表示信号参数。双击模型可以选择需要生成的波形,如图所示: 使用默认参数值,可以获得下列波形之一: 波形 波形输出 正弦波 ...

jk_101的博客 2653

基于非接触式微波雷达设计的跌倒检测预警系统【短信报警】

本项目选择基于非接触式微波雷达的跌倒检测预警装置作为技术核心,采用云帆瑞达的R60AFD1跌倒检测模组。这一模组能够根据人体的运动变化,如速度、距离和姿态等特征,判断是否发生跌倒,并可以持续监控老年人是否处于危险状态。此外,本项目还结合4G通信技术,通过Air724UG模块实现短信报警功能,一旦检测到跌倒事故,系统将自动通过4G网络向紧急联系人发送短信报警,及时通知亲属或医护人员进行救援。

1754

手把手教你学Simulink——基于自动驾驶辅助系统的场景实例:车道保持辅助系统(LKA)的仿真与实现

本文通过Simulink实例讲解车道保持辅助系统(LKA)的实现方法。首先介绍LKA从预警到主动控制的技术演进,阐述其系统架构、核心组件和工作原理。重点演示基于自行车模型的车辆横向动力学建模过程,以及使用线性二次调节器(LQR)设计横向控制器的详细步骤。教程包含四个仿真场景测试,分析关键指标如控制精度、舒适性和响应性。最后探讨LKA技术的发展方向,强调人机协同的安全理念。该实例为自动驾驶辅助系统开发提供了完整的Simulink实践方案。

MHD0815的博客 182

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: PyTorch学习笔记(四)调整学习率
下一篇: PyTorch学习笔记(五)使用GPU训练模型
longrootchen
博客等级 码龄7年 19粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值