神经网络结构常见可视化工具汇总及效果演示

news2025/7/22 10:34:46

文章目录

  • 各种训练框架自带的可视化工具
    • pytorch自带pytorchviz
    • keras自带visualkeras
    • TensorFlow自带TensorBoard
  • 其它画图工具
    • NN-SVG:FCNN style、LeNet style、AlexNet style
    • PlotNeuralNet:使用Latex编写
    • Netron:多种格式的网络模型文件可视化
    • ZETANE:可视化特征图(热力图)
    • Tensorspace.js:浏览器中使用
    • GRAPHCORE:像扫描大脑CT一样可视化神经网络
    • nn_vis:3D交互式
    • PowerPoint
    • ProcessOn:有很多现成的模板
  • 总结

参考视频: 11款神经网络科研绘图可视化工具

各种训练框架自带的可视化工具

pytorch自带pytorchviz

https://github.com/szagoruyko/pytorchviz

import torch
from torch import nn
from torchvision import models
from torchviz import make_dot, make_dot_from_trace

device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
print('device',device)

简易神经网络可视化

##构建模型 
model = nn.Sequential()
model.add_module('w0', nn.Linear(8, 16))
model.add_module('tanh', nn.Tanh())
model.add_module('w1', nn.Linear(16, 1))
##可视化
x = torch.randn(1, 8)
make_dot(model(x), params=dict(model.named_parameters()))

在这里插入图片描述

卷积神经网络可视化

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        
        self.conv_layers = nn.Sequential(
            nn.Conv2d(1, 10, kernel_size=5),#图片的大小:28-5=23
            nn.MaxPool2d(2),#图片的大小:23/2=12
            nn.ReLU(),
            nn.Conv2d(10, 20, kernel_size=5),#图片的大小:12-5=7
            nn.Dropout(),
            nn.MaxPool2d(2),#图片的大小:7/2=4
            nn.ReLU(),
        )
        self.fc_layers = nn.Sequential(
            nn.Linear(320, 50),
            nn.ReLU(),
            nn.Dropout(),
            nn.Linear(50, 10),
            nn.Softmax(dim=1)
        )
    def forward(self, x):
        x = self.conv_layers(x)#1*20*4*4
        x = x.view(-1, 320)#1*320
        x = self.fc_layers(x)#1*10
        return x
    
model = Net()
x = torch.randn(1, 1, 28, 28).to(device)
make_dot(model(x), params=dict(model.named_parameters()))

LSTM可视化

lstm_cell = nn.LSTMCell(128, 128)
x = torch.randn(1, 128)
make_dot(lstm_cell(x), params=dict(lstm_cell.named_parameters()))

对Resnet18进行可视化

model = models.resnet18(pretrained=True)
model = model.eval().to(device)
x = torch.randn(1, 3, 256, 256).to(device)
make_dot(model(x), params=dict(model.named_parameters()))

对自己训练的模型进行可视化

model = torch.load('checkpoints/fruit30_pytorch_20230123.pth')#自己训练的模型
model = model.eval().to(device)
x = torch.randn(1, 3, 256, 256).to(device)
make_dot(model(x), params=dict(model.named_parameters()))

Pytorch模型转ONNX模型

x = torch.randn(1, 3, 256, 256).to(device)

with torch.no_grad():
    torch.onnx.export(
        model,                  # 要转换的模型
        x,                      # 模型的任意一组输入
        'resnet18.onnx',        # 导出的 ONNX 文件名
        opset_version=11,       # ONNX 算子集版本
        input_names=['input'],  # 输入 Tensor 的名称(自己起名字)
        output_names=['output'] # 输出 Tensor 的名称(自己起名字)
    ) 

验证onnx模型导出成功

import onnx

# 读取 ONNX 模型
onnx_model = onnx.load('resnet18.onnx')

# 检查模型格式是否正确
onnx.checker.check_model(onnx_model)

print('无报错,onnx模型载入成功')

keras自带visualkeras

https://github.com/paulgavrikov/visualkeras
在这里插入图片描述

TensorFlow自带TensorBoard

https://towardsdatascience.com/tensorboard-visualizing-learning-ad1b6667585

在这里插入图片描述

其它画图工具

