【Pytorch】2.TensorBoard的运用

news2024/11/24 16:06:39

什么是TensorBoard

是一个可视化和理解深度爵溪模型的工具。它可以通过显示模型结构、训练过程中的指标和图形化展示训练的效果来帮助用户更好地理解和调试他们的模型

TensorBoard的使用

安装tensorboard环境
在终端使用

conda install tensorboard

通过anaconda安装
导入类SummaryWriter

from torch.utils.tensorboard import SummaryWriter

我们可以查看SummaryWriter的源码
在这里插入图片描述
对他的介绍是
将条目直接写入log_dir中的事件文件,以供TensorBoard使用。
然后我们可以看到他的使用方法
在这里插入图片描述
我们就可以通过指定单个参数,来将生成的事件与文件存储到指定的文件夹下

writer = SummaryWriter("logs")  # 单参数传递,说明将我们的事件和文件存储到logs的文件夹下

其中主要使用到了两种方法

  • add_image()
  • add_scalar()

add_scalar() 添加标量

我们查看源码
在这里插入图片描述
在这里插入图片描述
我们可以编写一个例子演示一下

for i in range(100):
    writer.add_scalar("y=2x", 2*i, i) #生成图像

运行结束后会生成logs的文件夹
在这里插入图片描述
然后再项目终端使用

# tensorboard --logdir=文件夹名

tensorboard --logdir=logs

打开生成的事件与文件
在这里插入图片描述
就可以在对应的端口上观察相应的可视化界面了
在这里插入图片描述

add_image() 添加图片

我们先看一下源码
在这里插入图片描述
注意我们的img_tensor的类型,就不能用我们Image.open()打开的类型了
因为打开的类型为

from PIL import Image
img = Image.open(img_path)
print(type(img))
<class 'PIL.JpegImagePlugin.JpegImageFile'>		# 不符合上面文件的规范

这时候我们可以使用numpy包中的array方法,将Image.open打开的图片类型转化为numpy类型,具体操作为

img_path = "dataset/hymenoptera_data/train/ants/0013035.jpg"
img_PIL = Image.open(img_path)
img_np = np.array(img_PIL)  # 将其他数据结构转化为numpy类型

然后我们就可以导入测试了,但是注意一个问题
通过这种方式转化为numpy类型的数据与add_image方法默认的数据形式不相同,默认形式为CHW,而numpy类型时HWC
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

writer.add_image("test", img_np, 1, dataformats='HWC')  # 添加图片
# 最后需要指定格式

程序成功运行,通过终端输入指令

tensorboard --logdir=logs

成功运行
在这里插入图片描述

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

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

相关文章

大厂Java面试题:MyBatis是如何进行分页的?分页插件的实现原理是什么?

大家好&#xff0c;我是王有志。 今天给大家带来的是一道来自京东的关于 MyBatis 实现分页功能的面试题&#xff1a;MyBatis是如何进行分页的&#xff1f;分页插件的实现原理是什么&#xff1f;通常&#xff0c;分页的方式可以分为两种&#xff1a; 逻辑&#xff08;内存&…

c#绘制渐变色的Led

项目场景&#xff1a; c#绘制渐变色的button using System; using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; using static System.Windows.Forms.AxHost;namespace WindowsFormsApp2 {public class Gradie…

基于FPGA的数字信号处理(9)--定点数据的两种溢出处理模式:饱和(Saturate)和绕回(Wrap)

1、前言 在逻辑设计中&#xff0c;为了保证运算结果的正确性&#xff0c;常常需要对结果的位宽进行扩展。比如2个3bits的无符号数相加&#xff0c;只有将结果设定为4bits&#xff0c;才能保证结果一定是正确的。不然&#xff0c;某些情况如77 14(1110)&#xff0c;如果结果只…

FileBird Pro插件下载:革新您的WordPress媒体库管理

WordPress媒体库是您网站的重要组成部分&#xff0c;它存储了所有的图片、视频、文档等文件。但随着网站的扩展&#xff0c;媒体库的管理变得越来越复杂。FileBird Pro插件&#xff0c;作为一款专为WordPress用户设计的媒体库管理工具&#xff0c;以其直观的界面和强大的功能&a…

嵌入式系统应用-拓展-FLASH之操作 SFUD (Serial Flash Universal Driver)之KEIL移植

1 SFUD介绍 1.1 初步介绍 SFUD 是一个开源的串行 SPI 闪存通用驱动库。由于市面上有各种类型的串行闪存设备&#xff0c;每种设备都具有不同的规格和指令&#xff0c;因此 SFUD 的设计目的是解决这些差异。这使得我们的产品可以支持不同品牌和规格的闪存&#xff0c;增强了软…

幻兽帕鲁游戏主机多少钱?幻兽帕鲁游戏服务器一个月仅需32元

随着游戏产业的蓬勃发展&#xff0c;腾讯云紧跟潮流&#xff0c;推出了针对热门游戏《幻兽帕鲁Palworld》的专属游戏服务器。对于广大游戏爱好者来说&#xff0c;这无疑是一个激动人心的消息。那么&#xff0c;腾讯云幻兽帕鲁游戏主机到底多少钱呢&#xff1f;让我们一起来揭晓…

施耐德EOCR3BZ2-WRAUH数显型马达保护器

