(附链接)12个画出漂亮神经网络图的工具

目标检测与深度学习

共 2474字,需浏览 5分钟

 ·

2021-06-21 15:05

点击左上方蓝字关注我们



全网搜集目标检测相关,人工筛选最优价值内容

编者荐语
论文与报告中经常会使用到神经网络图,所以可以帮助我们更轻松便捷进行绘制的工具,还是需要提前准备几个的。文章整理了12个常用的绘图工具,排名不分先后


1. PlotNeuralNet


主要的优点如下:

1.可以使用LaTex编写;

2.自由度高,也可以使用Python脚本编写结构模型;


主要的缺点如下:

1.无交互界面;

2.上手略有难度。


链接:https://github.com/HarisIqbal88/PlotNeuralNet






2. draw_convnet


由Borealis公司的员工Gavin Weiguang Ding提供,使用纯python代码进行画图。核心工具是matplotlib,图不算太酷炫,但是好在规规矩矩,可以较好的控制结构。

链接:https://github.com/gwding/draw_convnet



3. NNSVG


一位来自于麻省理工学院弗兰克尔生物工程实验室的人进行开发,该实验室开发可视化和机器学习工具用于分析生物数据。该工具可以非常方便的画出三种神经网络结构:

  1. FCNN模型

  2. LeNet模型;

  3. AlexNet模型。

链接:http://alexlenail.me/NN-SVG/LeNet.html




4. Caffe


caffe的python编译模块提供了绘制net结构的功能,可实现对网络结构的绘制,这极大的方便了对网络结构的理解和分析。调用caffe中的draw.py文件便可以进行结构图绘制,也就是将网络模型由prototxt变成一张图片。


链接:https://github.com/BVLC/caffe/blob/master/python/caffe/draw.py



5. Tensorboard


TensorBoard 是用于提供机器学习工作流程期间所需的测量和可视化的工具。它使您能够跟踪实验指标,例如损失和准确性,可视化模型图,将嵌入物投影到较低维度的空间等等。尤其是在训练网络的时候,我们可以设置不同的参数(权重W、偏置B、卷积层数、全连接层数等),并可以直观的帮助我们进行参数的选择。


链接:https://tensorflow.google.cn/tensorboard/get_started



6. DotNets


这是一个简单的 Python 脚本,用于使用 Python 和 Graphviz 生成前馈神经网络的图片。这受到了 Thiago G. Martins How to draw neural network diagrams using Graphviz 的启发。


链接:https://github.com/martisak/dotnets



7.Matlab


MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。


Matlab的优点很明显,一般使用过的人都很清楚。不过缺点就是他的商业属性,同时由于其带有米国“属性”,对我们带来了一系列的问题。可以的情况下还是需要慎重使用,毕竟这个软件太容易产生依赖了。


链接:http://www.mathworks.com/help/nnet/ref/view.html



8.Keras.js


Keras是一款非常流行的深度学习模型开发框架,基于python,语法简洁,封装程度高,只需十几行代码就可以构建一个深度神经网络。Keras.js是一个可以在浏览器中运行深度神经网络的JS框架(同时包含互动演示),支持CPU,GPU计算。区别于Keras,Keras.js只能运行已经调试好的模型,无法进行模型训练。


链接:https://transcranial.github.io/keras-js/#/



9.  Graphviz


Graphviz 是开源图形可视化软件。图可视化是一种将结构信息表示为抽象图和网络图的方法。它在网络、生物信息学、软件工程、数据库和网页设计、机器学习以及其他技术领域的可视化界面中具有重要的应用。


链接:http://magjac.com/graphviz-visual-editor/



10. ConX


ConX 是一种构建和理解深度学习神经网络的可访问且强大的方法(同时包含可视化神经网络)。具体来说,它位于 Keras 之上,而 Keras 位于 TensorFlow、CNTK 或 Theano 之上(尽管不再开发 Theano)。


主要功能包含:

1.有一个易于使用的界面来创建神经网络层之间的连接;

2.添加用于操作神经网络的附加功能;

3.支持用于训练和使用神经网络的可视化和分析;

4.拥有您需要的一切;不需要复杂的数值或绘图库的知识;

5.如果您愿意,可以与较低级别的(Keras)集成。


链接:https://conx.readthedocs.io/en/latest/index.html



11. ENNUI


个人感觉是个很奇怪的风格,不做过多评价。


链接:https://math.mit.edu/ennui/


12.  Neataptic


Neataptic 提供灵活的神经网络(附带可视化功能);神经元和突触可以用一行代码删除。神经网络根本不需要固定的架构来运行。这种灵活性允许通过神经进化为您的数据集塑造网络,这是使用多线程完成的。


链接:https://wagenaartje.github.io/neataptic/



END



双一流大学研究生团队创建,专注于目标检测与深度学习,希望可以将分享变成一种习惯!

整理不易,点赞三连↓

浏览 150
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报