Ubuntu上安装与配置PyTorch可视化工具
工具选型与适用场景
安装步骤
python -m venv venv && source venv/bin/activatepip install matplotlib seaborn plotly bokeh pandaspip install tensorboardpip install visdomsudo apt-get update && sudo apt-get install -y graphvizpip install torchvizpip install torchinfopip install netron快速上手示例
from torch.utils.tensorboard import SummaryWriter
import torch, torchvision
writer = SummaryWriter("runs/demo")
x = torch.randn(1, 3, 32, 32)
model = torchvision.models.resnet18(num_classes=10).eval()
with torch.no_grad():
y = model(x)
writer.add_scalar("loss", 0.42, 0)
writer.add_histogram("conv1.weight", model.conv1.weight, 0)
writer.add_images("input", x, 0)
writer.close()
tensorboard --logdir=runs,浏览器访问 http://localhost:6006。python -m visdom.serverimport visdom, torch
vis = visdom.Visdom()
for i in range(100):
vis.line(X=torch.tensor([i]), Y=torch.randn(1), win="loss", update="append", opts=dict(title="Loss"))
import torch
from torchviz import make_dot
model = torch.nn.Sequential(
torch.nn.Linear(8, 16), torch.nn.ReLU(),
torch.nn.Linear(16, 1)
)
x = torch.randn(1, 8)
y = model(x)
dot = make_dot(y, params=dict(model.named_parameters()))
dot.render("model_graph", format="pdf") # 生成 model_graph.pdf
常见问题与排错
dot -V可正常输出版本;渲染时优先使用format="pdf"或"png"。tensorboard --logdir=runs --port=6007,或python -m visdom.server -port 8098。--bind_all并开放防火墙端口,例如:tensorboard --logdir=runs --bind_all --port=6006,然后用服务器IP访问;Visdom同理。torch.cuda.is_available()为True。