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

leiphone.com2019-04-02

雷锋网 AI 科技评论按,本文作者言有三,个人公众号“有三AI”,原文地址:https://zhuanlan.zhihu.com/p/60146525。雷锋网(公众号:雷锋网)AI 科技评论获其授权转载。正文内容如下:

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

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 呀,想要什么有什么,想怎么画就怎么画。

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

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

雷锋网版权文章,未经授权禁止转载。详情见转载须知。

转载于:https://www.cnblogs.com/graybird/p/10653159.html

杂谈 | 那些酷炫的深度学习网络图怎么画出来的?相关推荐

  1. 【必须收藏】那些酷炫的深度学习网络图怎么画出来的?

    本文我们聊聊如何才能画出炫酷高大上的神经网络图,下面是常用的几种工具. 作者&编辑 | 言有三 1 NN-SVG 这个工具可以非常方便的画出各种类型的图,是下面这位小哥哥开发的,来自于麻省理工 ...

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

    本文我们聊聊如何才能画出炫酷高大上的神经网络图,下面是常用的几种工具. 作者&编辑 | 言有三 1 NN-SVG 这个工具可以非常方便的画出各种类型的图,是下面这位小哥哥开发的,来自于麻省理工 ...

  3. 酷炫的深度学习网络图怎么绘制出来的?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文我们聊聊如何才能画出炫酷高大上的神经网络图,下面是常用的几种工 ...

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

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

  5. ppt画深度学习网络图

    最近开始写论文,像这样酷炫的深度学习网络图是咋画的?看了网上的一些方案,基本都是比较小众的软件,学起来比较麻烦,最后发现还是ppt好使. 1.插入正方体形状 2.调整成方片 拉动黄色点和角点,多试试, ...

  6. ppt画深度学习网络图-立体网络模块

    参考文章:ppt画深度学习网络图-a better world 一.制作立方体 1.[插入]➡[形状]➡正方体 2.调整黄色与白色的点得到想要的长宽高

  7. 使用PlotNeuralNet绘制深度学习网络图

    PlotNeuralNet源代码链接:https://github.com/HarisIqbal88/PlotNeuralNet 网上找了很多画深度学习网络图的方法,发现这个PlotNeuralNet ...

  8. 【杂谈】新手如何掌握深度学习模型?赠书2本,星球券10张

    对深度学习模型的理解贯穿整个项目的研发周期,目前模型的发展也从精度优先到速度优先,从结构优化到平台,系统优化,开始关注安全性,可拓展性等问题,那么如何系统性地掌握这些知识呢?下面汇总我们公众号的相关资 ...

  9. 【杂谈】万字长文回顾深度学习的崛起背景,近10年在各行各业中的典型应用

    笔者作为一个从业5年多的技术人员,吃到了深度学习的早期红利,这次来聊一聊深度学习的崛起背景.当下的典型应用领域,算作给尚未或者正打算拥抱这门技术的朋友们一个较为全面的科普. 深度学习为什么能够崛起 一 ...

最新文章

  1. Selenium之XPATH轴定位(第三篇)
  2. MySQL、Oracle、SQL Server
  3. 最佳5本Java性能调优书籍–精选,必读
  4. java 中文 编译_java编译带中文是显示乱码的错误
  5. 使用nodejs和art-template模板引擎实现apache的部分功能
  6. 文档丨Oracle 20c 概念手册
  7. 复杂性思维第二版 二、图
  8. Android现学现用第十一天
  9. floyd算法_常用十大算法(九)— 弗洛伊德算法
  10. cdr怎么做文字路径_抖音短视频中边说过边出现文字的是怎么做的?教程如下
  11. cantor数表 and nyoj85有趣的数
  12. [网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
  13. Windows11下Edge浏览器登录工行农行并使用K宝U盾
  14. 直角三角公式计算机,直角三角形中的一些常用公式.
  15. express静态文件
  16. c语言windows.h头文件详解
  17. python配置cgi_Python+Apache+CGI完全配置
  18. Python判断变量的数据类型
  19. Linux环境释放内存
  20. HDU 1239 Calling Extraterrestrial Intelligence Again

热门文章

  1. mongoDB启动时使用配置文件
  2. 触控爱普众创:独立游戏或将成逆袭利器
  3. numpy矩阵乘法中的multiply,matmul和dot
  4. vue实现分享功能,百度分享,需要刷新页面才显示的问题
  5. js点击事件 获取父级元素的时候报错 ( Property ‘parentElement‘ does not exist on type ‘EventTarget‘)
  6. 小议甲骨文收购sun
  7. npm升级导致npm报错
  8. java map初始化并赋值
  9. 车联网系统到底会不会是“另一个”智能手机系统?
  10. Catia 螺栓设计