Pytorch - TensorBoard
使用
TensorBoard 是 TensorFlow 的一个强大的可视化工具套件。可以在Anaconda Prompt模式下使用conda命令进行安装:
- (pytorch) C:\Users\summer>conda install tensorboard (安装tensorboard库)
- 运行程序 —— tensorboard_use.py
- 执行tensorboard命令
(pytorch) D:\code\klc\learn_pytorch>tensorboard --logdir=logs
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.19.0 at http://localhost:6006/
示例:
详情
import numpy as np
from PIL import Image
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("logs")
image_path = "dataset/train/ants/24335309_c5ea483bb8.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
print(type(img_array))
print(img_array.shape)
writer.add_image("train", img_array, 1, dataformats='HWC')
# y = 2x
for i in range(100):
writer.add_scalar("y=2x", 3*i, i)
writer.close()
效果如如下,可以用于展示图片、函数曲线等。

理解TensorBoard
TensorBoard 是一个可视化工具,最初设计用于 TensorFlow 的模型训练过程监控。现在也广泛应用于 PyTorch 等其他框架中,帮助用户通过直观的图形界面理解、调试和优化机器学习模型。
主要功能
标量(Scalars)
- 展示损失值、准确率等指标随时间的变化。
- 帮助监测模型训练进度及性能。
图像(Images)、音频(Audio)、文本(Text)
- 显示训练过程中处理或生成的多媒体数据。
- 对于涉及图像、语音识别等任务非常有用。
直方图(Histograms)
- 显示权重、偏置或梯度的分布情况。
- 有助于诊断模型训练中的问题,如梯度消失或爆炸。
图形(Graphs)
- 可视化计算图结构,帮助理解模型架构及其各层之间的连接方式。
嵌入(Embeddings)
- 提供高维数据(如词向量或图像特征向量)的低维表示。
- 有助于直观理解模型学到的数据表示。
超参数调优(HParams)
- 比较不同超参数设置对模型性能的影响,帮助选择最佳配置。
如何使用 TensorBoard
安装 TensorBoard
- TensorFlow 用户可通过
pip install tensorboard安装。 - PyTorch 用户确保已安装 PyTorch 和 TensorBoard (
pip install tensorboard),并使用torch.utils.tensorboard。
- TensorFlow 用户可通过
记录数据
- 使用
SummaryWriter类来创建一个写入器对象,并通过它记录各种类型的数据(如标量、图像、音频等)到日志文件。from torch.utils.tensorboard import SummaryWriter writer = SummaryWriter('logs') writer.add_scalar('Loss/train', loss, epoch)
- 使用
启动 TensorBoard
- 在命令行中运行
tensorboard --logdir=logs来启动 TensorBoard 服务,然后在浏览器中访问http://localhost:6006/查看可视化结果。
- 在命令行中运行
分析与调试
- 利用 TensorBoard 提供的各种可视化图表进行模型性能分析、训练过程监控以及调试工作。
