TensorBoard与PyTorch完美结合指南

TensorBoard 基础与功能

TensorBoard 是 TensorFlow 提供的可视化工具,但也可与 PyTorch 结合使用。它支持训练过程可视化、模型结构展示、标量/图像/直方图等数据记录。通过 SummaryWriter 类将数据写入日志文件,再启动 TensorBoard 服务加载日志。

安装命令:

pip install tensorboard

基础使用示例:

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("logs")  # 日志目录
for epoch in range(100):
    writer.add_scalar("Loss/train", loss.item(), epoch)
writer.close()

启动 TensorBoard 服务:

tensorboard --logdir=logs --port=6006

torchvision 图像变换工具

torchvision.transforms 提供常见的图像预处理方法,支持组合操作。主要分为:

  • 几何变换RandomCrop, RandomHorizontalFlip
  • 色彩变换ColorJitter, Grayscale
  • 张量转换ToTensor, Normalize

组合变换示例:

transform = transforms.Compose([
    transforms.RandomResizedCrop(224),
    transforms.RandomHorizontalFlip(),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5], std=[0.5])
])

代码综合演示

完整示例展示 TensorBoard 记录图像和模型训练过程:

import torch
from torchvision import transforms, datasets
from torch.utils.tensorboard import SummaryWriter

# 数据加载与变换
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.5,), (0.5,))
])
dataset = datasets.MNIST('./data', transform=transform)
dataloader = torch.utils.data.DataLoader(dataset, batch_size=32)

# 模型与日志设置
model = torch.nn.Linear(28*28, 10)
writer = SummaryWriter('logs')

# 训练循环
for batch_idx, (data, target) in enumerate(dataloader):
    data = data.view(-1, 28*28)
    output = model(data)
    
    # 记录标量和图像
    writer.add_scalar('Loss', loss.item(), batch_idx)
    writer.add_images('Input', data.view(-1,1,28,28), batch_idx)
    
writer.close()

高级功能应用

模型结构可视化

dummy_input = torch.rand(1, 28*28)
writer.add_graph(model, dummy_input)

直方图记录

writer.add_histogram('fc1_weight', model.fc1.weight, epoch)

PR 曲线绘制

writer.add_pr_curve('pr_curve', labels, predictions, epoch)

