那些酷炫的深度学习网络图怎么画出来的?

2019 年 4 月 12 日 计算机视觉life

 点“计算机视觉life”关注,置顶更快接收消息!


本文作者言有三,个人公众号“有三AI”,计算机视觉life获其授权转载

原文地址:https://zhuanlan.zhihu.com/p/60146525

本文我们聊聊如何才能画出炫酷高大上的神经网络图,下面是常用的几种工具。

1. NN-SVG

这个工具可以非常方便的画出各种类型的图,是下面这位小哥哥开发的,来自于麻省理工学院弗兰克尔生物工程实验室, 该实验室开发可视化和机器学习工具用于分析生物数据。

github地址:https://github.com/zfrenchee

画图工具体验地址:http://alexlenail.me/NN-SVG/

可以绘制的图包括以节点形式展示的 FCNN style,这个特别适合传统的全连接神经网络的绘制。

以平铺网络结构展示的 LeNet style,用二维的方式,适合查看每一层 featuremap 的大小和通道数目。

以三维 block 形式展现的 AlexNet style,可以更加真实地展示卷积过程中高维数据的尺度的变化,目前只支持卷积层和全连接层。

这个工具可以导出非常高清的 SVG 图,值得体验。

2. PlotNeuralNet

这个工具是萨尔大学计算机科学专业的一个学生开发的,一看就像计算机学院的嘛。

首先我们看看效果,其github链接如下,将近 4000 star:

https://github.com/HarisIqbal88/PlotNeuralNet

看看人家这个 fcn-8 的可视化图,颜值奇高。


使用的门槛相对来说就高一些了,用 LaTex 语言编辑,所以可以发挥的空间就大了,你看下面这个 softmax 层,这就是会写代码的优势了。


其中的一部分代码是这样的,会写吗。

\pic[shift={(0,0,0)}] at (0,0,0) {Box={name=crp1,caption=SoftmaxLoss: $E_\mathcal{S}$ ,%

fill={rgb:blue,1.5;red,3.5;green,3.5;white,5},opacity=0.5,height=20,width=7,depth=20}};

相似的工具还有:https://github.com/jettan/tikz_cnn

3. ConvNetDraw

ConvNetDraw 是一个使用配置命令的 CNN 神经网络画图工具,开发者是香港的一位程序员,Cédric cbovar。

采用如下的语法直接配置网络,可以简单调整 x,y,z 等 3 个维度,github 链接如下:

https://cbovar.github.io/ConvNetDraw/

使用方法如上图所示,只需输入模型结构中各层的参数配置。

挺好用的。不过它目标分辨率太低了,放大之后不清晰,达不到印刷的需求。

4. Draw_Convnet

这一个工具名叫 draw_convnet,由 Borealis 公司的员工 Gavin Weiguang Ding 提供。

简单直接,是纯用 python 代码画图的,

https://github.com/gwding/draw_convnet

看看画的图如下,核心工具是 matplotlib,图不酷炫,但是好在规规矩矩,可以严格控制,论文用挺合适的。

类似的工具还有:https://github.com/yu4u/convnet-drawer

5. Netscope

下面要说的是这个,我最常用的,caffe 的网络结构可视化工具,大名鼎鼎的 netscope,由斯坦福 AI Lab 的 Saumitro Dasgupta 开发,找不到照片就不放了,地址如下:

https://github.com/ethereon/netscope

左边放配置文件,右边出图,非常方便进行网络参数的调整和可视化。这种方式好就好在各个网络层之间的连接非常的方便。

其他

再分享一个有意思的,不是画什么正经图,但是把权重都画出来了。

http://scs.ryerson.ca/~aharley/vis/conv/

看了这么多,有人已经在偷偷笑了,上 PPT 呀,想要什么有什么,想怎么画就怎么画。

不过妹子呢?怎么不来开发一个粉色系的可视化工具呢?类似于这样的

那么,你都用什么画呢?欢迎留言分享一下!

推荐阅读

CVPR2019 | Decoders 对于语义分割的重要性
CVPR2019 | R-MVSNet: 一个高精度高效率的三维重建网络
CVPR2019 | SiamMask:视频跟踪最高精度
CVPR 2019 | 用异构卷积训练深度CNN:提升效率而不损准确度
CVPR 2019 | 人大 ML 研究组提出新的视频测谎算法
CVPR2019 | 医学影像:MIT 利用学习图像变换进行数据增强
CVPR 2019 | GeoNet:基于测地距离的点云分析深度网络
CVPR2019 | 中科大&微软开源:姿态估计新模型HRNet
CVPR 2019 | 京东提出 ScratchDet:随机初始化训练SSD目标检测器
CVPR 2019 | 微软亚研院提出用于语义分割的结构化知识蒸馏

