首页 > 其他分享 >神经网络绘制工具大全

神经网络绘制工具大全

时间:2023-07-18 09:56:12浏览次数:45  
标签:github keras com 神经网络 https 工具 绘制 链接 大全

 

目录


作为一名科研人员,也许你经常会在不同类型的论文中看到各种令人称赞的算法框图或者神经网络框图,作为一名AI从业者,你经常需要在你的论文、Poster或者Slide中添加一些神经网络框图,作为新手的我也经常遇到这个问题,但是一直并没有找到一个好的工具,很多大佬们都说利用PPT或者Visio等就能绘制成功,我的想法是这样的,尽管很多工具都能完成同样的一项工作,但是它们的效果和效率肯定是不一样的,你用Visio需要2个小时的一张图或者利用另外的一个工具仅仅需要花费20分钟,这可能就是所谓的区别,如果你感觉你的时间很多,浪费一点无所谓,请高手们绕过这篇博文。我花费了一点时间在网上找了很多有用的工具,在这里总结汇总一下,朋友们各取所好!

 

1. LaTeX的tikz库

作为科研人员,你可能经常需要用Latex写一些论文,那么其中有一款支持LaTex的工具tikz可以用来绘制各种各样的图,这可能是最方便的工具了。下面是有关该库的一些学习资料。
1、TikZ的官网-http://www.texample.net/tikz/
2、LateX在线编辑工具-https://www.overleaf.com
3、TikZ快速入门文档-http://cremeronline.com/LaTeX/minimaltikz.pdf

 

2. ConvNetDraw

这个工具可能很多人都不知道,不过如果你知道神经网络的结构,而且你能很快的写出基本的代码,那么这款软件再方便不过啦,重要的是它的绘制结果是3D,比较好看,缺点是卷积层的颜色等比较固定,不适合进行设计。以下是有关该工具的几个有用链接。
1、ConvNetDraw的github-https://github.com/cbovar/ConvNetDraw
2、ConvNetDraw在线绘图网址-https://cbovar.github.io/ConvNetDraw/

 

3. Visio

这个软件可能很多人都使用过,我以前所有的图基本上都是用它完成的,它的确很强大,值得去推荐,但是我总想去寻找一个更优的工具。以下是使用Visio绘制的几张神经网络图。这个软件可能很多人都使用过,我以前所有的图基本上都是用它完成的,它的确很强大,值得去推荐,但是我总想去寻找一个更优的工具。以下是使用Visio绘制的几张神经网络图。

 

4. Inkscape-自由绘图

这个软件是一个类似Visio的软件,功能比较齐全,可以完成各种各样的图,不过我一直没有去尝试过。下面是有关该软件的一些有用链接。这个软件是一个雷士Visio的软件,功能比较齐全,可以完成各种各样的图,不过我一直没有去尝试过。下面是有关该软件的一些有用链接。
1、Inkscape官网-https://inkscape.org/zh/
2、Inkscape教程-https://inkscape.org/zh/learn/tutorials/

 

5. Omnigraffle

它是由The Omni Group制作的一款绘图软件,其只能于运行在Mac OS X和iPad平台之上,添加公式可以配合latexit使用。可以用来绘制图表,流程图,组织结构图以及插图,也可以用来组织头脑中思考的信息,组织头脑风暴的结果,绘制心智图,作为样式管理器,或设计网页或PDF文档的原型。嵌入在论文里导出成pdf,嵌入在网页里导出成svg。十分方便。由The Omni Group制作的一款绘图软件,其只能于运行在Mac OS X和iPad平台之上,添加公式可以配合latexit使用。可以用来绘制图表,流程图,组织结构图以及插图,也可以用来组织头脑中思考的信息,组织头脑风暴的结果,绘制心智图,作为样式管理器,或设计网页或PDF文档的原型。嵌入在论文里导出成pdf,嵌入在网页里导出成svg,十分方便。在这里插入图片描述

 

6. draw_convnet

这是一个Python工具,可以将代码转换为网络图显示出来。有关该工具的有用链接如下所示:
1、raw_convnet的github链接-https://github.com/gwding/draw_convnet

 

7. PlotNeuralNet

这是我偶然间寻找到的工具,基于Latex,话不多说,直接看效果你就决定要不要使用它啦。其相关链接如下所示:
1、PlotNeuralNet的github链接-https://github.com/HarisIqbal88/PlotNeuralNet


8. NN-SVG

有关该软件的有用链接如下所示:
1、N-SVG的github链接-https://github.com/zfrenchee/NN-SVG
2、N-SVG的在线界面-http://alexlenail.me/NN-SVG/LeNet.html

 

9. Python + Graphviz

