温馨提示×

PyTorch在Debian上的可视化工具怎么用

小樊
45
2025-12-17 05:15:46
栏目: 智能运维

在 Debian 上使用 PyTorch 的可视化工具

一 环境准备

  • 安装系统依赖(用于 Graphviz 渲染与可选 GPU 监控):
    • sudo apt update && sudo apt install -y graphviz nvidia-driver nvidia-utils python3-pip
  • 建议创建虚拟环境:
    • python3 -m venv venv && source venv/bin/activate
    • pip install --upgrade pip
  • 验证 GPU 工具:
    • nvidia-smi(应能看到 GPU 型号、显存、温度、功耗 等信息)

二 训练过程与指标可视化 TensorBoard

  • 安装与启动:
    • pip install tensorboard
    • 训练脚本中写入日志:
      • from torch.utils.tensorboard import SummaryWriter
      • writer = SummaryWriter(log_dir=“runs/exp1”)
      • writer.add_scalar(“Loss/train”, loss, epoch)
      • writer.add_scalar(“Accuracy/val”, acc, epoch)
      • writer.add_graph(model, dummy_input) # 可选:模型图
      • writer.close()
    • 启动服务:
      • tensorboard --logdir=runs --host 0.0.0.0 --port 6006
  • 远程访问与多实验对比:
    • 在浏览器打开 http://<服务器IP>:6006
    • 使用分层目录(如 runs/exp1、runs/exp2)便于对比;TensorBoard 支持 Scalars、Graphs、Histograms、Distributions、Images、Text、PR Curves、Embedding 等面板

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

  • torchviz(基于 Graphviz,展示计算依赖与梯度流向):
    • pip install torchviz
    • 代码示例:
      • from torchviz import make_dot
      • dummy_input = torch.randn(1, 3, 224, 224)
      • output = model(dummy_input)
      • dot = make_dot(output, params=dict(model.named_parameters()))
      • dot.render(“resnet18”, format=“png”) # 生成 PNG/PDF
  • HiddenLayer(轻量快速,支持结构折叠):
    • pip install hiddenlayer
    • 代码示例:
      • import hiddenlayer as hl
      • hl.build_graph(model, dummy_input).save(“resnet18.png”)
  • Netron(无需代码,查看 .pt/.pth 或 .onnx):
    • 导出:torch.onnx.export(model, dummy_input, “resnet18.onnx”)
    • 使用 Netron Web/桌面端 打开 .onnx 文件,交互式查看层级与形状

四 可解释性与特征可视化 Captum 与 Grad-CAM

  • Captum(PyTorch 官方可解释性库,支持 Integrated Gradients、Saliency、LayerGradCam 等):
    • pip install captum
    • 示例(Integrated Gradients):
      • from captum.attr import IntegratedGradients
      • ig = IntegratedGradients(model)
      • attr = ig.attribute(input_tensor, target=target_class)
  • Grad-CAM(CNN 热力图,定位判别区域):
    • pip install pytorch-grad-cam
    • 参考官方示例为指定层注册钩子,生成热力图并与原图叠加显示

五 远程与系统资源监控

  • GPU 监控:
    • 实时查看:nvidia-smi -l 1(每秒刷新)
  • 系统资源:
    • CPU/内存:htop(sudo apt install -y htop)
    • 综合资源:dstat -c -m -y -p --top-io --top-bio
  • 训练进程内监控(psutil):
    • pip install psutil
    • 示例:
      • import psutil, os
      • p = psutil.Process(os.getpid())
      • print(“CPU%:”, p.cpu_percent(interval=1.0))
      • print(“MEM(MB):”, p.memory_info().rss / 1024 ** 2)
  • 远程可视化访问建议:
    • 服务器启动 TensorBoard/Visdom 时加 –host 0.0.0.0
    • 云服务器需放行 6006/8097 端口(安全组/防火墙)
    • 内网穿透或 SSH 端口转发也可用于本地浏览器访问

0