之前向大家介绍了一种基于Python第三方ann_visualizer
模块的神经网络可视化方法,大家可以直接点击推文:基于Python的神经网络模型可视化绘图方法查看;这一方法可以对Dense
隐藏层以及MaxPooling
层、Dropout
层、Flatten
层等其它类型的隐藏层加以绘制,功能非常强大,但是需要用代码执行,且在执行前需要将神经网络的全部结构与输入数据配置好后才可以绘制,稍微有一些繁琐。
今天,就向大家介绍两种新的神经网络可视化绘图方法,其中,一种是在线绘制,另一种是基于软件绘制(但其也可以在网页中直接绘制)。
1 NN-SVG
网址[1]:http://alexlenail.me/NN-SVG/index.html
NN-SVG是一个在线神经网络结构绘制网页平台,进入后点点鼠标就可以绘制出精美的神经网络图像,且还可以对整幅图像的方向,以及接点、连接线、箭头等等要素的样式、大小、颜色、权重、间隙大小等属性加以调整,可谓非常方便、非常强大。
在其最下方,可以对输入层、隐藏层与输出层的数量与神经元个数加以调整。
配置完成取得满意的图像后,大家可以点击最上方的“Download SVG”进行图像下载。需要注意,下载图像的格式是.svg
,需要我们手动转换为常见的图片格式。具体在线格式转换网站网上有很多,这里就不再叙述了~
但是,NN-SVG仅仅可以显示简单的隐藏层,并不能对隐藏层的类型加以区分绘制。
2 Netron
网址[2]:https://github.com/lutzroeder/netron
Netron是一个对神经网络以及各类机器学习、深度学习算法进行可视化的工具,分为软件版与在线版(在线版网页[3]:https://netron.app/)。绘制时我们需要先建立并保存自己的模型(并且还是要运行之后的,因为其会显示模型中具体参数的变化情况),随后用其打开即可。Netron支持的模型格式如下所示。
我们以Windows下其软件版本为例介绍。下载安装包后直接安装。
安装完毕后打开软件,如下所示。
随后,打开我们保存的模型。
即可实现具体模型及其每一个参数变化情况的可视化图像,非常具体、细致。
个人感觉用Netron进行具体带参数分析的可视化比较方便,如果只是想单纯看一下神经网络的结构的话,用其可能不太方便、不太直观。
References
[1]
网址: http://alexlenail.me/NN-SVG/index.html
[2]
网址: https://github.com/lutzroeder/netron
[3]
网页: https://netron.app/