针对节点较多的网络,不可避免需要投入大量尽量来写重复的脚本代码。用python编写了一个简单的dot脚本生成工具(MakeNN),可以很方便的输入参数生成nn结构图。

 

10. Graphviz - dot

在dot里面label的玩法比较多,在上面看到的每个节点都是简单的一段文字,如果想要比较复杂的结构怎么办?那就通过编写代码生成吧。其对应的代码和结果如下所示。其相关的资源如下所示:
1、Graphviz的官方链接-https://www.graphviz.org/

 

11. Keras

使用Keras框架(后端可选tensorflow或者theano),可以画出卷积神经网络的结构图。其相关资源如下所示:
1、keras英文文档-https://keras.io/
2、keras中文文档-https://keras.io/zh/
3、keras的github链接-https://github.com/keras-team/keras

from keras.layers import Input, Convolution2D, Flatten, Dense, Activationfrom keras.models import Sequentialfrom keras.optimizers import SGD , Adamfrom keras.initializations import normalfrom keras.utils.visualize_util import plot# apply a 3x3 convolution with 64 output filters on a 256x256 image:model = Sequential()
model.add(Convolution2D(64, 3, 3, border_mode='same', dim_ordering='th',input_shape=(3, 256, 256)))# now model.output_shape == (None, 64, 256, 256)# add a 3x3 convolution on top, with 32 output filters:model.add(Convolution2D(32, 3, 3, border_mode='same', dim_ordering='th'))# now model.output_shape == (None, 32, 256, 256)adam = Adam(lr=1e-6)
model.compile(loss='mse',optimizer=adam)
print("We finish building the model")

 

12、Netscope

Netscope是个支持prototxt格式描述的神经网络结构的在线可视工具,专门针对神经网络框架caffe而言。该工具的有用资源如下所示:
1、Netscope文档链接- https://ethereon.github.io/netscope/quickstart.html
2、Netscope的github链接-https://github.com/ethereon/netscope
3、Netscope在线链接-http://ethereon.github.io/netscope/#/editor
使用说明:直接打开相应的.prototxt文件复制到左边的黑色区域,然后按下Shift+Enter即可获得可视化结果。

 

13. Caffe自带绘图工具

caffe源码中的tools文件夹下面有个draw_net.py文件。Python/draw_net.py, 这个文件,就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。

 

14. TensorBoard

这个工具也好用于,可以保存好多在训练网络过程中的中间结果,同时也可以可视化整个网络的架构。其相关的有用资源如下所示:
1、tensorboard文档-https://www.tensorflow.org/guide/summaries_and_tensorboard
2、tensorboardgithub-https://github.com/tensorflow/tensorboard

 

15. NetworkX

一个可以用来绘制神经网络的python包,其相应的资源如下所示:
1、NetworkX文档-https://networkx.github.io/documentation/latest/tutorial.html
2、NetworkX的github-https://github.com/networkx

>>> options = {
...     'node_color': 'black',
...     'node_size': 100,
...     'width': 3,
... }
>>> plt.subplot(221)
<matplotlib.axes._subplots.AxesSubplot object at ...>
>>> nx.draw_random(G, **options)
>>> plt.subplot(222)
<matplotlib.axes._subplots.AxesSubplot object at ...>
>>> nx.draw_circular(G, **options)
>>> plt.subplot(223)
<matplotlib.axes._subplots.AxesSubplot object at ...>
>>> nx.draw_spectral(G, **options)
>>> plt.subplot(224)
<matplotlib.axes._subplots.AxesSubplot object at ...>
>>> nx.draw_shell(G, nlist=[range(5,10), range(5)], **options)

 

16. Bokeh

Bokeh是一个交互式可视化库,面向现代Web浏览器进行演示。 它的目标是提供优雅,简洁的多功能图形构造,并通过非常大或流数据集的高性能交互来扩展此功能。 Bokeh可以帮助任何想要快速轻松地创建交互式图表,仪表板和数据应用程序的人。其相关资源链接如下所示:
1、Bokeh官网-https://bokeh.pydata.org/en/latest/
2、Bokeh文档-https://bokeh.pydata.org/en/latest/docs/user_guide.html#userguide

 

17. DAFT

Daft是一个Python包,它使用matplotlib渲染像素完美的概率图形模型,以便在期刊或互联网上发布。 使用简短的Python脚本和直观的模型构建语法,您可以设计定向(贝叶斯网络,有向无环图)和无向(马尔可夫随机场)模型,并将它们保存为matplotlib支持的任何格式(包括PDF,PNG,EPS和SVG))。其相关资源如下所示:
1、daft官网链接-http://daft-pgm.org/
2、daft的github链接-https://github.com/dfm/daft

 

18. Netron

