SuperAPI AI 工具集

tensorboard

数据与分析

查看项目

更新于 10-15 18:37

技能介绍

用途

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。