【杂谈】一招,同时可视化18个开源框架的网络模型结构和权重

unity | 动画模块之滚动选项框 动画模块之滚动选项框 阅读详情

深度学习开源框架众多,对于开发者来说其中有一个很硬的需求,就是模型结构和权重的可视化。使用过Caffe的同学都因为强大的Netscope可以离线修改实时可视化网络结构而暗爽,那其他的框架怎么样呢?


今天给大家介绍一个可以离线可视化各大深度学习开源框架模型结构和权重的项目,netron。

作者&编辑 | 言有三

1 项目介绍

项目开发者Lutz Roeder,一位来自于微软Visual Studio团队的小哥,按照他自己的介绍,就是在家搞点AI tools玩玩。

640?wx_fmt=jpeg

这是过去一年的contributions,基本就没有停过,这是真正硬核的开源贡献者呀,个人主页https://www.lutzroeder.com/ai,有兴趣可以去瞧瞧。

640?wx_fmt=png

Netron是他开源的深度学习模型可视化工具,项目地址为:

640?wx_fmt=png

https://github.com/lutzroeder/netron

目前支持哪些框架呢?

  • ONNX (.onnx, .pb, .pbtxt)

  • Keras (.h5, .keras)

  • Core ML (.mlmodel)

  • Caffe (.caffemodel, .prototxt)

  • Caffe2 (predict_net.pb, predict_net.pbtxt)

  • MXNet (.model, -symbol.json)

  • TorchScript (.pt, .pth)

  • NCNN (.param)

  • TensorFlow Lite (.tflite)

  • PyTorch (.pt, .pth)

  • Torch (.t7)

  • CNTK (.model, .cntk)

  • Deeplearning4j(.zip)

  • PaddlePaddle (.zip, __model__)

  • Darknet (.cfg)

  • scikit-learn (.pkl)

  • TensorFlow.js (model.json, .pb)

  • TensorFlow (.pb, .meta, .pbtxt).

共18个框架,除了chainer,matconvnet等框架基本上把数得上名字的框架一网打尽,下面是ONNX的可视化界面,很visual studio的感觉。

640?wx_fmt=png

另一方面,小哥哥也是非常的贴心,提供了各大平台的安装包!macOS的.dmg,Linux的.deb,Windows的.exe,还有浏览器版本,Python服务器版本,真是good man,小白们再也不用担心环境配置问题。

2 可视化实验

下面我们就来尝试几个框架的可视化结果,首先要祭出有三AI开源的12大深度学习开源框架的项目,从模型和数据接口定义,到训练测试可视化,提供了全套代码,地址如下:

https://github.com/longpeng2008/yousan.ai

具体的教程大家可以跳转阅读原文。

640?wx_fmt=jpeg

这12个框架我们都使用一个3层的卷积模型来完成一个图像分类问题,下面挑选其中几个常用的来体验可视化效果。

2.1 Caffe

Caffe模型可视化的输入可以是prototxt文件和caffemodel文件。下面首先分别可视化训练网络和测试网络train.prototxt和deploy.prototxt,结果如下:

640?wx_fmt=jpeg

比起Netscope,是不是效果也不遑多让。如果想要查看某一个网络层的细节,就可以点击该网络层,结果如下,所有网络配置参数细节皆可见,完美!

640?wx_fmt=png

这就是全部了吗?当然不,你还可以直接载入.caffemodel权重文件,直接查看每一个网络层的权重!


老司机们可以从中简单统计权重的分布,还可以一键导出参数为npy文件,看到那个保存小按钮没有,这就是细节,不得不再次给小哥哥点赞???

640?wx_fmt=png

2.2 keras

keras的可视化输入是json格式的模型文件,可以通过model.to_json()将模型存储下来,然后载入.json文件。

640?wx_fmt=png

如果想查看权重,就载入.h5文件,结果如下,虽然没有caffe的那么漂亮,也是很直观的,不过权重参数矩阵顺序不太一样。

640?wx_fmt=png

2.3 tensorflow

要想可视化tensorflow的模型结构,就必须将模型存储为pb格式,这样就能同时保存网络结构和参数了,结果如下。

640?wx_fmt=png

2.4 pytorch

pytorch的网络结构可视化不支持,不过可以像keras一样查看pt权重文件。如果想可视化网络结构,可以使用yousan.ai项目中pytorch目录下的visualize.py脚本。

