使用Tensorboard可视化网络结构(基于pytorch)

前言

我们在搭建网络模型的时候,通常希望可以对自己搭建好的网络模型有一个比较好的直观感受,从而更好地了解网络模型的结构,Tensorboard工具的使用就给我们提供了方便的途径

Tensorboard概况

Tensorboard是由Google公司开源的一款可视化工具,是TensorFlow的一个附属组件,但在pytorch项目中也可以使用。

它有以下主要功能:

  • 可视化网络模型:您可以直观地了解模型的结构,包括层的堆栈方式,激活函数等。
  • 记录和绘制训练过程中各项指标的变化,例如loss曲线、准确率曲线等。
  • 可视化特征空间和高维度数据。
  • 可视化梯度、权重乃至激活函数输出分布等等。

这篇博客主要介绍Tensorboard可视化网络模型的功能

代码实现

我们搭建一个简单的神经网络,依赖的库环境

import torch
import torch.nn as nn
import torch.nn.functional as F

from torch.utils.tensorboard import SummaryWriter

搭建网络模型

class Net(nn.Module):
    def __init__(self,input_dim,layer1_dim,layer2_dim,output_dim):  
        super(Net,self).__init__()
        self.flatten = nn.Flatten() 
        self.layer1 = nn.Sequential(nn.Linear(input_dim,layer1_dim),nn.ReLU())
        self.layer2 = nn.Sequential(nn.Linear(layer1_dim,layer2_dim),nn.ReLU())
        self.out = nn.Sequential(nn.Linear(layer2_dim,output_dim),nn.Softmax(dim=-1))

    def forward(self,x):
        x = self.flatten(x)
        x = self.layer1(x)
        x = self.layer2(x)
        x = self.out(x)
        return x

# 初始化网络中的值
input_dim,layer1_dim,layer2_dim,output_dim=32*32,512,128,10
model = Net(input_dim,layer1_dim,layer2_dim,output_dim)

网络由三层全连接层组成,输入的数据形状为32\times 32

# 定义输入模型的数据,1表示批次,这里可以忽略
input_data = torch.rand(1,32,32)

# 模型输出的数据
output_data = model(input_data)

接下俩就是使用SummaryWriter创建日志保存搭建好的网络模型

with SummaryWriter(log_dir=r"D:\CSDN_point\12_22\logs", comment="Net") as w:
    w.add_graph(model, input_data)

log_dir参数就是日志文件的本地保存路径,comment就是日志的备注,add_graph()传入网络模型和输入数据,运行后就会在指定路径上生成对应的文件,打开log文件所在的文件位置,在顶部路径上输入cmd,打开命令行窗口

在命令行窗口输入

tensorboard --logdir logs

复制返回的网址在浏览器打开,就可以得到对应的网络可视化结果了

欢迎大家讨论交流~


相关推荐

  1. TensorBoard+Confustion Matrix Drawing

    2024-01-04 10:36:05       16 阅读
  2. pytorchTensorBoard使用

    2024-01-04 10:36:05       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-04 10:36:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-04 10:36:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-04 10:36:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-04 10:36:05       20 阅读

热门阅读

  1. 客户投诉处理常用的ChatGPT通用提示词模板

    2024-01-04 10:36:05       48 阅读
  2. python 27例子(持续更新)

    2024-01-04 10:36:05       38 阅读
  3. 计算机网络期末复习题(一)

    2024-01-04 10:36:05       32 阅读
  4. Vue 3 中的 watch 函数:实战指南

    2024-01-04 10:36:05       29 阅读
  5. 阿里云服务器Alibaba Cloud Linux 3镜像版本大全说明

    2024-01-04 10:36:05       37 阅读
  6. 第四篇 行为型设计模式 - 灵活定义对象间交互

    2024-01-04 10:36:05       37 阅读
  7. 【Manacher】LeetCode-5. 最长回文子串

    2024-01-04 10:36:05       35 阅读
  8. XAML转换器

    2024-01-04 10:36:05       25 阅读
  9. 每期一个小窍门: 重置kafka 消费者的偏移量

    2024-01-04 10:36:05       33 阅读