Pytorch基础 - 3. torch.utils.tensorboard

news2024/11/27 22:31:45

目录

1. 简介

2. 基本步骤

3. 示例1 - 可视化单条曲线

4. 示例2 - 可视化多条曲线

5. 示例3 - 可视化网络结构


1. 简介

Tensorboard是Tensorflow的可视化工具,常用来可视化网络的损失函数,网络结构,图像等。后来将Tensorboard集成到了PyTorch中,常使用torch.utils.tensorboard来进行导入。官网地址:TensorBoard — PyTorch

2. 基本步骤

(1) 首先执行如下代码,具体含义写在注释里

from torch.utils.tensorboard import SummaryWriter

if __name__ == '__main__':
    # 新建实例, log_dir为生成文件的存储地址, 不写参数默认是./run/文件夹下
    writer = SummaryWriter(log_dir='events存储地址')
    # 调用对象的方法,给文件写入数据
    writer.add_scalar(tag="show1", scalar_value=loss, global_step=epoch)
    writer.add_scalars(main_tag="show2", tag_scalar_dict={'fun1': None, 'fun2': None}, global_step=epoch)
    writer.add_graph(model=model, input_to_model=input)
    # 关闭writer
    writer.close()

(2) 执行完上述代码,会在设置的log_dir路径下生成一个以events.out开头的文件,如下所示

(3) 执行如下命令,运行该文件

tensorboard --logdir=r'events存储地址'

(4) 运行结束后复制生成的地址并在浏览器中打开

3. 示例1 - 可视化单条曲线

from torch.utils.tensorboard import SummaryWriter

if __name__ == '__main__':
    writer = SummaryWriter(log_dir='/home/Test/log_dir')
    for i in range(100):
        writer.add_scalar(tag="y=2x", scalar_value=2 * i, global_step=i)
    writer.close()

其中参数的具体含义如下:

4. 示例2 - 可视化多条曲线

from torch.utils.tensorboard import SummaryWriter

if __name__ == '__main__':
    writer = SummaryWriter(log_dir='/home/Test/log_dir')
    for x in range(100):
        writer.add_scalars('multi_funcs', {'2x': 2 * x, '3x': 3 * x, '4x': 4 * x}, x)
    writer.close()

其中参数的具体含义如下:

5. 示例3 - 可视化网络结构

新建一个MLP网络,通过add_graph来保存网络结构

import torch
import torch.nn as nn
from torch.utils.tensorboard import SummaryWriter


class MLP(nn.Module):
    def __init__(self):
        super(MLP, self).__init__()
        self.model = nn.Sequential(
            nn.Linear(784, 512),
            nn.ReLU(),
            nn.Linear(512, 128),
            nn.ReLU(),
            nn.Linear(128, 10)
        )

    def forward(self, x):
        out = self.model(x)
        return out


if __name__ == '__main__':
    writer = SummaryWriter(log_dir='/home/TenbodTest/log_dir')
    model = MLP()
    input = torch.rand(32, 1, 28, 28).view(-1, 28 * 28)
    writer.add_graph(model, input)
    writer.close()

其中参数的具体含义如下:

可视化结果如下: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wps如何修改已经存在的目录标题内容?

如需了解更多办公应用的相关知识,可进入到赛效官网查看应用资讯或者应用问答栏目。 在WPS文档中,为方便大家查看文档中的内容,可以给文档内容添加目录,很多人由于对文档功能不太熟悉,所以当目录生成以后,想…

高效又稳定的ChatGPT大模型训练技巧总结,让训练事半功倍!

文|python前言近期,ChatGPT成为了全网热议的话题。ChatGPT是一种基于大规模语言模型技术(LLM, large language model)实现的人机对话工具。现在主流的大规模语言模型都采用Transformer网络,通过极大规模的数…

Day941.仓库版本管理 -系统重构实战

仓库&版本管理 Hi,我是阿昌,今天学习记录的是关于仓库&版本管理的内容。 当代码以及团队达到一定的规模以后,这会给项目仓库和版本的管理带来诸多问题。 一张常见问题的表格,不妨“对号入座”,看看项目有没…

【常见CSS扫盲雪碧图】从源码细看CSS雪碧图原理及实现,千字详解【附源码demo下载】

【写在前面】其实估计很多人都听过雪碧图,或者是CSS-Sprite,在很多门户网站就会经常有用到的,之所有引出雪碧图这个概念还得从前端加载多个图片时候页面闪了一下说起,这样给人的视觉效果体验很差,也就借此机会和大家说…

Linux查看串行端口

查看串口驱动 cat /proc/tty/driver/serial查看串口设备 dmesg | grep ttyS*[rootlocalhost driver]# cat /proc/tty/driver/serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 1: uart:16550A port:000002F8 irq:3 tx:0 rx:0 CTS|DSR|CD 2:…

攻防世界-inget(简单的SQL注入、万能密码)

目录 1、手工注入(万能密码原理) 2、sqlmap实现 3、常用参数 1、手工注入(万能密码原理) 打开链接,提示输入id并尝试绕过 尝试一下万能密码,使用逻辑语句使结果返回 构造payload /?id or 我们这里是…

