Ubuntu下PyTorch的可视化工具怎么用
导读: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
