Py学习  »  机器学习算法

如何绘制深度学习算法概念模型图?

happy科研 • 2 年前 • 233 次点击  

前些年,当我们开始使用人工智能算法, 尤其是深度学习算法来进行实况融合或者是气象要素预报的时候,涉及到这些深度学习算法概念模型的可视化展示,我们经常利用截图大法(从别人的论文里面截图),或者用PPT的做流程图功能(复现别人论文里的截图)来糊弄,就像这种的:



但是,近年来,随着我们对深度学习算法应用的不断深入,各种网络的复杂性也在增加,尤其是当我们对网络细节做了一些改进的时候,难免需要绘制网络中某个更加细节的部分,来展示我们算法的亮点。那么,这种情况,无论是截图(没有现成的文章可以截),还是PPT(流程太复杂,难以绘制),都无法满足我们的模型可视化要求了。

那直接不画模型,就用语言解释一下行不行呢?肯定不行啊!毕竟,老板or审稿人or领导or甲方or others,都会明确表示,你写的这一大堆模型设计的描述类语言,都不如一张图片来的直观(好懂)!


那总不能手绘吧,灵魂画手又要出动了吗


讲真,手绘duck不必,我们现在可以通过在线工具NN-SVG来绘制


具体网址如下:


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


这是麻省理工学院弗兰克尔生物工程实验室开发的,可以用来绘制以节点形式展示的FCNN、以平铺网络结构展示的LetNet,以及以三维形式展现的AlexNet,可谓是从点到面再到块,基本实现了神经网络的全部细节绘制。


在该网页绘制深度学习模型图时,可以根据模型的实际情况,在左侧这些项目中选择相应的参数,右侧的绘图区间就会根据参数的变化进行实时绘图:





而且,这些图片还可以导出为高清度的svg图片(网页左上角的“Download SVG”链接),用于论文写作或者PPT制作,真是炒鸡棒!


除了这个方法,之前我也看到过一个丑丑的在线绘制工具,专门用来绘制CNN网络结构的,具体网址如下:


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


我觉得这个方法只适合自己在设计网络的时候,大概看一看网络结构是否合理。用它绘制出来的图片实在不太适合写作或汇报,因为实在是太丑了它长这样:



除了在线工具,我最近还看到一款绘图效果更有逼格的方法(PlotNeuralNet),该工具是萨尔大学计算机专业的一个学生开发的,在保证了专业性、正确性的同时,颜值还颇高:



不过这个工具的使用比较有难度,它没有在线工具让我们动动鼠标就可以绘图,而是需要修改代码。所以虽然炫酷,但是我们实际使用的并不多,因为NN-SVG也有颜色选项,只要颜色够漂亮,也可以展示出不错的视觉效果。不过PlotNeuralNet胜在种类够齐全,适合喜欢修改代码的朋友们玩一玩~

年底实在好忙,但是又琐琐碎碎的不知道在忙什么,看了一眼日历,这都是2021的最后一周了。
真的是How time flies!


这里先挖个坑:等忙完这阵,就好好写一篇怎么改PlotNeuralNet代码的文章!希望能尽快填上
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/125575
 
233 次点击