这是一款模型可视化神器,Netron supports ONNX (.onnx, .pb, .pbtxt), Keras (.h5, .keras), CoreML (.mlmodel), Caffe2(predict_net.pb, predict_net.pbtxt), MXNet (.model, -symbol.json) and TensorFlow Lite (.tflite). Netron has experimental support for Caffe (.caffemodel, .prototxt), PyTorch (.pth), Torch (.t7), CNTK(.model, .cntk), PaddlePaddle (model), Darknet (.cfg), scikit-learn (.pkl), TensorFlow.js(model.json, .pb) and TensorFlow (.pb, .meta, .pbtxt).你应该很惊讶吧,它就是这么厉害。有关资源如下所示:
1、Netron官网-https://electronjs.org/apps/netron
2、Netron的github-https://github.com/lutzroeder/netron
3、Netron的在线界面-https://lutzroeder.github.io/netron/

 

 

标签:github,keras,com,神经网络,https,工具,绘制,链接,大全
From: https://www.cnblogs.com/chentiao/p/17561970.html

相关文章

  • 大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解
    大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍1.大语言模型的预训练1.LLM预训练的基本概念预训练属于迁移学习的范畴。现有的神经网络在进行训练时,一般基于反向传播(BackPropagation,BP)算法,先对网络中的参数进行随机初始......
  • BP神经网络算法
    BP是反向的意思神经网络并不能建立先验关系,而是黑箱关系激活函数需要连续,因为后面我们要求min(f(x)-A),我们求最小值的时候,是求导之后导函数的最小值处BP神经网络的最大误差是容易求局部最优解、神经网络可以用于预测或评价、分类问题只要是建立两个对象之间的......
  • 3Ds max入门教程:快捷键命令和鼠标热键大全
    推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景起初,您可能需要花一些时间查找热键,但是一旦您使用它们记住了它们,它们将使您以至少两倍的速度产生结果。例如,当您进行建模(移动、缩放、旋转等)时,一只手放在鼠标上,您将有另一只手可以自由地按下其中一个热键。让我们从几个你......
  • js 根据声音绘制声音图
    js获取麦克风,根据声音大小绘制图形  条状图//麦克风测试showaudiotset(){letthat=this;//setInfo.mikeId当前麦克风设备idletcuraudio=that.mikeArr.filter((v)=>v.deviceId==that.setInfo.mikeId)[0];//老的浏览器......
  • 后台管理系统基础功能(增删改查)用例大全
    为方便平时写测试用例,整理如下:转自:https://www.cnblogs.com/wysk/archive/2018/01/05/8193091.html功能条件测试步骤测试数据预期结果备注搜索或查询 单独遍历各查询条件,测试按各查询条件是否都能够查询出相应的值. 查询出符合条件的记录  设置......
  • 洛谷 Luogu P1038 [NOIP2003 提高组] 神经网络
    这题看着很吓人实则很简单。求输出层,正着求很麻烦,因为知不道谁连向这个点,所以可以反向建边,反着求。拓扑+dfs,时间复杂度\(\text{O(n+m)}\)#include<iostream>#include<cstdio>#include<queue>#defineN105#defineM(N*N/2+114)structE{intv,w;......
  • Html利用Canvas绘制图形
    今天接到粉丝私信,询问是否可以通过Canvas绘制一些图形,然后根据粉丝提供的模板图,通过Canvas进行模拟绘制,通过分析发现,图形虽然相对简单,但是如果不借助相应的软件,纯代码绘制还是稍微费些时间。今天将绘制图形源码分享出来,仅供学习分享之用,如有不足之处,还请指正。 什么是Canvas?......
  • php做的中秋博饼游戏之绘制骰子图案功能示例
    先看代码header('Content-Type:image/png');$img=imagecreatetruecolor(200,200);$white=imagecolorallocate($img,255,255,255);$grey=imagecolorallocate($img,100,100,100);$blue=imagecolorallocate($img,0,102,255);$red=imagecolorallocat......
  • 空间注意力机制 卷积神经网络
    空间注意力机制与卷积神经网络简介空间注意力机制是一种在卷积神经网络中引入的机制,用于加强模型对于特定区域的关注程度。传统的卷积神经网络对于每个位置的特征处理是相同的,而空间注意力机制则允许模型根据输入的不同位置自适应地调整特征的权重,从而更好地捕捉图像中的重要信息......
  • 设计模式-法则大全
    SOLID原则:单一职责原则SRP:一个类只负责完成一个职责或功能;要设计粒度小、功能单一的类开闭原则OCP:对扩展开放、对修改关闭;在已有基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等);里式替换LSP:父类定义了函数的“约定”(或者协议),那子类可以改变函数的内......