人工神经网络的结构图怎样画呢,可以用脚本自动生成吗
比较小的图我用Visio画,比较大的我也用GraphViz。
■网友
colab 共享了一个关于这个库的 notebook tutorial
https://drive.google.com/file/d/1mP9DOoTR4JEhd-ILVXfggpBJOyGatiws/view?usp=sharing打不开的话, 可以直接下载https://raw.githubusercontent.com/GiggleLiu/viznet/master/docs/viznet_basic.ipynb
============= 以上更新于2018年4月30日 =============
我写了一个基于matplotlib的python画神经网络图的库viznet。先上效果图:
定义了一套简单实用的“笔刷规则”。node1 \u0026gt;\u0026gt; (0, 1.2) # 以坐标 (0, 1.2) 为中心绘制节点。node2 \u0026gt;\u0026gt; (2, 0) # 以坐标 (2, 0) 为中心绘制节点。edge \u0026gt;\u0026gt; (node1, node2) # 以直线连接两个节点。 【人工神经网络的结构图怎样画呢,可以用脚本自动生成吗】 比如“节点”的笔刷可以定义为node1 = NodeBrush(\u0026#39;nn.input\u0026#39;, ax=d.ax, size=\u0026#39;normal\u0026#39;) 。
第一个参数定义了风格。对于神经网络节点,它的风格 (以\u0026#39;nn.\u0026#39;开头的风格)参考于 Neural Network Zoo Page。
再比如“边”的笔刷可以定义为edge = EdgeBrush(\u0026#39;-\u0026gt;-\u0026#39;, ax=d.ax, lw=2) 。
第一个参数定义了风格,\u0026#39;-\u0026#39;为直线,\u0026#39;.\u0026#39;为虚线,\u0026#39;=\u0026#39;为双线,\u0026#39;\u0026gt;,\u0026lt;\u0026#39;为左右箭头。\u0026#39;-\u0026#39;,\u0026#39;.\u0026#39;和\u0026#39;=\u0026#39;的比例决定了各线段的长度的比重,而箭头不占比例。比如\u0026#39;-\u0026gt;\u0026#39;,\u0026#39;-\u0026gt;-\u0026#39;分别代表一条直线的末端和中间带个向右的箭头。以下是一些样品:
当然,光有上述还不够,连边连的爽才是核心,所以除了基础的连接法则,还有一套为Node建立Pin点的规则,这里不作详细介绍。这些规则使得它广泛的支持神经网络之外的量子线路,张量网络等绘图。唯一的缺点也许是没有曲线连接,但直男的网络要什么曲线连接。
项目仍然在0.1版本,但基本套路已经定下来了,还会持续更新和维护更多特性。
这是Github工程地址:https://github.com/GiggleLiu/viznet,欢迎PR!
■网友
太复杂或者有特别的要求就自己画吧,比如用Perl调Cairo。补充:可以用GraphViz
■网友
matplotlib大概就是跟画一个graph差不多吧,此处为DAG(有向无环图)
推荐阅读
- 银行高管的薪酬结构图表最新的,请问在哪里可以收集
- 关于人工智能虚拟人的一些问题
- |园区人工智能产业园约巴线路开通 定制公交再增2条!
- 人工智能解决医疗
- 人工智能时代学啥专业前景好
- 怎样看待南开大学成立人工智能学院‘统计与数据科学学院和网络空间安全学院
- 大学软件工程毕业学习AI能学会吗
- 神经网络算法是否真的属于人工智能范畴
- 如果人工智能真的迎来大爆发,并且如愿取代了大多数人工岗位的话,我们现在可以做些啥来更好的迎接这一天
- 为啥人类不强化自己的大脑,而去创造人工智能
