TensorBoard是Google开发的一个机器学习可视化工具。主要用于记录机器学习的过程。

  • 记录损失变化,准确率变化等。
  • 记录图片变化,语音变化,文本变化等。
  • 绘制模型。

安装

pip install tensorboard -i https://pypi.tuna.tsinghua.edu.cn/simple

SummaryWriter类

SummaryWriter类提供了一个高级API,用于在给定目录中创建事件文件,并向其中添加摘要和事件。然后再使用TensorBoard将事件可视化。

from torch.utils.tensorboard import SummaryWriter

其中两个重要的方法,add_scalar()和add_image()

一)add_scalar()的使用

目的是添加一个标量数据(scalar data)到summary中,主要用来绘制图表。

 参数说明:

  • tag:string,用于描述该标量数据图的标题。
  • scalar_value:可以理解一个y轴值的列表。
  • global_step:可以理解一个x轴值的列表,与y轴的值相对应。

代码示例:

from torch.utils.tensorboard import SummaryWriter

writer=SummaryWriter("logs")
for i in range(100):
    writer.add_scalar('y=2x',2*i,i)

for i in range(100):
    writer.add_scalar('y=x',i,i)
writer.close()

项目下logs目录,已生成事件文件。

 在pycharm 终端输入指令,查看结果。

# logdir 为时间目录   port为端口号
tensorboard --logdir=logs --port=6008

 打开链接,查看内容。

 二)add_image()的使用

目的是向summary中添加图片,用来观察训练结果。

 

 参数说明:

  • tag:string,用以藐视该图像可视化的标题。
  • img_tensor:传入的是要展示的图片内容,格式必须要转换为:torch.Tensor,Numpy.array,string。

如果图片调整为Numpy.array格式,在add_image()函数该Numpy.array数据类型,需要明确dataformats参数,目的是指明array的内容。

代码示例:

from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np

image_path='images/175998972.jpg'
img=Image.open(image_path,'r')
img_array=np.array(img)
print(type(img_array))
print(img_array.shape)

writer=SummaryWriter("logs")
writer.add_image('ants',img_array,1,dataformats='HWC')
writer.close()

查看方式见上。

 posted on 2024-03-07 17:05  会飞的金鱼  阅读(95)  评论(0)    收藏  举报