Pytorch的模型结构可视化(tensorboard)

本文介绍了如何使用TensorboardX在Pytorch中进行模型结构和训练过程的可视化,通过一个CNN训练MNIST手写数字分类的例子,详细讲解了从安装到可视化的步骤,包括保存模型结构和在浏览器中查看模型图。

在pytorch中,可以导入tensorboard模块,可视化网络结构及训练流程。

下面通过“CNN训练MNIST手写数字分类”的小例子来学习一些可视化工具的用法,只需要加少量代码。

一、tensorboardX的安装

pip install tensorboard
pip install tensorflow
pip install tensorboardX

二、导入tensorboardX

import torch
import torch.nn as nn
from torch.autograd import Variable
from torch.utils.data import DataLoader
from torchvision import datasets,transforms

#writer就相当于一个日志,保存你要做图的所有信息。第二句就是在你的项目目录下建立一个文件夹log,存放画图用的文件。刚开始的时候是空的
from tensorboardX import SummaryWriter
writer = SummaryWriter('log') #建立一个保存数据用的东西

三、搭建模型

#定义超参数
batch_size = 64
learning_rate = 1e-2
num_epoches = 20

#对数据进行预处理
data_tf = transforms.Compose(
    [transforms.ToTensor(),
     transforms.Normalize([0.5],[0.5])]
)


# 定义网络
class CNN(nn.Module):
    def __init__(self):
        super(CNN, se
<think>我们使用PyTorch的SummaryWriter来可视化模型结构,并将其显示在TensorBoard中。步骤如下:1.导入必要的库:torch,torch.nn, torchvision.models(可选,用于示例模型),以及torch.utils.tensorboard中的SummaryWriter。2.定义一个模型(可以是自定义的,也可以是预训练模型)。3.创建SummaryWriter对象。4.使用SummaryWriter的add_graph方法将模型添加到TensorBoard中。5.关闭SummaryWriter。注意:为了在TensorBoard中查看,需要运行TensorBoard服务,指向生成的日志目录。示例代码:我们将使用一个简单的模型作为例子,比如一个卷积神经网络,或者使用预定义的resnet18。注意:模型需要输入一个示例张量(dummy input)来构建计算图。下面是一个示例代码:</think>### PyTorch SummaryWriter 可视化模型结构TensorBoardPyTorch 中,使用 `torch.utils.tensorboard.SummaryWriter` 可视化模型结构TensorBoard 的步骤如下: 1. **导入依赖** ```python import torch from torch.utils.tensorboard import SummaryWriter from torchvision.models import resnet18 # 示例模型 ``` 2. **创建模型和虚拟输入** ```python model = resnet18(pretrained=False) dummy_input = torch.rand(1, 3, 224, 224) # 匹配模型输入维度 ``` 3. **写入计算图到 TensorBoard** ```python writer = SummaryWriter("logs") # 日志目录 writer.add_graph(model, dummy_input) writer.close() # 必须关闭写入器 ``` 4. **启动 TensorBoard 查看** 终端执行: ```bash tensorboard --logdir=logs ``` 访问 `http://localhost:6006` 查看 **GRAPHS** 选项卡中的模型结构图。 #### 注意事项: - 虚拟输入维度需匹配模型预期输入(如 `(batch, channel, height, width)`) - 支持自定义模型,确保模型实现包含前向传播逻辑 - 若节点显示为 `AddBackward` 等操作符,展开模块可查看具体层
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值