小土堆的tensorboard的使用(二)

先把所有的代码附上

from torch.utils.tensorboard import SummaryWriter
import  numpy as np
from PIL import Image
writer=SummaryWriter("logs")
img_path="dataset/hymenoptera_data/train/ants/0013035.jpg"
img_PIL=Image.open(img_path)
img_array=np.array(img_PIL)
writer.add_image("test",img_array,1,dataformats="HWC")

前四句,第一句到第三句是导入库,不多说,第四句是实例化导入的SummaryWriter并指定生成的文件名

第五句是将图片的相对路径赋给变量img_path

第六句打开获得的图片路径,注意这里的图片类型是pil类型的

将获得的图片通过numpy库里面的array方法,将pil类型的图片变成数组

最后这个最值得一说,writer.add_image("test",img_array,1,dataformats="HWC"),test是标题然后img_array是输入的图片,注意这里这个函数只接受tensor,array,string,blobname下面的类型,前面之所以大费周章的将pil转化为数组就是为了解决这个问题,1指的是步长这里本文后面会说,dataformats="HWC"这个也非常重要,不注意的话,程序容易报错。

然后在控制台输入,tensorboard --logdir=logs --port=6007,点击进生成的网址,程序运行结果就可以看到了

如下

好的我们先说一下这个步长,writer.add_image参数的标题相同但是步长是2,你先后输入两张照片的路径,但是不改变关于标题的参数,就会发现你生成的图片可以拖动,但是如果不是同一个标题,也就是说你动了标题的参数,那么第二张图就会显示再第一张图的下面,在有别于第一张图的标题的另一个标题下,

然后我们谈谈dataformats="HWC"这个参数的意思,首先图片的参数会有高度,宽度,通道,这里的H是高度,W是宽度,C是通道,在使用writer.add_image这个方法的时候一定要先查看一下自己的照片的形状,这里我也跟着小土堆敲了一遍代码

如下

然后结果显然是先高度在宽度,最后是通道

结果如下

如果有什么理解不对的地方,请大家斧正

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值