8.TensorBoard的使用(二)

8.TensorBoard的使用(二)

1.add_image() 的使用

同样的,按住Ctrl,查看add_image() 方法如何使用

image-20240515233918910
def add_image(self, tag, img_tensor, global_step=None):

image-20240515233741756

image-20240516001148923

  • tag:对应图像的title
  • img_tensor:图像的数据类型,只能是torch.Tensor、numpy.array、string/blobnaem
  • global_step:训练步骤,int 类型
查看数据集中图片数据类型

先复制一下第一张图片的相对路径,因为该图片文件夹就在项目文件夹所在的位置,故只需复制相对地址

image-20240515234643563

在Python控制台输出图片类型:

image_path = "dataset/train/ants_image/0013035.jpg"
from PIL import Image
img = Image.open(image_path)

image-20240515235547770

可以看到该图片是PIL.格式,不符合add_image()要求。

2.利用numpy.array(),对PIL图片进行转换,获得numpy型图片数据

import numpy as np
img_array=np.array(img)
print(type(img_array)) 

image-20240516000359965

可以看到该图片已经由PIL.格式转为numpy型图片数据

代码实战 step1:蚂蚁为例
from torch.utils.tensorboard import SummaryWriter   #导入SummaryWriter类
import numpy as np
from PIL import Image
 
#创建实例
writer=SummaryWriter("logs")   #把对应的事件文件存储到logs文件夹下
image_path="dataset/train/ants_image/0013035.jpg"
img_PIL=Image.open(image_path)
img_array=np.array(img_PIL) #把PIL类型的图片转为numpy型
print(type(img_array)) #查看图片是否是numpy型
print(img_array.shape)   #查看该numpy型的shape  (512,768,3)  即(H,W,C)(高度,宽度,通道)
 
writer.add_image("test",img_array,1, dataformats='HWC')  # 第1步
 
writer.close()

image-20240516004536028

这里需要额外注意一点,图片的shape,从PIL到numpy型,需要在add_image()中指定每一个数字/维表示的含义

image-20240516002915189

运行该python文件,控制台显示的运行结果如下:

image-20240516003316759

显然该图片是numpy型,对应的shape是HWC

在pycharm的终端打开事件文件:

tensorboard --logdir=logs --port=6007

点击运行命令后出现的链接

image-20240516004836656

可以看到多了个images

image-20240516005040830

代码实战step2:蜜蜂为例

只需要在蚂蚁的代码里改两个地方

①先把image_path的值换成蜜蜂文件夹第一张图片的相对路径

image_path = "dataset/train/bees_image/16838648_415acd9e3f.jpg"

②再把writer.add_image() 里的步骤改成2

writer.add_image("test", img_array, 1, dataformats='HWC')  # 第1步

image-20240516005629560

运行该python文件,然后刷新一下事件

image-20240516005823482

这两个的title都是test,在一个title下,通过滑块显示每一步的图形,可以直观地观察训练中给model提供了哪些数据,或者想对model进行测试时,可以看到每个阶段的输出结果

image-20240516010014299

如果想要单独显示,重命名一下title即可,即 writer.add_image() 的第一个字符串类型的参数

image-20240516010720379

运行结果如下,刷新可以看到train:

image-20240516010817620

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值