无需代码绘制人工神经网络ANN模型结构图的方法

  本文介绍几种基于在线网页或软件的、不用代码的神经网络模型结构可视化绘图方法。

  之前向大家介绍了一种基于Python第三方ann_visualizer模块的神经网络结构可视化方法,大家可以直接点击文章Python绘制神经网络模型图进行查看;这一方法可以对Dense隐藏层以及MaxPooling层、Dropout层、Flatten层等其它类型的隐藏层加以绘制,功能非常强大,但是需要用代码执行,且在执行前需要将神经网络的全部结构与输入数据配置好后才可以绘制,稍微有一些繁琐。

  今天,就向大家介绍两种新的神经网络可视化绘图方法,其中,一种是在线绘制,一种是基于软件绘制(其也可以在网页中直接绘制)。

1 NN-SVG

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

  NN-SVG是一个在线神经网络结构绘制网页平台,进入后点点鼠标就可以绘制出精美的神经网络图像,且还可以对整幅图像的方向,以及接点、连接线、箭头等等要素的样式、大小、颜色、权重、间隙大小等属性加以调整,可谓非常方便、非常强大。

无需代码绘制人工神经网络ANN模型结构图的方法

  在其最下方,可以对输入层、隐藏层与输出层的数量与神经元个数加以调整。

无需代码绘制人工神经网络ANN模型结构图的方法

  配置完成取得满意的图像后,大家可以点击最上方的“Download SVG”进行图像下载。需要注意,下载图像的格式是.svg,需要我们手动转换为常见的图片格式。具体在线格式转换网站网上有很多,这里就不再叙述了~

  但是,NN-SVG仅仅可以显示简单的隐藏层,并不能对隐藏层的类型加以区分绘制。

2 Netron

  网址:https://github.com/lutzroeder/netron

  Netron是一个对神经网络以及各类机器学习、深度学习算法进行可视化的工具,分为软件版与在线版(在线版:https://netron.app/ )。绘制时我们需要先建立并保存自己的模型(并且还是要运行之后的,因为其会显示模型中具体参数的变化情况),随后用其打开即可。Netron支持的模型格式如下所示。

无需代码绘制人工神经网络ANN模型结构图的方法

  我们以Windows下其软件版本为例介绍。下载安装包后直接安装。

无需代码绘制人工神经网络ANN模型结构图的方法

  安装完毕后打开软件,如下所示。

无需代码绘制人工神经网络ANN模型结构图的方法

  随后,打开我们保存的模型。

无需代码绘制人工神经网络ANN模型结构图的方法

  即可实现具体模型及其每一个参数变化情况的可视化图像,非常具体、细致。

  个人感觉用Netron进行具体带参数分析的可视化比较方便,如果只是想单纯看一下神经网络的结构的话,用其可能不太方便、不太直观。

原文链接:https://www.cnblogs.com/fkxxgis/p/17388010.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:无需代码绘制人工神经网络ANN模型结构图的方法 - Python技术站

(0)
上一篇 2023年5月10日
下一篇 2023年5月11日

相关文章

  • 学习笔记:Gan-DCGan-WGan-SuperResolutionGan发展生成对抗网络

    https://www.cnblogs.com/frombeijingwithlove/ 文章目录 意义:造出新的类似但不是原样本的数据(风格变换、白天变黑夜) 关键点:分类能力提高,生成能力提高,博弈,直到纳什均衡 1 G1不变训练D1): 2 D1不变训练G2): – (G2不变训练D2):训练D2分类G2,直到识别G2,提高分类能力 1 训练图示过程(…

    2023年4月6日
    00
  • 机器学习-SVD(隐语义模型)协同过滤

    SVD(隐语义模型)协同过滤 隐语义模型,数学上称为SVD,奇异值分解。该算法最早在文本挖掘领域被提出,用于找到文章的隐含主题,也被称为主题模型。 隐语义模型的核心思想是通过隐含特征(Latent Factor)计算用户和物品的相似性。 SVD是将矩阵A分解成以下形式 A=U∑VT 其中U和V均为单位正交阵,UUT=E, VVT=E, U称为左奇异矩阵,V称…

    机器学习 2023年4月13日
    00
  • win10+keras 跑ResNet 完美解决Failed to get convolution algorithm. This is probably because cuDNN failed to initialize报错

    #GPU按需分配,解决 import tensorflow as tf import keras config = tf.ConfigProto() config.gpu_options.allow_growth = True keras.backend.tensorflow_backend.set_session(tf.Session(config=con…

    Keras 2023年4月5日
    00
  • 卷积神经网络CNN与深度学习常用框架的介绍与使用

    一、神经网络为什么比传统的分类器好 1.传统的分类器有 LR(逻辑斯特回归) 或者 linear SVM ,多用来做线性分割,假如所有的样本可以看做一个个点,如下图,有蓝色的点和绿色的点,传统的分类器就是要找到一条直线把这两类样本点分开。 对于非线性可分的样本,可以加一些kernel核函数或者特征的映射使其成为一个曲线或者一个曲面将样本分开。但为什么效果不好…

    2023年4月8日
    00
  • 零基础入门深度学习(5) – 循环神经网络【转】

    本文转载自:https://zybuluo.com/hanbingtao/note/541458 在前面的文章系列文章中,我们介绍了全连接神经网络和卷积神经网络,以及它们的训练和使用。他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。比如,当我们在理解一…

    2023年4月6日
    00
  • 对话CVPR2016:目标检测新进展

    今天我与大家分享的是CVPR2016年会议中关于目标检测的部分相关工作,这一篇文章首先在 深度学习大讲堂 发出,这里算是转载吧,在此也给深度学习大讲堂做个广告。文章所提到的内容不涉及具体的实现细节,更多是从整个工作的出发点和解决问题的思路出发进行讨论,下边是具体的内容。 2016年的CVPR会议目标检测(在这里讨论的是2D的目标检测,如图1所示)的方法主要是…

    2023年4月8日
    00
  • caffe里的blocking_queue.hpp与.cpp干了点什么呢???

    我看的一下午才明白的,因为吧,我之前都是不知道与boost::thread相关的任何知识,然后开始看各种资料啊。。。 妈的,我就是一个小白,没一点基础的。。   总的来说:blocking_queue实现一个阻塞队列,它利用了生成者与消费者的设计模式,怎么说呢?、 首先吧,你要有一个queue(队列,c++里的一种容器),对它的操作有push与pop。 pu…

    Caffe 2023年4月8日
    00
  • caffe: train error: Serializing 25 layers— Check failed: proto.SerializeToOstream(&output)

    I0221 21:47:41.826748  6797 solver.cpp:259]     Train net output #0: loss = 0.00413362 (* 1 = 0.00413362 loss)I0221 21:47:41.826756  6797 solver.cpp:590] Iteration 9980, lr = 0.001…

    2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部