如何高效便捷的画出炫酷神经网络图

本文介绍几款如何画出炫酷高大上的神经网络图工具,下面是常用的几种工具。
1、NN-SVG
这个工具可以非常方便的画出各种类型的图,是下面这位兄弟开发的,来自于麻省理工学院弗兰克尔生物工程实验室, 该实验室开发可视化和机器学习工具用于分析生物数据。

GitHub 地址:https://github.com/zfrenchee
画图工具体验地址:http://alexlenail.me/NN-SVG/
可以绘制的图包括以节点形式展示的 FCNN style,这个特别适合传统的全连接神经网络的绘制。
以平铺网络结构展示的 LeNet style,用二维的方式,适合查看每一层 featuremap 的大小和通道数目。

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

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

这个工具可以导出非常高清的 SVG 图,非常值得体验。
2、PlotNeuralNet
这个工具是萨尔大学计算机科学专业的一个学生开发的,一看就像计算机学院的嘛。

GitHub 地址:https://github.com/HarisIqbal88/PlotNeuralNet
以下是一些神经网络示例:



可以看到,可视化效果图,颜值奇高,但是使用的门槛相对来说就高一些了,用 LaTex 语言编辑,所以可以发挥的空间就大了。
相似的工具还有: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 代码画图的,GitHub 地址:https://github.com/gwding/draw_convnet
看看画的图如下,核心工具是 matplotlib,图不酷炫,但是好在规规矩矩,可以严格控制,论文用挺合适的。

版权声明: 本文为 InfoQ 作者【不脱发的程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/e1f888a820ed349e6bd663a0a】。文章转载请联系作者。
评论