640?wx_fmt=png

2.5 Mxnet

Mxnet通过symbol接口定义网络,网络结构一般存在后缀为symbol.json的文件中,因此载入该文件即可进行可视化。权重的可视化原理类似,就不做赘述。

640?wx_fmt=png

2.6 Darknet

DarkNet的网络结构定义在cfg文件中,载入该cfg文件即可进行可视化。

640?wx_fmt=png

其他开源框架的案例,大家可以去下载我们的开源框架项目进行尝试,感谢小哥作出的贡献!

640?wx_fmt=png

另外再安利一下我们之前的讲述如何绘制更好看的网络结构的文章,一起享用,保证更香。

640?wx_fmt=png

总结

平时多留意一些好的工具,可以大大提升我们的学习效率,养成好的学习习惯,欢迎大家给我们推荐好的工具,在有三AI知识星球社区也可以一起分享。

640?wx_fmt=jpeg

有三AI夏季划

640?wx_fmt=png

有三AI夏季划进行中,欢迎了解并加入,系统性成长为中级CV算法工程师。

转载文章请后台联系

侵权必究

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

往期精选

网络变压器等效电路及网络变压器中间抽头作用详解        华强盛电子导读:要详细了解网络变压器周边EMC管控及网络变压器BOB-SMITH电路的连接原理,首先我们对网络变压器的认识及其电路各参数影响都要有个简要的认识,本文,对非理想网络变压器等效电路做一个详细的分析,其中重点讨论一下网络变压器中间抽头的作用其影响                          网络变压器等效电路及                        ... 阅读详情

相关推荐

保姆级教程:在华为云Ubuntu服务器上快速搭建RAGflow开发环境(避坑指南)

本文提供了一份在华为云Ubuntu服务器上快速搭建RAGflow开发环境的保姆级教程。针对网络拉取镜像等常见问题,详细介绍了从服务器选型、系统优化、Docker配置到RAGflow部署与验证的全流程,并给出生产环境调优建议,帮助开发者高效避坑,快速构建企业级应用环境。

weixin_29250403的博客 87

【caffe-matlab】权重以及特征图的可视化

前言 移植了各种caffe,是时候进行下一步操作了,先拿可视化下手吧。大部分内容可能跟网上的方法不一样,大家看完我的博客最好去网上看看大牛们的博客,万一被我误导了,就罪过了o(╯□╰)o,开更............. 环境:微软caffe+wind7+matlab2013a 参考:http://caffe.berkeleyvision.org/tutorial/interfaces.htm

风翼冰舟的博客 2万+

Mission Planner连接Autopilot保姆级教程:从USB到无线全搞定

本文提供Mission Planner连接Autopilot的全面指南,涵盖USB直连、无线数传、蓝牙适配等多种连接方案。详细讲解驱动安装、波特率匹配、性能优化等关键步骤,并分享多链路冗余配置与故障转移的高阶技巧,助你快速解决连接问题。

weixin_28455801的博客 380

从数据指标到可视化看板-指标体系建设

关注我,持续更新从数据指标到可视化看板系列。全面学习数据指标建设,业务/数据分析/运营分析推荐GrowingIO电子书《指标体系与数据采集》,数据开发人员推荐构建与优化数据仓库 (aliyun.com)。获取GrowingIO电子书《指标体系与数据采集》,请关注gzh“大数据食铁兽”,回复“指标”。

大数据食铁兽的专栏 2138

Unity URP 深度解析:利用Stencil与RenderFeature实现高效遮挡高亮

本文深入解析Unity URP中利用Stencil与RenderFeature实现高效遮挡高亮的技术方案。通过模板缓冲机制和自定义RenderFeature,开发者可以在保持场景完整性的同时,清晰标识被遮挡物体位置,提升游戏体验。文章详细介绍了Shader编写、URP管线配置及性能优化技巧,并提供了常见问题排查方法。

weixin_29012677的博客 480

Ubuntu 22.04 局域网安装GitLab

下面直接给你一份。

u013250861的博客 671

Wandb——Pytorch模型指标可视化及超参搜索

Wandb——Pytorch模型指标可视化及超参搜索 文章目录Wandb——Pytorch模型指标可视化及超参搜索前言一、wandb是什么?二、可视化模型参数1.伪代码2.官方示例>> step0:>> step1:>>>>>>>>>>>>> 中场休息梳理后续代码结构<<<<<<<<<<<<>> step2:>>

