5.TensorBoard的使用(二)--add_image()

news2024/11/15 20:01:53
TensorBoard的使用(二)

1.使用add_image()给添加图片

  • 首先导入Tensorboard包

    from torch.utils.tensorboard import SummaryWriter
    
  • 创建一个SummaryWriter类的实例,并将所有的事件文件保存在logs文件夹中

    writer = SummaryWriter('logs')
    
  • 使用add_image方法增加图片

    image_path = './data/train/ants/0013035.jpg'
    img = cv.imread(image_path)
    writer.add_image(tag = 'image',  # 添加的图片的标题
                     img_tensor = img, # 要加载的图片数据
                     global_step = 0, # 设置是当前tag下的第几个图片
                     dataformats='HWC' # 设置当前的图片数据是(长,宽, 通道数)
                    )
    writer.close()
    
  • 执行下列命令,打开logs中保存的事件文件。同add_scalar()方法一样,同一个tag可以对应多个数据,使用global_step来表明是第几个数据。

    tensorboard --logdir=logs --port=6007
    

    image-20240610232552397

2.注意事项

  • add_imageimg_tensor参数,该参数必须是下述数据类型之一

    image-20240610232848697

  • 数据类型为numpy.ndarray时需要注意dataforms的取值:add_imagedataformats参数,用于指定导入的数据各维度的含义C表示通道数、H表示图片数据长度、W表示图片数据宽度,以OpenCV读取的数据为例,图像转换为512*768*3的矩阵,第一个维度是行数即图像数据的长度H,第二维度是图像的宽度W,第三个数据表示三通道C。

    image-20240610233250480

    所以在add_image()的参数中dataformats设置为HWC。在实际应用中需要注意设置的img_tensor=img的数据类型、数据存储方式,从而确定dataformats的参数

    writer.add_image(tag = 'image',  # 添加的图片的标题
                     img_tensor = img, # 要加载的图片数据
                     global_step = 0, # 设置是当前tag下的第几个图片
                     dataformats='HWC' # 设置当前的图片数据是(长,宽, 通道数)
                    )
    

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

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

相关文章

【光照增强论文略读】Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement

这篇题为《用于低光照图像增强的零参考深度曲线估计》的论文介绍了一种名为Zero-DCE的创新方法,用于增强低光照图像。其主要创新点在于,它在训练过程中不需要成对或非成对的参考图像,因此是一种“零参考”方法。通过轻量级深度学习模型DCE-Ne…

五星级可视化页面(25):非蓝色系,金色系可视化界面。

深蓝色系的可视化界面是最常见的,本文专门分享一些金色系的可视化界面。