最近三年开源「语义SLAM/分割/建模」方案介绍

超详细干货 | 三维语义分割概述及总结

原来CNN是这样提取图像特征的。。。

机器学习必学十大算法

语义分割如何「拉关系」?

YOLO简史

这可能是「多模态机器学习」最通俗易懂的介绍

算力限制场景下的目标检测实战浅谈

开源 | 用深度学习让你的照片变得美丽

面试时让你手推公式不在害怕 | 线性回归

面试时让你手推公式不在害怕 | 梯度下降

深度学习在计算机视觉各项任务中的应用

干货 | 深入理解深度学习中的激活函数

何恺明组又出神作!最新论文提出全景分割新方法



关注:计算机视觉life,一起探索计算机视觉新世界~


觉得有用,给个好看啦~  

登录查看更多
5

相关内容

[ICML-Google]先宽后窄:对深度薄网络的有效训练
专知会员服务
33+阅读 · 2020年7月5日
还在修改博士论文?这份《博士论文写作技巧》为你指南
模型压缩究竟在做什么?我们真的需要模型压缩么?
专知会员服务
27+阅读 · 2020年1月16日
【NeurIPS2019】图变换网络:Graph Transformer Network
专知会员服务
110+阅读 · 2019年11月25日
深度学习算法与架构回顾
专知会员服务
77+阅读 · 2019年10月20日
小于1MB的行人检测网络
极市平台
8+阅读 · 2019年9月23日
网络宽度对深度学习模型性能有什么影响?
极市平台
15+阅读 · 2019年7月7日
卷积神经网络四种卷积类型
炼数成金订阅号
18+阅读 · 2019年4月16日
怎么画高大上的神经网络结构?试试这个!
Python数据可视化2018:为什么这么多的库?
Python程序员
4+阅读 · 2019年1月2日
论文落地 101:算法工程化的那些坑
PaperWeekly
13+阅读 · 2018年11月3日
深度学习面试100题(第71-75题)
七月在线实验室
5+阅读 · 2018年8月2日
[学习] 这些深度学习网络训练技巧,你了解吗?
菜鸟的机器学习
7+阅读 · 2017年7月29日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Visualizing and Measuring the Geometry of BERT
Arxiv
7+阅读 · 2019年10月28日
Seeing What a GAN Cannot Generate
Arxiv
7+阅读 · 2019年10月24日
Arxiv
3+阅读 · 2019年3月15日
Deep Graph Infomax
Arxiv
16+阅读 · 2018年12月21日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
5+阅读 · 2016年10月24日
VIP会员
相关VIP内容
[ICML-Google]先宽后窄:对深度薄网络的有效训练
专知会员服务
33+阅读 · 2020年7月5日
还在修改博士论文?这份《博士论文写作技巧》为你指南
模型压缩究竟在做什么?我们真的需要模型压缩么?
专知会员服务
27+阅读 · 2020年1月16日
【NeurIPS2019】图变换网络:Graph Transformer Network
专知会员服务
110+阅读 · 2019年11月25日
深度学习算法与架构回顾
专知会员服务
77+阅读 · 2019年10月20日
相关资讯
小于1MB的行人检测网络
极市平台
8+阅读 · 2019年9月23日
网络宽度对深度学习模型性能有什么影响?
极市平台
15+阅读 · 2019年7月7日
卷积神经网络四种卷积类型
炼数成金订阅号
18+阅读 · 2019年4月16日
怎么画高大上的神经网络结构?试试这个!
Python数据可视化2018:为什么这么多的库?
Python程序员
4+阅读 · 2019年1月2日
论文落地 101:算法工程化的那些坑
PaperWeekly
13+阅读 · 2018年11月3日
深度学习面试100题(第71-75题)
七月在线实验室
5+阅读 · 2018年8月2日
[学习] 这些深度学习网络训练技巧,你了解吗?
菜鸟的机器学习
7+阅读 · 2017年7月29日
相关论文
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
Visualizing and Measuring the Geometry of BERT
Arxiv
7+阅读 · 2019年10月28日
Seeing What a GAN Cannot Generate
Arxiv
7+阅读 · 2019年10月24日
Arxiv
3+阅读 · 2019年3月15日
Deep Graph Infomax
Arxiv
16+阅读 · 2018年12月21日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
5+阅读 · 2016年10月24日
Top
微信扫码咨询专知VIP会员