依旧来自大佬的视频教程,该笔记仅作文字记录
首先惯例展示一下页面
1 - 安装Tensorboard
pip install tensorboard
耐心等待ing
2 - Tensorboard使用
2.1 - 显示一个函数(标量)
在项目中新创立一个.py文件,输入以下代码:
from torch.utils.tensorboard import SummaryWriter # 从torch常用工具箱中导入了tensorboard中的SummaryWriter类
writer = SummaryWriter("logs") # 实例,存储事件文件
# writer.add_image() ctrl+/ 注释
# writer.add_scalar() #方法
# y = x
for i in range(100):
writer.add_scalar("y=x", i, i) # 第二个参数是y轴,第三个参数是x轴,如果想看参数是什么意思的话,光标放在上面点ctrl
writer.close()
运行没有错误,下一步就是打开Tensorboard啦
- 在Pycharm的Terminal中输入
tensorboard --logdir logs
输出结果如下图所示
可以发现它的端口为6006,那么为了避免多人使用一台电脑时一个端口的情况,可以改一下端口地址
tensorboard --logdir=logs --port=6007
看到输出结果如下面所示
点击这个网址,即可跳转到Tensorboard的页面
Tensorboard主要起到一个绘制图像的作用,我们可以在这里看到loss,step等情况,例如随便找一个点
2.2 - 显示图片
首先我们先在控制台中输入语句,看看用PIL读取的图片是什么类型的
image_path = "dataset/hymenoptera_data/train/ants_image/0013035.jpg"
from PIL import Image
img = Image.open(image_path)
print(type(img))
得到如下结果
对writer.add_image()
进行查看可以发现,和要求的图片类型不符
因此需要用np.array
转换一下
import numpy as np
img_array = np.array(img) #把PIL类型的image转换为numpy类型
print(type_(img_array))
得到
说明转换成功√
最后把写到控制台的语句整合到代码里去
from torch.utils.tensorboard import SummaryWriter # 从torch常用工具箱中导入了tensorboard中的SummaryWriter类
import numpy as np
from PIL import Image
writer = SummaryWriter("logs") # 实例,存储事件文件
image_path = "dataset/hymenoptera_data/train/ants_image/0013035.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
writer.add_image("test", img_array, 1, dataformats='HWC') # ctrl+/ 注释
# 这里设置dataformats是因为img_array的类型,可以通过下述函数显示
# print(img_array.shape)
# y = x
for i in range(100):
writer.add_scalar("y=x", i, i)
writer.close()
没有报错,就说明成功啦