本文介绍几种在CentOS系统上使用PyTorch进行模型可视化的工具,包括hiddenlayer、pytorchviz和TensorBoard(包含tensorboardX)。
一、hiddenlayer:神经网络结构可视化
hiddenlayer库专注于神经网络结构的可视化。
pip install hiddenlayer
import hiddenlayer as h
import torch
import torch.nn as nn
class ConvNet(nn.Module): # 类名修改为更符合规范的驼峰命名法
def __init__(self):
super(ConvNet, self).__init__()
self.conv1 = nn.Sequential(
nn.Conv2d(1, 16, 3, 1, 1),
nn.ReLU(),
nn.AvgPool2d(2, 2)
)
self.conv2 = nn.Sequential(
nn.Conv2d(16, 32, 3, 1, 1),
nn.ReLU(),
nn.MaxPool2d(2, 2)
)
self.fc = nn.Sequential(
nn.Linear(32 * 7 * 7, 128),
nn.ReLU(),
nn.Linear(128, 64),
nn.ReLU()
)
self.out = nn.Linear(64, 10)
def forward(self, x):
x = self.conv1(x)
x = self.conv2(x)
x = x.view(x.size(0), -1)
x = self.fc(x)
output = self.out(x)
return output
model = ConvNet() # 使用更具描述性的变量名
vis_graph = h.build_graph(model, torch.zeros([1, 1, 28, 28]))
vis_graph.theme = h.graph.themes["blue"].copy()
vis_graph.save("./demo1.png")二、pytorchviz:基于graphviz的神经网络可视化
pytorchviz利用graphviz库,可视化网络结构和计算图。
pip install torchviz
import torch
from torchviz import make_dot
import torch.nn as nn
class ConvNet(nn.Module): # 类名修改为更符合规范的驼峰命名法
def __init__(self):
super(ConvNet, self).__init__()
self.conv1 = nn.Sequential(
nn.Conv2d(1, 16, 3, 1, 1),
nn.ReLU(),
nn.AvgPool2d(2, 2)
)
self.conv2 = nn.Sequential(
nn.Conv2d(16, 32, 3, 1, 1),
nn.ReLU(),
nn.MaxPool2d(2, 2)
)
self.fc = nn.Sequential(
nn.Linear(32 * 7 * 7, 128),
nn.ReLU(),
nn.Linear(128, 64),
nn.ReLU()
)
self.out = nn.Linear(64, 10)
def forward(self, x):
x = self.conv1(x)
x = self.conv2(x)
x = x.view(x.size(0), -1)
x = self.fc(x)
output = self.out(x)
return output
model = ConvNet()
input_tensor = torch.randn(1, 3, 224, 224)
dot = make_dot(model(input_tensor), params=dict(model.named_parameters()))
dot.render("model", format="pdf")三、TensorBoard:训练过程可视化 (包含tensorboardX)
TensorBoard是一个强大的可视化工具,tensorboardX是其PyTorch版本。
pip install tensorboard torchvision # torchvision 可选,取决于你的数据
torch.utils.tensorboard):from torch.utils.tensorboard import SummaryWriter
import torch
writer = SummaryWriter()
num_epochs = 10 # 添加epochs数量
for epoch in range(num_epochs):
# 训练代码 (此处省略)
loss = 0.5 # 替换为实际的loss值
accuracy = 0.8 # 替换为实际的accuracy值
writer.add_scalar('Loss/train', loss, epoch)
writer.add_scalar('Accuracy/train', accuracy, epoch)
writer.close()tensorboard --logdir=runs
访问http://localhost:6006查看可视化结果。
四、总结
以上介绍了三种PyTorch可视化工具,选择合适的工具取决于你的需求。hiddenlayer和pytorchviz适合可视化模型结构,而TensorBoard则更适合可视化训练过程中的指标变化。 请根据实际情况选择并安装相应的库。 代码示例中已对变量名和类名进行了调整,使其更符合Python代码规范。
以上就是PyTorch在CentOS上的可视化工具怎么用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号