可视化效果优化

  • 使用标签分组(如 Loss/trainLoss/val
  • 调整采样频率避免日志过大
  • 对图像数据使用 add_images 记录批次
  • 通过 --samples_per_plugin 参数控制显示样本数

常见问题解决

  1. 端口冲突:通过 --port 指定新端口
  2. 日志加载失败:检查路径是否包含中文或特殊字符
  3. 图像显示异常:确认数据归一化到 [0,1] 范围
  4. 标量曲线缺失:检查写入的 tag 名称是否一致

BbS.okacop092.info/PoSt/1120_974267.HtM
BbS.okacop093.info/PoSt/1120_865245.HtM
BbS.okacop094.info/PoSt/1120_944544.HtM
BbS.okacop095.info/PoSt/1120_362018.HtM
BbS.okacop096.info/PoSt/1120_993110.HtM
BbS.okacop097.info/PoSt/1120_498224.HtM
BbS.okacop098.info/PoSt/1120_010323.HtM
BbS.okacop099.info/PoSt/1120_968174.HtM
BbS.okacop114.info/PoSt/1120_084195.HtM
BbS.okacop829.info/PoSt/1120_548460.HtM
BbS.okacop092.info/PoSt/1120_399965.HtM
BbS.okacop093.info/PoSt/1120_577918.HtM
BbS.okacop094.info/PoSt/1120_224348.HtM
BbS.okacop095.info/PoSt/1120_604303.HtM
BbS.okacop096.info/PoSt/1120_128114.HtM
BbS.okacop097.info/PoSt/1120_077171.HtM
BbS.okacop098.info/PoSt/1120_413506.HtM
BbS.okacop099.info/PoSt/1120_113492.HtM
BbS.okacop114.info/PoSt/1120_934136.HtM
BbS.okacop829.info/PoSt/1120_629029.HtM
BbS.okacop092.info/PoSt/1120_280040.HtM
BbS.okacop093.info/PoSt/1120_078315.HtM
BbS.okacop094.info/PoSt/1120_717608.HtM
BbS.okacop095.info/PoSt/1120_719123.HtM
BbS.okacop096.info/PoSt/1120_772357.HtM
BbS.okacop097.info/PoSt/1120_306807.HtM
BbS.okacop098.info/PoSt/1120_157238.HtM
BbS.okacop099.info/PoSt/1120_272343.HtM
BbS.okacop114.info/PoSt/1120_579401.HtM
BbS.okacop829.info/PoSt/1120_762704.HtM
BbS.okacop092.info/PoSt/1120_184867.HtM
BbS.okacop093.info/PoSt/1120_124897.HtM
BbS.okacop094.info/PoSt/1120_278576.HtM
BbS.okacop095.info/PoSt/1120_198275.HtM
BbS.okacop096.info/PoSt/1120_755844.HtM
BbS.okacop097.info/PoSt/1120_410250.HtM
BbS.okacop098.info/PoSt/1120_989619.HtM
BbS.okacop099.info/PoSt/1120_100315.HtM
BbS.okacop114.info/PoSt/1120_358421.HtM
BbS.okacop829.info/PoSt/1120_825738.HtM
BbS.okacop092.info/PoSt/1120_493228.HtM
BbS.okacop093.info/PoSt/1120_800075.HtM
BbS.okacop094.info/PoSt/1120_513273.HtM
BbS.okacop095.info/PoSt/1120_854662.HtM
BbS.okacop096.info/PoSt/1120_398048.HtM
BbS.okacop097.info/PoSt/1120_226801.HtM
BbS.okacop098.info/PoSt/1120_352554.HtM
BbS.okacop099.info/PoSt/1120_426769.HtM
BbS.okacop114.info/PoSt/1120_222341.HtM
BbS.okacop829.info/PoSt/1120_640823.HtM
BbS.okacop092.info/PoSt/1120_020440.HtM
BbS.okacop093.info/PoSt/1120_164368.HtM
BbS.okacop094.info/PoSt/1120_017069.HtM
BbS.okacop095.info/PoSt/1120_157581.HtM
BbS.okacop096.info/PoSt/1120_616139.HtM
BbS.okacop097.info/PoSt/1120_978062.HtM
BbS.okacop098.info/PoSt/1120_100515.HtM
BbS.okacop099.info/PoSt/1120_871601.HtM
BbS.okacop114.info/PoSt/1120_056064.HtM
BbS.okacop829.info/PoSt/1120_821124.HtM
BbS.okacop092.info/PoSt/1120_849601.HtM
BbS.okacop093.info/PoSt/1120_628351.HtM
BbS.okacop094.info/PoSt/1120_521649.HtM
BbS.okacop095.info/PoSt/1120_758812.HtM
BbS.okacop096.info/PoSt/1120_629677.HtM
BbS.okacop097.info/PoSt/1120_548214.HtM
BbS.okacop098.info/PoSt/1120_822872.HtM
BbS.okacop099.info/PoSt/1120_324120.HtM
BbS.okacop114.info/PoSt/1120_052454.HtM
BbS.okacop829.info/PoSt/1120_955860.HtM
BbS.okacop092.info/PoSt/1120_612318.HtM
BbS.okacop093.info/PoSt/1120_695458.HtM
BbS.okacop094.info/PoSt/1120_630385.HtM
BbS.okacop095.info/PoSt/1120_340092.HtM
BbS.okacop096.info/PoSt/1120_303613.HtM
BbS.okacop097.info/PoSt/1120_935299.HtM
BbS.okacop098.info/PoSt/1120_760572.HtM
BbS.okacop099.info/PoSt/1120_796389.HtM
BbS.okacop114.info/PoSt/1120_497677.HtM
BbS.okacop829.info/PoSt/1120_866215.HtM

#牛客AI配图神器#

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务