weixin_42686816的博客 1万+

黑猫带你学eMMC协议第14篇:eMMC FFU详解(Field Firmware Update)

1 前言 1.1 声明 本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 内容提要 1、ffu相关寄存器有哪些? 2、如何设置ffu? 3、什么是ffu?是否能够更新旧版本的固件到emmc? 4、ffu配置流程图。 2 什么是FFU 主机下载新的固件到eMMC,下载成功后eMMC将固件安装到设备。 3 相关寄存器/命令 SUPPORTED_MODES [493] FFU_FEATURES [492] 该

黑猫奥利奥的博客 4660

面板数据进行熵值法

面板数据进行熵值法,与普通数据进行熵值法类似。首先需要统一数据方向,对正向指标进行正向化处理、逆向指标进行逆向化出理。如果数据单位不一致,需要消除量纲的影响,进行数据标准化处理。但是数据经量纲处理后,很可能出现负值,熵值法计算过程中包括取对数的操作,所以需要对数据进行非负平移,以确保分析结果能顺利得出。面板数据进行熵值法有两种方法可以选择,分别是“一次法”和“多次法”。一次法不考虑是否面板数据,与普通数据一样做一次分析即可;多次法按年份分析,分别求出每一年指标的权重,然后取平均值。

m0_37228052的博客 2942

【C++】开源:cpp-httplib HTTP协议库配置与使用

cpp-httplib HTTP协议库配置与使用

DevFrank的博客 5542

PointNet++改进策略 :模块改进 | x-Conv | PointCNN, 结合局部结构与全局排列提升模型性能

这篇论文介绍了一种名为PointCNN的方法,旨在从点云(point cloud)数据中学习特征。传统卷积神经网络(CNN)在处理规则网格数据(如图像)时非常有效,但由于点云是无序且不规则的,直接在其上应用卷积操作会导致形状信息丢失,并对点的排列顺序敏感。为了解决这一问题,论文提出了一种X-Conv操作。该方法通过学习一种来重新排列点云中的点并加权输入特征。然后,将典型的卷积操作应用于转换后的特征。这种方法将传统的 CNN 扩展到点云特征学习,并命名为PointCNN。

u012901740的博客 2300

实例讨论数据可视化的配色思路

引子 有一数据集如下: 数据解读: 研究对象的目标层 A 分为 B1, B2, B3 三个准则层; B1 层下有 C1, C2, C3, C4 4个指标; B2 层下只有 C5 一个指标; B3 层有 C6, C7, C8 3个指标。 指标权重是该指标在所属准则层的权重; 组合权重是该指标在目标层的权重。 现在,要绘制上述数据的“组合权重”的饼图。如何给这个饼图配色呢? 数据可视化配色的误区 下图是群友绘制的图: 他自己对结果不满意,他认为是颜色搭配太丑。 我们来看看,他的配色问题出在哪: 颜色太

Python草堂的博客 1037

逆向分析顶象5代各类验证码类型的图片还原方法(附源码)

6.刷新滑块验证码图片,会进入之前的for循环断点,分析此处的代码会发现,该循环循环了处理了n字符串的值,取出n字符中的值并使用charCodeAt生成Unicode 编码,然后又调用了a函数,如果a函数返回true就会把之前生成的Unicode编码+1,a函数参数分别是c数组和Unicode取余32后的值,然后再把Unicode取余32后的值push进c数组,这里的n值为滑块碎片背景图的name。2.搜索"ranges":,会找到ranges赋值的地方,在此处代码断点,并点击跳过断点,结束此次调试。

老衲爱洗头的博客 1198

pb界面框架开发_【杂谈】一招,同时可视化18个开源框架的网络模型结构和权重...

深度学习开源框架众多,对于开发者来说其中有一个很硬的需求,就是模型结构和权重的可视化。使用过Caffe的同学都因为强大的Netscope可以离线修改实时可视化网络结构而暗爽,那其他的框架怎么样呢?今天给大家介绍一个可以离线可视化各大深度学习开源框架模型结构和权重的项目,netron。作者&编辑 | 言有三1 项目介绍项目开发者Lutz Roeder,一位来自于微软Visual Studio...

