TensorBoard
概述
TensorBoard 是 TensorFlow 提供的可视化工具,用于查看训练过程中的损失曲线、指标变化、模型结构等。智川云实例已内置 TensorBoard 工具。
使用方法
第一步:保存 Event 文件
在训练代码中配置 TensorBoard 日志目录:
python
from torch.utils.tensorboard import SummaryWriter
# 创建 writer,指定日志目录
writer = SummaryWriter('/root/tf-logs/')
# 记录标量
writer.add_scalar('Loss/train', loss, epoch)
writer.add_scalar('Accuracy/train', acc, epoch)
# 关闭 writer
writer.close()第二步:启动 TensorBoard
在终端执行:
bash
tensorboard --logdir /root/tf-logs/ --port 6006 --bind_all第三步:访问 TensorBoard
通过 开放端口 功能,将 6006 端口映射到公网,然后在浏览器中访问。
切换日志目录
如果需要使用其他日志目录:
步骤 1:结束已有进程
bash
ps -ef | grep tensorboard | awk '{print $2}' | xargs kill -9步骤 2:启动新的 TensorBoard
bash
tensorboard --logdir /path/to/your/logs/ --port 6006 --bind_all常用参数
| 参数 | 说明 |
|---|---|
--logdir | 日志目录路径 |
--port | 服务端口,默认 6006 |
--bind_all | 允许外部访问 |
--reload_interval | 刷新间隔(秒) |
PyTorch 集成示例
python
from torch.utils.tensorboard import SummaryWriter
import torch
# 初始化
writer = SummaryWriter('runs/experiment_1')
# 训练循环中记录
for epoch in range(num_epochs):
# ... 训练代码 ...
# 记录损失
writer.add_scalar('Loss/train', train_loss, epoch)
writer.add_scalar('Loss/val', val_loss, epoch)
# 记录学习率
writer.add_scalar('LR', optimizer.param_groups[0]['lr'], epoch)
# 记录图像(可选)
writer.add_images('samples', images, epoch)
writer.close()注意事项
建议
- 日志目录建议放在数据盘
/root/rivermind-data/下 - 定期清理旧的日志文件,避免占用过多磁盘空间
- 如果日志文件较大,可以设置较长的
reload_interval减少资源占用
