用途
TensorBoard 是 Google 的机器学习可视化工具包。当需要可视化训练指标(如损失和准确率随时间的变化)、用直方图和分布调试模型、对比多次实验、可视化模型计算图与架构、将嵌入投影到低维空间(t-SNE、PCA)、跟踪超参数实验、剖析性能并定位瓶颈,或在训练过程中可视化图像和文本时,可以使用它。
主要能力
- 标量记录:记录单个或多个相关指标(如 Loss、Accuracy、Learning rate),支持按 train/val/test 分组对比。
- 图像记录:记录单张图像或以网格形式记录多张图像,可用于可视化输入批次与预测结果。
- 直方图记录:跟踪权重、梯度与激活值的分布。
- 模型图记录:可视化模型架构(PyTorch 通过 add_graph,TensorFlow/Keras 通过回调自动写入)。
- 嵌入投影(Embedding Projector):将高维数据(词嵌入、图像特征)在 2D/3D 中可视化,支持 PCA、t-SNE、UMAP,并可搜索、过滤和探索聚类。
- 超参数调优:通过 add_hparams 记录超参数与最终指标,在 HParams 标签页中对比。
- 文本记录:记录文本(如预测结果、配置)与 Markdown 表格。
- PR 曲线:为分类任务记录每个类别的精确率-召回率曲线。
- 性能剖析:TensorFlow Profiler 与 PyTorch Profiler 可展示 GPU 利用率、内核统计、内存使用与瓶颈。
- 实验对比:多个运行可同时显示在同一仪表板中,支持开关切换、正则过滤运行名、叠加图表对比指标。
使用方式
安装:
# 安装 TensorBoard
pip install tensorboard
# PyTorch 集成
pip install torch torchvision tensorboard
# TensorFlow 集成(已包含 TensorBoard)
pip install tensorflow
# 启动 TensorBoard
tensorboard --logdir=runs
# 访问 http://localhost:6006
PyTorch 快速开始:
from torch.utils.tensorboard import SummaryWriter
# 创建 writer
writer = SummaryWriter('runs/experiment_1')
# 训练循环
for epoch in range(10):
train_loss = train_epoch()
val_acc = validate()
# 记录指标
writer.add_scalar('Loss/train', train_loss, epoch)
writer.add_scalar('Accuracy/val', val_acc, epoch)
# 关闭 writer
writer.close()
# 启动: tensorboard --logdir=runs
TensorFlow/Keras 快速开始:
import tensorflow as tf
# 创建回调
tensorboard_callback = tf.keras.callbacks.TensorBoard(
log_dir='logs/fit',
histogram_freq=1
)
# 训练模型
model.fit(
x_train, y_train,
epochs=10,
validation_data=(x_val, y_val),
callbacks=[tensorboard_callback]
)
# 启动: tensorboard --logdir=logs
核心概念包括 SummaryWriter(PyTorch)、标量记录、多标量记录、图像记录、直方图记录、模型图记录等,具体代码示例见资料。
适用场景
- 训练过程中的指标监控与调试。
- 多组超参数或多次实验的对比分析。
- 模型架构与计算图的可视化检查。
- 嵌入与特征降维可视化探索。
- 训练性能剖析与瓶颈定位。
- 训练过程中图像与文本样本的可视化。
限制
资料未提供关于收费、价格、平台限制或效果保证的说明。使用前需按上述方式安装并启动服务,默认访问地址为 http://localhost:6006。