1.Tensorboard用途
Tensorboard是一个用于机器学习实验的可视化工具。它可以帮助你跟踪和展示训练过程中的指标,如损失和准确率,可视化模型图,查看权重、偏置或其他张量的直方图,将嵌入投影到低维空间,显示图像、文本和音频数据,分析TensorFlow程序的性能,等等
from torch.utils.tensorboard import SummaryWriter
help(SummaryWriter)
///在python控制台输入help(模块名称)可以获取信息
///或在pycharm中按住ctrl后点击模块名称也可查询
如果想了解更多关于Tensorboard的信息,可以参考以下链接:
2.Tensorboard写日志
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("logs") # 创建一个logs文件夹,writer写的文件都在该文件夹下
#writer.add_image()
for i in range(100):
writer.add_scalar("y=2x",2*i,i) # 参数说明(标题,值,自变量)
writer.close()
3.Tensorboard读日志
在 Anaconda 终端里面,激活py3.6.3环境,再输入
tensorboard --logdir=C:\Users\Asabopp\Desktop\Learn_pytorch\Test\logs
将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。
为避免多人使用端口导致冲突,也可以在后面加上后缀,使得端口独立:
tensorboard --logdir=C:\Users\Asabopp\Desktop\Learn_pytorch\Test\logs --port=6008
注:每当值改变时应重新起一个tag,否则生成图像会出错。出错之后需要删掉所有logs然后重启tensorboard。或者做新的训练的时候可以先创建一个子文件:SummaryWriter("新文件夹名")
![](https://img-blog.csdnimg.cn/f5beba7a1e744333856ab749475f574f.png)
4.Tensorboard读图片
图片需要是numpy.array或者torch.Tensor型(下面是将PIL.JpegImage转换成numpy.array型)
注:这样得到的图片是格式(H, W, 3),并非默认的(3, H, W), 需要设置dataformats='HWC'
from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np
img_path1 = "dataset/train/ants_image/5650366_e22b7e1065.jpg"
img_PIL1 = Image.open(img_path1)
img_array1 = np.array(img_PIL1)
img_path2 = "dataset/train/ants_image/7759525_1363d24e88.jpg"
img_PIL2 = Image.open(img_path2)
img_array2 = np.array(img_PIL2)
writer = SummaryWriter("logs")
writer.add_image("test",img_array1,1,dataformats="HWC") # 1 表示该图片在第1步
writer.add_image("test",img_array2,2,dataformats="HWC") # 2 表示该图片在第2步
writer.close()
![](https://img-blog.csdnimg.cn/0f88115c96114613aa313a1932d4b115.png)