首页主机资讯Ubuntu下PyTorch的可视化工具怎么用

Ubuntu下PyTorch的可视化工具怎么用

时间2025-11-17 11:15:03发布访客分类主机资讯浏览214
导读:Ubuntu下PyTorch可视化工具使用指南 一 工具选型与适用场景 TensorBoard:记录并可视化训练过程中的标量(如Loss/Accuracy)、图像、直方图、计算图等;适合日常训练监控与对比实验。 Matplotlib /...

Ubuntu下PyTorch可视化工具使用指南

一 工具选型与适用场景

  • TensorBoard:记录并可视化训练过程中的标量(如Loss/Accuracy)、图像、直方图、计算图等;适合日常训练监控与对比实验。
  • Matplotlib / Seaborn / Pandas:训练过程中的快速曲线绘制与结果分析;适合轻量、本地化可视化与报表输出。
  • Visdom:Facebook开源的实时可视化工具,适合需要交互式、动态更新的场景。
  • Torchinfo:模型结构与参数量概览(类似模型“摘要”),便于快速审查网络层与维度。
  • PyTorchviz:基于Graphviz生成计算图(PDF/PNG),便于理解前向/反向依赖与节点细节。
  • Netron:可视化模型结构(支持多种格式),上手简单、无需写代码,适合快速查看模型架构。

二 快速上手 TensorBoard

  • 安装与导入
    • 建议在新环境安装:pip install tensorboard(PyTorch 1.7+ 可直接使用;更老版本可用 tensorboardX)。
    • 代码中导入:from torch.utils.tensorboard import SummaryWriter
  • 记录标量与图像
    • 创建日志目录:writer = SummaryWriter(‘runs/exp1’)
    • 训练循环中记录:writer.add_scalar(‘Loss/train’, loss.item(), epoch);writer.add_scalar(‘Accuracy/train’, acc, epoch)
    • 可选:writer.add_image(‘input’, img_tensor, epoch, dataformats=‘CHW’)
  • 启动与查看
    • 终端启动:tensorboard --logdir=runs
    • 浏览器访问:http://localhost:6006
  • 小提示
    • 多实验用不同子目录(如 runs/exp1、runs/exp2),便于对比。
    • 训练结束务必调用 writer.close() 或使用上下文管理。

三 模型结构与计算图可视化

  • Torchinfo(模型摘要)
    • 安装:pip install torchinfo
    • 使用:from torchinfo import summary;summary(model, input_size=(3, 224, 224))
  • PyTorchviz(计算图)
    • 安装:pip install torchviz;系统依赖:sudo apt-get install graphviz
    • 使用:
      • input_tensor = torch.randn(1, 3, 224, 224, requires_grad=True)
      • out = model(input_tensor)
      • dot = make_dot(out, params=dict(model.named_parameters()))
      • dot.render(‘model_graph’, format=‘pdf’, cleanup=True)
  • Netron(零代码模型结构查看)
    • 安装:pip install netron
    • 使用:
      • 保存模型为 TorchScript:torch.jit.script(model).save(‘model.pt’)
      • 启动服务:netron model.pt(默认端口 8080
      • 浏览器访问:http://localhost:8080
  • 小贴士
    • TensorBoard 也可查看计算图:在 SummaryWriter 中添加 graph(如 add_graph),再用 TensorBoard 打开。

四 训练曲线与分布等快速可视化

  • Matplotlib(基础绘图)
    • 安装:pip install matplotlib
    • 示例:
      • epochs = range(1, num_epochs+1)
      • plt.plot(epochs, train_losses, label=‘Train’)
      • plt.plot(epochs, val_losses, label=‘Val’)
      • plt.xlabel(‘Epoch’); plt.ylabel(‘Loss’); plt.legend(); plt.show()
  • Seaborn / Pandas(统计可视化)
    • 安装:pip install seaborn pandas
    • 示例:
      • sns.histplot(train_losses, kde=True); plt.title(‘Loss Distribution’)
      • df = pd.DataFrame({ ‘Epoch’: epochs, ‘Train’: train_losses, ‘Val’: val_losses} )
      • df.plot(x=‘Epoch’, y=[‘Train’,‘Val’], kind=‘line’)
  • Visdom(实时可视化)
    • 安装:pip install visdom
    • 启动服务:python -m visdom.server
    • 使用:
      • import visdom; vis = visdom.Visdom()
      • vis.line(X=torch.arange(len(data)), Y=data.numpy(), opts=dict(title=‘Line’))

五 常见问题与排错

  • 端口占用
    • TensorBoard 默认 6006;Netron 默认 8080。若端口被占用,可更换端口:tensorboard --logdir=runs --port 6007;netron model.pt --port 8081
  • Graphviz 未找到
    • 使用 PyTorchviz 前需系统安装 Graphviz(sudo apt-get install graphviz),否则会报找不到 dot 命令。
  • 旧版 PyTorch 的兼容
    • 若使用 torch < 1.7,可安装 tensorboardX 并用 from tensorboardX import SummaryWriter;新版本建议直接使用 torch.utils.tensorboard。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu下PyTorch的可视化工具怎么用
本文地址: https://pptw.com/jishu/748747.html
如何在Ubuntu上集成PyTorch与其他框架 Ubuntu上如何进行PyTorch模型的训练和评估

游客 回复需填写必要信息