NN-SVG:FCNN style、LeNet style、AlexNet style

http://alexlenail.me/NN-SVG/index.html

在这里插入图片描述

PlotNeuralNet:使用Latex编写

https://github.com/HarisIqbal88/PlotNeuralNet

Netron:多种格式的网络模型文件可视化

https://netron.app/

在这里插入图片描述
在这里插入图片描述

ZETANE:可视化特征图(热力图)

https://zetane.com/

在这里插入图片描述

Tensorspace.js:浏览器中使用

https://tensorspace.org/
在这里插入图片描述
在这里插入图片描述

GRAPHCORE:像扫描大脑CT一样可视化神经网络

把神经网络的当成一个图,对图进行降维和聚类之后的效果
https://www.graphcore.ai/posts/what-does-machine-learning-look-like

在这里插入图片描述

nn_vis:3D交互式

https://github.com/julrog/nn_vis
在这里插入图片描述

PowerPoint

链接:https://pan.baidu.com/s/1Ih6i3bVhwA_wCxmjmCgLhA
提取码:cae2
在这里插入图片描述

ProcessOn:有很多现成的模板

https://www.processon.com/
在这里插入图片描述

总结

本文主要介绍了11个神经网络结构可视化工具和它们的可视化效果展示,包括:

  • pytorch自带pytorchviz
  • keras自带graphviz、visualkeras
  • TensorFlow自带TensorBoard
  • NN-SVG:全连接、LeNet、AlexNet
  • PlotNeuralNet:使用Latex编写
  • Netron:多种格式的网络模型文件可视化
  • ZETANE:可视化特征图(热力图)
  • Tensorspace.js:浏览器中使用
  • GRAPHCORE:类似神经元的炫酷扫描图
  • nn_vis:3D交互式
  • PowerPoint

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/395048.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络的166个概念你知道几个 第九部分

计算机网络网络层 路由选择算法:网络层中决定分组发送路径的一种算法。 转发:它指的是将分组从一个输入链路转移到合适的输出链路的动作。 路由选择:指确定分组从一端发送到另一端所选择路径的处理过程。 三种路由交换技术:内…

对word文档中指定的相同内容/文字加颜色或背景颜色

