土堆pytorch学习笔记day02

这篇博客介绍了如何使用Tensorboard进行数据可视化,包括添加标量数据和图像。通过`SummaryWriter`实例将数据写入日志文件,并通过`add_scalar`和`add_image`函数分别绘制标量图表和图像。遇到重复tag导致图像异常时,解决方案是删除日志文件并重新运行。此外,还提到了`add_image`函数中数据格式的要求,以及如何处理非numpy.array类型的图片数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tensorboard的使用

导入tensorboard包

from torch.utils.tensorboard import SummaryWriter

写一个实例对象writer,写到文件中

writer = SummaryWriter("logs")#事件文件

在使用的过程中,tensorboard从这里进行画图

tensorboard也有很多函数

    def add_scalar(self, tag, scalar_value, global_step=None, walltime=None):

tag表示标题,后面依次是y,x轴

最后有个writer.close()

运行之后如何进行查看

在vscode中,在引入后会弹出一个按钮,点击安装即可

或者在当前文件的cmd(logs创建的地方),使用命令行

tensorboard --logdir=logs --port=6008

 --port指定窗口进行运行实行

 当在未改变文件名直接修改会出现比较奇怪的图像形式

(具有相同的tag)

    writer.add_scalar("y = x",i,i)
    writer.add_scalar("y=x",4*i,i)

出现的原因是writer会记录上一个时间的结果,这是拟合的情况 

解决方法

删除logs重新运行

writer.add_image()

add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW'):
Args:
            tag (string): Data identifier
            img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data
            global_step (int): Global step value to record
            walltime (float): Optional override default walltime (time.time())
              seconds after epoch of event

以上可以看到需要相应的数据类型

当我们的图片不是array如何转化:

img = Image.open(img_path)
print(type(img))
img_array = np.array(img)
print(type(img_array))

结果:

当准备工作就绪之后,在进行运行程序。

writer.add_image("test",img_array,1)

 会报错

原因是数据形状不匹配。

 # If you have non-default dimension setting, set the dataformats argument.
            writer.add_image('my_image_HWC', img_HWC, 0, dataformats='HWC')

改成

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

第三位的数字表示的是显示几张图片

成功运行

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值