weixin_39970689的博客 533

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

darknet框架 VS2017 平台工具集141_【杂谈】一招,同时可视化18个开源框架的网络模型结构和权重...

深度学习开源框架众多,对于开发者来说其中有一个很硬的需求,就是模型结构和权重的可视化。使用过Caffe的同学都因为强大的Netscope可以离线修改实时可视化网络结构而暗爽,那其他的框架怎么样呢?今天给大家介绍一个可以离线可视化各大深度学习开源框架模型结构和权重的项目,netron。作者&编辑 | 言有三 1 项目介绍项目开发者Lutz Roeder,一位来自于微软Visual...

weixin_39840111的博客 243

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【杂谈】超过12个,150页深度学习开源框架指导手册与GitHub项目,初学CV你值得拥有...

之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息。开源框架背景现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的...

hacker_long的专栏 427

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【杂谈】面向新手的深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...

之前我们公众号输出了很多深度学习开源框架相关的内容,现在整理成技术手册给大家分享以方便阅读,下面是详细信息。开源框架背景现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的...

hacker_long的专栏 495

darknet框架_【杂谈】面向新手的深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...

之前我们公众号输出了很多深度学习开源框架相关的内容,现在整理成技术手册给大家分享以方便阅读,下面是详细信息。开源框架背景现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caffe,tensorflow,pytorch/caffe2,keras,mxnet,paddldpaddle,theano,cntk,deeplearning4j,matconvnet等。如何选择...

weixin_39634438的博客 123

darknet框架_【杂谈】超过12个,150页深度学习开源框架指导手册与GitHub项目,初学CV你值得拥有...

之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息。开源框架背景现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caffe,tensorflow,pytorch/caffe2,keras,mxnet,paddldpaddle,theano,cntk,deeplearning4j,matconvnet等。如何选择...

weixin_39745269的博客 92

darknet框架_【通知】有三AI发布150页深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...

之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息。开源框架背景现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caffe,tensorflow,pytorch/caffe2,keras,mxnet,paddldpaddle,theano,cntk,deeplearning4j,matconvnet等。如何选择...

weixin_39780962的博客 88

【通知】有三AI发布150页深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...

之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息。开源框架背景现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的...

hacker_long的专栏 697

【总结】有三AI所有原创模型分析设计优化与部署相关的学习资料汇总(2022年12月)...

好的模型结构是深度学习成功的关键因素之一,不仅是非常重要的学术研究方向,在工业界实践中也是模型是否能上线的关键。对各类底层深度学习模型设计和优化技术理解的深度是决定我们能否在深度学习项目中游刃有余的关键,而模型的部署则是项目的最后一环。为了让大家能够系统性掌握相关内容,为以后做研究以及就业打下基础,我们平台输出了海量与模型有关的内容,包括公众号文章,书籍,以及4门对应的视频课程,本次来汇总一下相关...

hacker_long的专栏 599

新手如何使用有三AI系统性跟读AI领域的论文

文/编辑 | 言有三不管是从事AI领域的研究还是开发,读论文总是免不了的,那么新手如何阅读相关的论文呢,下面来介绍一下有三AI的《每周读论文板块》。1 每周读论文板块是啥...

hacker_long的专栏 686

查看pth权重模型参数

print(net)

weixin_44883789的博客 1813

权重pt文件pth文件如何查看?

对于在深度学习过程中,模型生成的权重文件是没办法直接打开的,这里展示利用代码来读取网络层和相关参数。

yokon的博客 3422

可视化指标计算公式_技巧|1个小思路,解决不同量级间指标的可视化问题

大家好,我是胖斯基每逢阶段性汇报的时候,常常会遇到这样一种情况,几种核心指标都需要一起呈现,但是其量级不同,往往某些指标时由其他指标计算出来的,成百分比来显示,比如:收入、成本、毛利率间数据量级差异比较大可以明显看出,不同项目的营业收入就存在一个量级上的差异。同时,毛利率[(营业收入-营业成本)/(营业收入)]计算出来的是一个比率,更加不在一个量级上,如果传统制表,你可能会做出这样:受大量级的数据...

weixin_31281613的博客 885
上一篇: 【NLP】GPT:第一个引入Transformer的预训练模型
下一篇: 【GAN优化】从动力学视角看GAN是一种什么感觉?
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值