如何用Graphviz以及DotNet绘制神经网络图

您所在的位置:网站首页 画神经网络模型图的软件 如何用Graphviz以及DotNet绘制神经网络图

如何用Graphviz以及DotNet绘制神经网络图

2024-07-15 20:01| 来源: 网络整理| 查看: 265

说在前面

最近需要画一个BP神经网络的图,我平时用visio画图的,但总觉得这么经典的东西网上应该有吧。经过我一番简单暴力的百度搜索,大致找到了以下几种方式: 1)python的库viznet 我本身对py也不熟悉,就看了一下py画的图 在这里插入图片描述 倒也觉得挺好看的,就作为备选吧 2)NNSVG 查看在 http://alexlenail.me/NN-SVG/index.html 在这里插入图片描述 图不错,可操作性也强,而且不是啥软件啊,程序啊,就只是个网页,可以手动调节参数的网页,很方便,连卷积神经网络也能画 在这里插入图片描述 但我觉得够花哨的,不是我暂时需要的简洁版 3)Matlab 查看在 http://www.mathworks.com/help/nnet/ref/view.html 在这里插入图片描述 看到这图,我只想说何必呢 4)Graphviz 查看在http://www.graphviz.org/ 在这里插入图片描述 图很不错,简洁实用,稍微搭配下颜色肯定不错,就是基于DOT语言脚本的,这是让我学习一种新的语言?不得不说,有点麻烦啦,要是有认能根据我的想法把DOT语言代码给我写好还差不多。 5)dotnets 查看在 https://github.com/martisak/dotnets 在这里插入图片描述 这图绝了呀,作图简洁,配色清淡,关键是前馈神经网络,就妥妥的为我想画的BP设计的啊。dotnets提供python代码生成DOT语言代码,直接用Graphviz中的dot作图。 万万没想到,我选择了最麻烦的方式。

关于Graphviz

graphviz (英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。可以在 https://graphviz.org/download/ 下载。大概的意思就是根据DOT语言脚本画图。

波折的画图之旅

1)在这 https://github.com/martisak/dotnets下载py代码。代码的第一行为layers = [4, 5, 5, 5, 2],第一个4代表四个神经元输入,最后的2代表两个神经元输出,中间的代表隐含层5, 5, 5代表三层5个神经元的隐含层。运行之后 在这里插入图片描述 会打印如上图代码开头的一串所谓的DOT语言脚本,然后复制到一个.txt文档中,比如复制到file.txt中。第一行fontname = "Hilda 10"是设置字体的,这字体听都没听过,最好把这一行删了,免得报错。 2)下载并安装Graphviz, https://graphviz.org/download/ 3)在保存file.txt的文件夹中调用cmd,试试dot -version这个命令,大概率会得到下面的提示 在这里插入图片描述 dot是Graphviz的命令行工具,既然已经安装了Graphviz,那dot也应该是存在的,如果不存在呢,路径没添加呗,因此需要添加路径,此处可以参考 博客。如果你成功的添加了环境变量,就在cmd里面再试试dot -version这个命令。反正我失败了,系统总是把我添加的路径删除了,不知道是不是权限的问题。既然添加不了永久的环境变量,那就添加临时的,在cmd运行set path=D:\Graphviz\bin,这里的D:\Graphviz\bin是我的dot安装目录,参考 博客1和 博客2 然后在cmd里面再试试dot -version命令,成功在这里插入图片描述 4)设置了环境变量之后,紧接着在cmd运行dot -Tpdf -O file.txt 然后得到一个名为file.txt.pdf的文件,如果想要png格式的文件,那就dot -Tpng -O file.txt,实际上支持 bmp eps gif jpg png ps svg pdf等等格式。 5)得到的pdf如下 在这里插入图片描述

说在后面

如果没有Graphviz,甚至连python都没有,为了画个图装两软件,确实有点麻烦。不过,如果已经有python了,再根据我的步骤来,倒也会挺快的。你要是觉得麻烦,或者你的需求并不是一个简洁的前馈神经网络,不如试试其他方法呢。顺便给个Graphviz的配色图。 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3