TensorBoard的使用(二)
TensorBoard的使用(二)
Tinsiag Zhu本节主要记录 TensorBoard 中 add_image 方法的使用,用于在训练过程中可视化图像数据(如输入图片、特征图等)。
1. add_image()
add_image()用于将图像数据写入到TensorBoard的日志文件中
参数说明
- tag (string): 数据标识符,类似图片的标题。
- img_tensor (torch.Tensor, numpy.array, or string/blobname): 图像数据。
- global_step (int): 全局步数(x轴),通常对应 Epoch 或 Iteration。
- dataformats (string): 图像数据的维度格式(非常重要)。
- 默认格式为
CHW(Channel, Height, Width)。 - 常见 OpenCv 或 PIL 读取转 Numpy 后的格式为
HWC(Height, Width, Channel)。 - 注意: 如果数据格式不匹配,需要显式指定该参数,否则会报错或显示花屏。
- 默认格式为
2. 实战代码
通常使用PIL或者OpenCV读取照片,然后转换为numpy.arrary传给TensorBoard
接这上节的代码
==步骤==
- 利用
PIL.Image读取本地图片。 - 将 PIL 对象转换为
numpy.array。 - 查看数组形状
shape,确定dataformats。 - 调用
writer.add_image。
from torch.utils.tensorboard import SummaryWriter
import cv2
writer = SummaryWriter("logs")
img_path = "data/train/ants_image/5650366_e22b7e1065.jpg"
img = cv2.imread(img_path)
writer.add_image('test',img,1,dataformats="HWC")
writer.close()
3. 启动TensorBoard面板
命令行启动:
tensorboard --logdir=logs--logdir指定了之前在SummaryWriter中设置的日志文件夹名称。
指定端口(可选):如果默认端口6006被占用,可使用
--port=6007指定其他端口查看结果:命令运行成功后,点击终端显示的链接(通常是
http://localhost:6006)即可在浏览器中看到可视化的图表。



