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
浙公网安备 33010602011771号