2.初识Pytorch使用Tensorboard来观察数据

上一章讲数据的处理,这一章讲数据处理之后呈现的结果,即你有可能看到Loss的走向等,这样方便我们调试代码。

Tensorboard

有两个常用的方法
一个是add_scalar()显示曲线
一个是add_image()显示图像
  • 首先安装Tensorboard
    在你的编译环境(conda activate XXX)中输入命令
pip install tensorboard
  • 1.使用add_scalar()输入代码
from torch.utils.tensorboard import SummaryWriter #调包

writer = SummaryWriter('logs') # 这里你创建了一个logs的文件装你的add_scalar生成的曲线,
#其中writer.add_scalar()第一个量是曲线的名字, 
#第二个量是纵坐标scalar_value,第三个量是横坐标global_step(也可以理解为损失值得步长)
for i in range(100):
    writer.add_scalar("quadratic", i ** 2, i)

writer.close()
  • 打开这个Tensorboard文件
tensorboard --logdir=logs
#1.这个logdir的文件名必须要与之前所创建的文件名一致,不然很容易报错,No dashboards are active for the current data set.
#2.这个tensorboard输入的命令,必须是在logs文件的上一层文件中,不然也很容易报错,No dashboards are active for the current data set.
  • 结果现实
    在这里插入图片描述

  • 2.使用add_image()输入代码

注意,add_image()中函数一般有三个量:
第一个是图像的名字,第二个是图像(必须是tensor或者numpy.ndarray),第三个是步长(可理解为训练或者测试阶段到哪幅图像了);
其中,图像的shape必须是CHW,但是有opencv读取的图像shape是HWC,
所以得使用dataformats转换以下将图像的shape转换为HWC

下面的代码测试了两张图(一张是来自aligned的图像,一张是来自original的图像)用来模拟训练或者测试阶段程序运行到哪张图
from torch.utils.tensorboard import SummaryWriter
import cv2

writer = SummaryWriter('logs')
aligned_img_path = "D:\\data\\basic\\Image\\aligned\\test_0001_aligned.jpg"
original_img_path = "D:\\data\\basic\\Image\\original\\test_0001.jpg"
aligned_img = cv2.imread(aligned_img_path)
original_img = cv2.imread(original_img_path)
print(type(aligned_img)) # numpy
print(aligned_img.shape)
# writer.add_image("img", aligned_img, 1, dataformats='HWC') #此图已经在我第一次测试add_image()用过了
writer.add_image("img", original_img, 2, dataformats='HWC')#此图是我在第二个测试
writer.close()
  • 实现结果
    tensorboard中出现了IMAGES,并且step1是aligned的图,而step2是original的图
    在这里插入图片描述在这里插入图片描述

上一章 1.初识Pytorch之Dataset
下一章 3.初识Pytorch使用transforms

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值