1.请看一段文章。 2.我们要给文中的“code”换成白色字体,黑色背景如何批量呢? 2.1.先摁下“ctrl”"H" 2.2.选择“查找” 2.3.查找内容框填入“code” 2.4.点击以下项中查找,选择主文档。(如果你要对某一段文章的相…

Docker操作指南

Docker操作指南 概念解释: 镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起供运行启动,称为镜像。 容器(Container):镜像中的应用程序运行后形…

3.7 最大异或对

异或 二进制位同为0,异为1 异或符号 ^ 异或性质: a^a0 a^00 (a^ b ^c) (a^c ^b) 一道异或的题目 最大异或对 题目链接 思路 注重思维方式 首先是暴力想法,使用两重循环,对每两个数字进行取异或运算,得出最大值考虑…

wireshark 着色规则的含义

文章目录前言wireshark 着色规则的含义前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!! wires…

【FATE联邦学习debug】 No module named ‘federatedml‘

直接pip install federatedml是无法找得到这个库的。 这个的原因是环境变量的事情,因为在部署文档中,本身提示我们要更新一些环境变量,如果不export那些变量,下面的fate_test其实也是无法测试成功的。 打开bin/init_env.sh&#x…

活动回顾|龙蜥社区标准化SIG首届MeetUp圆满落幕 《龙蜥社区治理规范》征求意见稿正式发布

2 月 25 日周六,龙蜥社区标准化 SIG 召开首次 MeetUp,会上发布了《龙蜥社区治理规范》征求意见稿,致力于通过标准规范开源社区发展,进而推动操作系统行业的规范发展。(图/现场合照)本次会议共有来自电子标准…

Espressif-IDE v2.8.0 新增功能及开发方向

在乐鑫最近发布的 Espressif-IDE 2.8.0 版本中,我们推出了分区表编辑器和 NVS 分区编辑器功能,优化现有调试器的配置功能并修复多项 Bug ,进一步为用户提升了插件质量以及稳定性。 用户可以点此获取最新版本。 • 若您的设备为 Windows 系统…

Python 插件虚拟环境支持

eKuiper 团队于年前发布了 1.8.0 版本,并在 2 月对该版本的文档进行了完善,同时通过 EMQ Demo Day 直播帮助用户更进一步了解新功能的使用场景。 我们也开始了下一个版本 1.9.0 的开发,该版本将是一个较小的迭代版本,主要目标是实…

矩阵打印问题

文章目录1、题目一:正方形矩阵顺时针转动90度1.1 题目描述1.2 思路分析1.3 代码实现2、题目二:转圈打印长方形矩阵2.1 题目描述2.2 思路分析2.3 代码实现3、题目三:zigzag打印矩阵3.1 题目描述3.2 思路分析3.3 代码实现4、题目四:…

NFS服务器与CGI程序详解

目录 NFS 服务器 一,NFS 服务器简介 二,NFS的使用 三,客户端使用 autofs 自动挂载 1,autofs产生的原因 四,autofs的安装与配置文件 五,autofs的使用 www服务器---cgi程序 CGI程序的应用 NFS 服务器 一&a…

React(六):Redux的使用、react-redux简化代码、redux模块化、RTK的使用

React(六)一、Redux测试项目搭建1.创建store仓库2.创建reducer函数(纯函数)3.constants.js保存action名字4.修改store中的数据5.动态生成action二、React中如何使用redux1.安装redux2.创建store3.组件中订阅store4.派发action修改…

运行Hive

Hive的定义:基于Hadoop的数据仓库解决方案将结构化的数据文件映射为数据库表提供类sql的查询语言HQL (Hive Query Language)Hive让更多的人使用hadoopHive的运行机制Hive 通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的 D…

LinkedIn最好的辅助工具

领英精灵都有什么功能领英精灵是我国技术人员花巨资针对领英平台研发的辅助工具。具有好友分组、备注,一键批量加好友,批量撤回邀请,批量群发消息,批量导出好友资料,批量点赞六大功能。通过领英精灵可大大提高领英开发…

自建服务器系列- DDNS配置

1、环境说明 光猫桥接路由器拔号的模式 2、DDNS是什么 对于DHCP方式获得的IP,无论对于局域网内来说,还是外网来说,都会有使得IP地址每隔一段时间变化一次,如果想要通过恒定不变的地址访问主机,就需要动态域名解析。…

凝聚共识,锚定未来 | 第四届OpenI/O 启智开发者大会NLP大模型论坛成功举办!

2023年2月24日下午,第四届OpenI/O启智开发者大会NLP大模型分论坛在深圳人才研修院隆重举办。该论坛以“开源集智创新探索中文NLP大模型生态发展”为主题,众多业内人士和研发者在此共享NLP领域的前沿动态和研发经验,畅想中国NLP领域的发展前景…

RocketMQ 5.0 学习笔记

1. 需求 背景:业务需要,平台将使用rocketMQ来实现消息的发送与消费,替代redis的消息功能。 需要在搭建好rocketMQ平台后,进行研究和验证。 技术:Springboot RocketMQ5.0 使用场景:签到活动&#xff0c…

DBCO intermidate 3,二苯并环辛炔-四乙酰甘露糖胺一种生化小分子糖标记

DBCO-四乙酰甘露糖胺 ,二苯并环辛炔-四乙酰甘露糖胺 | 纯度:95% | DBCO intermidate 31.试剂信息:CAS:N/A外观:固体/粉末分子量:C33H34N2O11分子式:634.64溶解性:溶于有机溶剂&#…

Unity项目优化方案2023

每年整个新活,每年出个手游项目。又到了项目收尾的季节,也是最掉头发的时候。这两周开启漫漫的优化之路。老方法,先按住Ctrl7,打开profiler性能分析工具,找到性能占用的大头。不用看也能猜到,Batches是优化…

JavaEE简单示例——MyBatis的二级缓存机制

简单介绍: 在之前,我们介绍了关于MyBatis的一级缓存机制,之前我们说过,一级缓存是基于SqlSession的对同一条SQL语句多次查询的时候,会将第一次查询的结果缓存到内存中,之后的所有的相同的查询会直接从内存…