Skip to content

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 减少资源占用

智算无疆 川流不息