java项目之编程训练系统源码(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的编程训练系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 编程训练系统的主要使用者管…

TCP套接字【网络】

文章目录 TCP常见接口服务端服务端创建套接字服务端绑定服务端监听服务端获取连接服务端处理请求 客户端客户端创建套接字客户端连接服务器并发起请求 代码 TCP常见接口 创建套接字:(TCP/UDP) int socket(int domain, int type, int protocol);inet_at…

超高速传输 -- 超通道Superchannel

超通道表示多个子载波在波分侧合并成一个更大带宽的光通道一起传输。 超通道基于flexible grid技术,能够提升频谱效率、降低滤波器级联代价。 超通道目前主要应用在波长间隔为37.5GHz的场景,在此场景下,多个ROADM单板级联时的…

速通LLaMA1:《LLaMA: Open and Efficient Foundation Language Models》全文解读

文章目录 论文总览1. 创新点和突破点2. 技术实现与算法创新3. 架构升级4. 概念补充SwiGLU激活函数AdamW 5. 总结 AbstractIntroductionApproachPre-training DataArchitecture(架构)Optimizer(优化器)Efficient implementation&am…

浅谈人工智能之基于ollama本地大模型结合本地知识库搭建智能客服

浅谈人工智能之基于ollama本地大模型结合本地知识库搭建智能客服 摘要 随着人工智能技术的飞速发展,基于大型语言模型(LLMs)的智能客服系统逐渐成为提升企业服务质量和效率的关键工具。然而,对于注重数据隐私和安全的企业而言,使用云服务可能会引发数据泄露的风险。因此…

快速打字及技巧

1.tab部首 娴 xian tab nv 楔 xie tab mu 2.用单引号间隔 xian 西安 修改技巧:Ctrl首字母就能快速定位到该字母的前面 3.启用U模式,再也不怕生僻字 u tututu 垚 u niuniuniu 犇 或者用笔画拼音缩写 u pn 㐅 4.启用V模式,输入法秒变计算…

Ubuntu 不重装系统增加交换空间大小

目录 一、设置交换文件 二、删除重新创建交换文件 一、设置交换文件 1、创建新的交换文件 使用 dd 命令创建一个新的交换文件。例如,创建一个4GB的交换文件: sudo dd if/dev/zero of/swapfile bs1G count4 2、设置交换文件的权限 为了安全起见&am…

蒸!--数据在内存中的存储

一.整数在内存中的存储 对于整形来说:数据存放内存中其实存放的是补码。 为什么? 在计算机系统中,数值⼀律⽤补码来表⽰和存储。 原因在于,使⽤补码,可以将符号位和数值域统⼀处理; 同时,加法和…

《Deep Residual Learning for Image Recognition》论文导读

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl论文背景 随着深度学习的发展,神经网络的深度逐渐成为影响模型性能的关键因素。然而,随着网络深度的增加,训练过程中的梯度消失和模型退化问题愈发严重,这限制了神经网络性能的进一步提升。《…

【例题】lanqiao3865 Alice和Bob的爱恨情仇

样例输入 1 2 3 4 1样例输出 1 Alice样例输入 2 2 1 6 6样例输出 2 Bob解题思路 题目已知条件: Alice先手每次只能从一堆中取走 k m ( k 为奇数 , m ≥ 0 ) k^m(k为奇数,m\geq0) km(k为奇数,m≥0)个饼干,所以每次取走的饼干数量一定是奇数。取…

C++——哈希unordered_set/unordered_map的封装

目录 前言 二、unordered_set的封装 1.模板参数列表的改造 2. 增加迭代器操作 3. 模板参数的意义 三、unordered_map的封装 1、“轮子所需要的参数 2、迭代器 四、完整代码 1、HashTable 2、unordered_set 3、unordered_map 总结 前言 unordered_set和map的介绍在上一篇博客有…

前端实战:使用JS和Canvas实现运算图形验证码(uniapp、微信小程序同样可用)

图形验证码是网站安全防护的重要组成部分,能有效防止自动化脚本进行恶意操作,如何实现一个简单的运算图形验证码?本文封装了一个简单的js类,可以用于生成简单但安全的图形验证码。它支持自定义验证码样式,包括字体大小…

驾校预约学习系统的设计与实现

摘 要 伴随着信息技术与互联网技术的不断发展,人们进到了一个新的信息化时代,传统管理技术性没法高效率、容易地管理信息内容。为了实现时代的发展必须,提升管理高效率,各种各样管理管理体系应时而生,各个领域陆续进到…

计算机毕业设计 扶贫助农系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

C++进阶 二叉搜索树的讲解

二叉搜索树的概念 二叉搜索树又称为二叉排序树。 二叉搜索树的性质 若它的左子树不为空,则左子树上所有结点的值都小于等于根结点的值若它的右子树不为空,则右子树上所有结点的值都大于等于根结点的值它的左右子树也分别为二叉搜索树二叉搜索树中可以支持…

【Python】基本使用

目录 变量的类型 整数 int 浮点数 float 字符串 str 字符串长度 格式化字符串 布尔类型 动态类型 注释 获取输入 浮点数比较 多元赋值 for循环 函数的定义和调用 创建函数/定义函数 调用函数/使用函数 列表 创建列表 切片操作 遍历列表 新增元素 判断元…

2024上半年国产操作系统卖疯了!麒麟4.9亿,统信1.9亿!

昨天一篇关于国产数据库上市公司的财报分析,没想到还小🔥了一把。实际上国产数据库与操作系统是密不可分的,既然用户要进行全面国产化,那么除了数据库,底层服务器操作系统, 一定也会是国产操作系统。 从20…

JavaScript事件处理和常用对象

文章目录 前言一、事件处理程序 1.JavaScript 常用事件2.事件处理程序的调用二、常用对象 1.Window 对象2.String 对象3.Date 对象总结 前言 JavaScript 语言是事件驱动型的。这意味着,该门语言可以通过事件触发来调用某一函数或者一段代码。该文还简单介绍了Window…