Tensorboard的使用

1、Tensorboard简介

Tensorboard是深度学习使用时查看训练过程的重要可视化工具。首先需要确保我们已经安装了Tensorboard库,使用pip安装即可。

pip install tensorboard

2、SummaryWriter的使用

SummaryWriter是Tensorboard中的一个类,该类可以实现对具体过程的可视化,这里主要介绍SummaryWriter的两个主要方法。
一、数据类可视化

"""
add_scalar(tag,scalar_value,global_step=None)
tag为标题名称,scalar_value为y轴数据,global_step为x轴数据,可认为是步长
其结果是生成一个表格,如果两次曲线用的都是同一个tag,则会在同一张图上绘制,并且将上一条曲线和这一条曲线进行连接(强拟合)
"""

案例:先绘制一个 y = 2 x y=2x y=2x的图像,再绘制一个 y = x y=x y=x的图像,并在同一个图上显示。

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('logs')  
# 传入的字符串表示在对应的目录下生成一个文件夹,存放对应事件的文件
for i in range(5):    # 依次描五个点
    writer.add_scalar(tag='test',scalar_value=2*i,global_step=i) 
writer.close()  # 使用完成关闭writer

在控制台使用如下指令打开对应文件夹

tensorboard --logdir='E:\Python_learning\Deep_learning\测试\logs'
# 文件名需自行更换

如需指定对应的端口打开,使用如下指令即可

tensorboard --logdir='E:\Python_learning\Deep_learning\测试\logs'--port=6007
# 文件名需自行更换

结果如下图所示
在这里插入图片描述

如果在此tag上,继续绘制 y = 2 x y=2x y=2x图形,即再原来的for循环体内加入如下代码:

writer.add_scalar(tag='test',scalar_value=i,global_step=i) 

在终端打开tensorboard查看,其结果如下所示:

在这里插入图片描述

其会把相同的global_step的点连接并连接至下一个global_step。
二、图像类可视化

add_image(tag,img_tensor,global_step)
tag:标题名称
img_tensor:图片类型必须为torch.tensor,ndarray,string或者blobname
global_step:训练步骤,即x轴
之前所说的PIL中Image读取图片类型为<class 'PIL.JpegImagePlugin.JpegImageFile'>,不符合要求,可以使用np.array()转换成ndarray
可以使用opencv进行读取,opencv读取的图片类型为ndarray形

案例:读取文件夹hymneptera_data/train/ants内的图片,并在tensorboard上查看。

import numpy as np
from PIL import Image
img_path = r'E:\Python_learning\Deep_learning\数据集\hymenoptera_data\train\ants\5650366_e22b7e1065.jpg'
img_PIL = Image.open(img_path)
print(type(img_PIL))  # 类型为<class 'PIL.JpegImagePlugin.JpegImageFile'>
img_array = np.array(img_PIL)   
# 强制转化后为ndarray.shape为(512,768,3),而默认的为(3, H, W),此时需要设置dataformats='HWC'  ----可查看函数说明
print(img_array.shape)
writer.add_image('test',img_array,3,dataformats='HWC')

输出如下:
在这里插入图片描述
可见使用PIL.image读取图片的类型为<class ‘PIL.JpegImagePlugin.JpegImageFile’>,且该图片宽为375,高500,通道数为3(RGB)
在终端使用tensorboard查看对应的示意图,如下所受:
在这里插入图片描述

3、总结

本节主要掌握使用Tensorboard进行可视化,主要分为以下几个步骤
No.1:导入对应的包 from torch.utils.tensorboard import SummaryWriter
No.2:实例化对应的类,类内传入一个字符串,表示是将对应事件写入的文件夹
No.3:按照类型调用对应的方法。数据类则调用add_scalar,单张图片则调用add_image,多张图片则调用add_images
No.4:写入完成,调用对应的.close()方法
No.5:在终端使用命令tensorboard --logdir=‘地址’ --port=指定端口号 进行打开tensorboard
注意:如果不希望在同一个可视化文件描绘两张图形,需要更改写入时的tag。

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值