首页 > 其他分享 >TensorBoard的使用

TensorBoard的使用

时间:2023-08-09 17:04:27浏览次数:193  
标签:img writer add 文件夹 TensorBoard 使用 array

TensorBoard是一个可视化工具,可以查看每个阶段的输出结果。

工作流程:1.将代码运行过程中关心的数据保存在一个文件夹中(writer完成)2.读取这个文件夹中的数据,用浏览器显示出来(命令行运行tensorboard完成)

SummaryWriter类的使用

help:将数据以特定的格式存储到事件文件夹中。

常用方法:

add_scalar(self, tag, scalar_value, global_step=None, walltime=None)方法参数说明:

tag字符串类型,表示标题;

scalar_value相当于y轴的值;

global_step相当于x轴的值int型;

最后一个参数是可选参数

add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')方法参数说明:

部分参数与上相同;

img_tensor表示图像的数据类型,需要是torch.Tensornumpy.array 或者 string/blobname;

最后一个参数是图像的尺寸格式,默认是3HW(3表示通道C),如果不是默认的则需要用最后一个参数进行说明。

 

在pycharm的terminal终端输入命令tensorboard --logdir=事件文件所在文件夹名,默认使用6006端口,更改端口可以使用命令tensorboard --logdir=事件文件所在文件夹名 --port=6007,通过浏览器查看可视化结果。

代码实现:

1.实例化SummaryWriter对象,保存到logs文件夹下

writer = SummaryWriter("logs")

2.调用所需要的方法

writer.add_image("test", img_array, 2, dataformats='HWC')

3.关闭writer

writer.close()

实现读取数据集中的图片或自己作图通过TensorBoard展示出来:

from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image

writer = SummaryWriter("logs")
img_path = "dataset/train/bees/16838648_415acd9e3f.jpg"
#读取的图像数据类型是JpegImageFile
img_PIL = Image.open(img_path)
#从PIL到numpy,需要在add_image()中指定shape中的每一个数字/维表示的含义
img_array = np.array(img_PIL)
print(type(img_array))
print(img_array.shape)  #此处格式为(H, W, C)高度宽度通道形式

writer.add_image("test", img_array, 2, dataformats='HWC')
# y = 2x
#当标题不变时,将2x变为3x则会发生混乱,可以删除之前的事件文件,即可正常显示
for i in range(100):
   writer.add_scalar("y=2x", 3*i, i)

#注意要记得close
writer.close()

在命令行中启动TensorBoard

#命令行运行命令
tensorboard --logdir=logs

 

 

标签:img,writer,add,文件夹,TensorBoard,使用,array
From: https://www.cnblogs.com/yq-ydky/p/17617123.html

相关文章

  • 关于FlaUI的使用
    项目简介FlauI是一个开源的.NET库,用于自动化测试Windows应用程序。它可以通过编写C#代码来模拟用户在应用程序中的操作,例如点击按钮、输入文本、移动鼠标、触摸、获取元素、获取窗口标题等。它提供了一个简单的API和精确的鼠标控制功能,让开发者能够轻松地编写自动化脚本,从而提高......
  • EasyCaching的使用
    简介一个用来做Cache缓存的开源库。官方网址:https://github.com/dotnetcore/EasyCaching安装安装对应的Nuget包,包的类型很多,其它包类型访问上面的网址查看。Install-PackageEasyCaching.InMemoryInstall-PackageEasyCaching.RedisInstall-PackageEasyCaching.SQLiteIns......
  • - 推导分页的原理 - 使用分页类(器) - cookie和session的介绍、token - Django操作coo
    推导分页原理分页:当我们要展示的数据特别多的时候,一页展示不完,这个时候我们需要把要展示的数据分成多页展示分页中需要的几个参数:1.总数据有多少条2.每页展示多少条数据(自己规定的20)3.一共展示多少页4.总页数=总数据量/每页展示多少条数据5.当前第几页(前端传过去的)......
  • 在使用时序数据库 TDengine 进行 SQL 查询时,这些问题需要注意
    小T导读:尽管时序数据处理的特点是以写操作为主,读操作为辅,但查询需求也不容忽视。为方便用户上手,时序数据库(TimeSeriesDatabase)TDengine 采用SQL作为查询语言,主要查询功能包括单列及多列数据查询、数值列及聚合结果的四则运算、时间戳对齐的连接查询操作等,本文将就部分查询......
  • Django博客开发教程:使用富文本编辑器添加数据
    在Djangoadmin后台添加数据的时候,文章内容文本框想发布一篇图文并茂的文章需就得手写Html代码,这十分吃力,也没法上传图片和文件。这显然不是我等高大上程序猿想要的。为提升效率,我们可以使用富文本编辑器添加数据。支持Django的富文本编辑器很多,这里我推荐使用DjangoUeditor,Uedi......
  • 使用C#配合modbus协议的16进制代码生成crc16校验码的计算方法
    前言在网上也是查看了很多关于crc16校验的文章,但是好像都是对于有基础的人看的,我当时拿起直接使用,发现行不通,这对于零基础的不是很友好,所以决定贡献一篇,哈哈哈哈~~~publicuintCalcCRC16(stringhexCommand){byte[]pBuf=HexStringToByteArray(......
  • xxljob配置及基本使用
    以byteeasy项目为例集成xxl-job两个开源项目git地址:[email protected]:xuxueli0323/[email protected]:hbuzc/byteeasy.git 1、导入数据库xxljob的doc文件下的db文件中包含sql文件,复制到navicat执行。2、部署xxl-job项目将打好的xxl-job项目jar包放到新文件夹下;......
  • 使用clayui制作界面的整套工程流程
              今天介绍一下利用clayui制作界面的工作流程,包含以下内容:1.  使用clayui编辑系统制作一个简单的界面,          2.  添加鼠标消息响应,并制作对应的互动动画效果          3.  输出界面文件,皮肤文件,布局文件          ......
  • 使用kettle将excel中的数据导入数据库时,数字带小数点0的问题
    1.在excel中调整数据格式选择【数据】-【分列】-【分隔符】,点击下一步  2、选择Tab键 3、选择【文本】,点击完成 ......
  • 在vue2 v-bind中使用console.log
    <el-submenuv-for="(item,index)inmenuList":key="index":index="console.log(item.name)||item.name"> main.jsVue.prototype.console=console 参考:https://stackoverflow.com/questions/51......