Java虚拟机内存区域

Java虚拟机所管理的内存将会包括以下几个运行时数据区域 程序计数器 是一块较小的内存空间,可以看作当前线程所执行的字节码的行号指示器。分支、循环、跳转、异常处理、线程恢复等基础功能都需要通过更改这个计数器的值来改变下一条需要执行的字节码。 由于各个线…

DAY 35 sed文本编辑器

文本三剑客:都是按行读取后处理。 grep 过滤行内容 awk 过滤字段 sed 过滤行内容;修改行内容 sed编辑器 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流 sed编辑器可以根据命令来处理数据流中的…

Shell编程(二)

上一章: Shell编程_做测试的喵酱的博客-CSDN博客 七、ping shell脚本,是一个面向过程的编程语言,没有类和对象的概念。用的最多的就是函数。 查看当前服务,是否能ping通baidu ping www.baidu.com [rootecs-39233 dev]# ping ww…

眺望2023:房企“三大护法”如何助力穿越周期?

2022 年的地产行业尤为艰难,土地和商品房成交量明显下滑,许多房企的业绩都呈现收缩态势。 不过,今年以来房地产市场似乎出现企稳信号。国家统计局数据显示,今年1~2月全国商品房销售面积和销售额的下跌幅度明显收窄,住…

18-java单列集合

java单列集合1.集合体系结构1.1 单列集合1.2 双列集合2. 单列集合体系结构3.Collection集合顶层接口3.1 Collection的遍历方法3.1.1 迭代器遍历3.1.2 增强for遍历3.1.3 Lambda表达式4. List单列集合4.1 List4.1.1 List集合特点4.1.2 List集合的特有方法4.1.3 List集合遍历方法4…

计算机组成原理实验三-----系统总线和具有基本输入输出功能的总线接口实验

总线是计算机中连接各个功能部件的纽带,是计算机各部件之间进行信息传输的公共通路。 总线不只是一组简单的信号传输线,它还是一组协议。他有两大特征 分时: 同一总线在同一时刻,只能有一个部件占领总线发送信息,其他部件要发送信…

游戏基础—Android平台进程模块信息获取

记得学习编程时的第一个helloworld程序&#xff1a; #include<stdio.h> Int main(int argc, char **argv) { printf(“Hello World”); return 0; } 打印” Hello World”&#xff0c;使用的是printf函数。但是&#xff0c;我们并没有去实现printf函数的功能&#xff0…

javascrip语法

JavaScript 语法涉及到很多方面&#xff0c;以下是常见的详细语法&#xff1a; 1. 变量 变量用于存放值&#xff0c;关键字 var 可以定义变量。 // javascript var x 5; // 定义变量 x&#xff0c;并赋值为 52. 数据类型 JavaScript 中有多种数据类型&#xff0c;包括&…

iOS 紧急通知

一般通知 关于通知的各种配置和开发&#xff0c;可以参考推送通知教程&#xff1a;入门 – Kodeco&#xff0c;具有详细步骤。 紧急通知表现 紧急通知不受免打扰模式和静音模式约束。当紧急通知到达时&#xff0c;会有短暂提示音量和抖动&#xff08;约2s&#xff09;。未锁…

一文速学数模-K-means聚类算法实战:信用卡用户画像聚类分析

目录 前言 一、用户画像概述 1.用户画像 2.为何用聚类算法作用户画像 二、数据质量校验 1.数据背景 2.数据说明 三、数据预处理 1.数据空缺值检验 2.数据归一化 四、K-means聚类 step1:选取K值 手肘法 step2:计算初始化K点 step3:迭代计算重新划分 五.画像分析 …

【LeetCode:221. 最大正方形 | 暴力递归=>记忆化搜索=>动态规划 | 二维dp】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Flutter - 实现防抖和节流

demo 地址: https://github.com/iotjin/jh_flutter_demo 代码不定时更新&#xff0c;请前往github查看最新代码 什么是防抖和节流&#xff1f; 函数节流&#xff08;throttle&#xff09;与 函数防抖&#xff08;debounce&#xff09;都是为了限制函数的执行频次&#xff0c;以…

AgentGPT,免费易用的 Auto-GPT 平替

你问 ChatGPT 答&#xff0c;属于单线问答式交互。但如果你问Auto-GPT&#xff0c;他会分解成N个任务&#xff0c;并且在遇到任务无法完成后&#xff0c;会尝试其它的方式来完成任务&#xff0c;很像老板交待你一个任务&#xff0c;中间的过程他不过问&#xff0c;遇到问题你自…

性能测评:腾讯云轻量服务器4核8G12M带宽流量CPU主频型号

腾讯云轻量4核8G12M应用服务器带宽&#xff0c;12M公网带宽下载速度峰值可达1536KB/秒&#xff0c;折合1.5M/s&#xff0c;每月2000GB月流量&#xff0c;折合每天66GB&#xff0c;系统盘为180GB SSD盘&#xff0c;地域节点可选上海、广州或北京&#xff0c;4核8G服务器网来详细…