[ PROMPT_NODE_22684 ]
tensorboard
[ SKILL_DOCUMENTATION ]
# TensorBoard:机器学习可视化工具包
## 何时使用此技能
当您需要执行以下操作时,请使用 TensorBoard:
- **可视化训练指标**,如随时间变化的损失(loss)和准确率(accuracy)
- **调试模型**,通过直方图和分布图
- **比较实验**,跨多个运行周期
- **可视化模型图**和架构
- **投影嵌入(Embeddings)**到低维空间(t-SNE, PCA)
- **跟踪超参数**实验
- **分析性能**并识别瓶颈
- **可视化图像和文本**在训练过程中
**用户量**:2000万+ 下载/年 | **GitHub 星标**:2.7万+ | **许可证**:Apache 2.0
## 安装
bash
# 安装 TensorBoard
pip install tensorboard
# PyTorch 集成
pip install torch torchvision tensorboard
# TensorFlow 集成 (已包含 TensorBoard)
pip install tensorflow
# 启动 TensorBoard
tensorboard --logdir=runs
# 访问地址 http://localhost:6006
## 快速入门
### PyTorch
python
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
python
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
## 核心概念
### 1. SummaryWriter (PyTorch)
python
from torch.utils.tensorboard import SummaryWriter
# 默认目录: runs/CURRENT_DATETIME
writer = SummaryWriter()
# 自定义目录
writer = SummaryWriter('runs/experiment_1')
# 自定义注释 (附加到默认目录)
writer = SummaryWriter(comment='baseline')
# 记录数据
writer.add_scalar('Loss/train', 0.5, step=0)
writer.add_scalar('Loss/train', 0.3, step=1)
# 刷新并关闭
writer.flush()
writer.close()
### 2. 记录标量 (Scalars)
python
# PyTorch
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter()
for epoch in range(100):
train_loss = train()
val_loss = validate()
# 记录单个指标
writer.add_scalar('Loss/train', train_loss, epoch)
writer.add_scalar('Loss/v