SuperAPI AI 工具集

tensorboard

数据与分析

查看项目

更新于 10-15 15:22

技能介绍

TensorBoard 是 Google 的机器学习可视化工具包,用于观察和分析模型训练过程。

用途

在以下场景使用 TensorBoard:

  • 可视化随时间变化的训练指标,如 loss 和 accuracy
  • 用直方图和分布调试模型
  • 在多次运行之间对比实验
  • 可视化模型计算图与架构
  • 将嵌入投影到更低维度(t-SNE、PCA)
  • 追踪超参数实验
  • 剖析性能并定位瓶颈
  • 在训练过程中可视化图像和文本

主要能力

  • 标量记录:记录单个指标或分组记录多个相关指标(如 train/validation/test)
  • 图像记录:记录单张图像或以网格形式记录多张图像
  • 直方图:追踪权重分布与梯度、激活值分布
  • 模型计算图:可视化模型结构
  • 嵌入投影器(Embedding Projector):在 2D/3D 中可视化高维数据,支持 PCA、t-SNE、UMAP
  • 超参数调优:记录并对比不同超参数组合的实验结果
  • 文本记录:记录预测文本、配置信息、Markdown 表格
  • PR 曲线:分类任务的精确率-召回率曲线
  • 性能剖析:TensorFlow Profiler 与 PyTorch Profiler

安装与启动

安装 TensorBoard:

pip install tensorboard

PyTorch 集成:

pip install torch torchvision tensorboard

TensorFlow 集成(TensorBoard 已包含):

pip install tensorflow

启动:

tensorboard --logdir=runs

默认访问地址 http://localhost:6006

使用方式

PyTorch 通过 torch.utils.tensorboard 的 SummaryWriter 记录数据,例如:

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('runs/experiment_1')
writer.add_scalar('Loss/train', train_loss, epoch)
writer.close()

TensorFlow/Keras 通过 tf.keras.callbacks.TensorBoard 回调记录数据:

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=runs 一并查看;也可通过目录层级组织实验。

适用场景

  • 深度学习训练过程的监控与调试
  • 多组超参数实验的对比
  • 模型结构与嵌入的可视化分析
  • 训练性能剖析

限制

除资料中给出的安装、记录、对比与剖析用法外,关于平台支持范围、具体版本兼容要求、收费与价格、共享托管服务的细节等,资料未提供。资料提及 TensorBoard.dev 用于公开分享实验(https://tensorboard.dev),但未说明其当前可用性、限制或费用,暂未提供。