施耐德EOCR3BZ2-WRAUH数显型马达保护器 ◆ 高性能多功能电动机保护器 ◆ 实时监测/高精度 ◆ 可为单相或三相交流负载提供可靠保护 ◆ 保护功能&#xff1a;过电流、欠电流、反转、缺相、失速、电流不平衡和接地保护功能 ◆ 附加功能&#xff1a;掉电保护、运行时间累计、…

太阳能4G/5G无线视频监控系统解决方案(下)

目录 一、系统简介 &#xff08;一&#xff09;系统概述 &#xff08;二&#xff09;系统特点 &#xff08;三&#xff09;应用场景 二、系统原理和架构 &#xff08;一&#xff09;系统原理 1、拓扑图 2、系统组成介绍 &#xff08;二&#xff09;太阳能供电子系统 …

计算机SCI期刊,中科院2区,IF=6+,自引率低,专业认可度高!

一、期刊名称 Journal of King Saud University-Computer and Information Sciences 二、期刊简介概况 期刊类型&#xff1a;SCI 学科领域&#xff1a;计算机科学 影响因子&#xff1a;6.9 中科院分区&#xff1a;2区 出版方式&#xff1a;开放出版 版面费&#xff1a;$…

ADS基础教程9-理想模型和厂商模型实现及对比

目录 一、概要二、厂商库使用1.新建cell2.调用厂商库中元器件3.元器件替换及参数选择4.完成参数选择5.导入子图 三、仿真实现注意事项 一、概要 本文将介绍在ADS中调用厂商提供的库&#xff0c;来进行原理图仿真&#xff0c;并实现与ADS系统提供的理想元器件之间的比较。 二、…

Linux服务器常用巡检命令

在Linux服务器上进行常规巡检是确保服务器稳定性和安全性的重要措施之一。以下是一些常用的巡检命令和技巧&#xff1a; 1. 查看系统信息 1.1 系统信息显示 命令&#xff1a;uname -a ​​​​ [rootlinux100 ~]# uname -a Linux linux100 4.15.0-70-generic #79-Ubuntu SMP…

Java特性之设计模式【享元模式】

一、享元模式 概述 享元模式&#xff08;Flyweight Pattern&#xff09;主要用于减少创建对象的数量&#xff0c;以减少内存占用和提高性能。这种类型的设计模式属于结构型模式&#xff0c;它提供了减少对象数量从而改善应用所需的对象结构的方式 享元模式尝试重用现有的同类对…

腾讯地图商业授权说明一篇文章讲清楚如何操作

最近在使用腾讯地图&#xff0c;发现我要上架应用商店APP需要我有地图的授权书。 认真研究了一下原来腾讯地图现在要收费了&#xff0c;如果你打算以商业目的使用它&#xff0c;比如对第三方用户收费或者进行项目投标等&#xff0c;就需要先获取腾讯位置服务的商业授权许可。申…

Linux网络部分——DNS域名解析服务

目录 1. 域名结构 2. 系统根据域名查找IP地址的过程 3.DNS域名解析方式 4.DNS域名解析的工作原理【☆】 5.域名解析查询方式 6.搭建主从DNS域名服务器 ①初始化操作主服务器和从服务器&#xff0c;安装BIND软件 ②修改主服务器的主配置文件、区域配置文件、区域数…

(数据分析方法)长期趋势分析

目录 一、定义 二、目的 三、方法 1、移动平均法 (1)、简单移动平均法 (2)、加权移动平均法 (3)、指数平滑法 2、最小二乘法 3、线性回归 1、数据预处理 2、观察数据分布建立假设模型 3、定义损失函数 4、批量梯度下降 5、优化 4、LSTM 时序分析 5、特征工程 一…

线程详解(接上篇博客)

目录 1.生产者消费者模型; 2.基于环形队列的生产者消费者模型; 3.线程池; 4.STL, 智能指针, 线程安全; 5.读者写者问题. 前言: 本篇博客博主五一假期都在肝的一篇, 希望xdm点点三连, 博主感谢了 onz !!! 1.生产者消费者模型 321原则:(便于记忆) 3是指3种关系: 生产者和生产…

Chat2DB Pro 重磅发布 !!!

在过去的几个月中&#xff0c;我们的团队一直默默耕耘&#xff0c;全心投入到Chat2DB Pro版本的开发之中。这段时间里&#xff0c;我们暂停了新动态的发布&#xff0c;以至于有趣的误解在社群中出现&#xff0c;有人调侃我们是否“倒闭”了。然而&#xff0c;我们今天携带着全新…

Java-(乘法表之后)增强for循环

这里我们先做个了解&#xff0c;之后我会在数组中进行详细介绍Java5引入了一种主要用于数组或集合的增强型for循环Java增强型for循环语法格式如下 For(声明语句&#xff1a;表达式&#xff09;{ //代码语句 } 声明语句&#xff1a;声明新的局部变量&#xff0c;该变量的类型…

【智能算法】PID搜索算法(PSA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2023年&#xff0c;Y Gao受到PID控制理论启发&#xff0c;提出了PID搜索算法&#xff08;PID-based Search Algorithm, PSA&#xff09;。 2.算法原理 2.1算法思想 PID算法是控制领域的…

CTF(Web)中关于执行读取文件命令的相关知识与绕过技巧

在我遇到的题目中&#xff0c;想要读取文件必然是要执行cat /flag这个命令&#xff0c;但是题目当然不会这么轻松。让你直接cat出来&#xff0c;必然会有各种各样的滤过条件&#xff0c;你要做的就是尝试各种方法在cat /flag的基础上进行各种操作构建出最终的payload。 下面我…