深度学习网络结构图绘制工具及方法
Posted 空中旋转篮球
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习网络结构图绘制工具及方法相关的知识,希望对你有一定的参考价值。
-
目录
这些软件都是只能作为模型图的辅助,更常见的模型组合型的图还是要ppt来画了,或许还有visio。来自:https://www.csdn.net/tags/MtjaggysMjg5NzktYmxvZwO0O0OO0O0O.html
ML Visual
地址:GitHub - dair-ai/ml-visuals: 🎨 ML Visuals contains figures and templates which you can reuse and customize to improve your scientific writing.
谷歌链接:https://docs.google.com/presentation/d/11mR1nkIR9fbHegFkcFq8z9oDQ5sjv8E3JJp1LfLGKuk/edit#slide=id.gd7a8f690c7_22_0
内容介绍:提供一份32页的PPT模型图素材,可以直接使用画出你要的机器学习深度学习模型图NN-SVG
github地址:https://github.com/zfrenchee
画图工具体验地址:NN SVG
内容介绍:- 画节点形式网络介绍
- 二维、三维平铺式的模型
PlotNeuralNet
地址:https://link.zhihu.com/?target=https%3A//github.com/HarisIqbal88/PlotNeuralNet
缺点:用LaTex语言编辑ConvNetDraw
地点:https://cbovar.github.io/ConvNetDraw/
内容介绍:画的是方块形的模型(标注节点数那种)
缺点:目标分辨率太低了Draw_Convnet
地址:GitHub - gwding/draw_convnet
内容介绍:使用python程序直接作图Netscope
地址:https://link.zhihu.com/?target=https%3A//github.com/ethereon/netscope
内容介绍:caffe的网络结构可视化工具
推荐5款好用的深度学习框架绘制工具https://zhuanlan.zhihu.com/p/531619117?utm_id=0
1.Diagram
亮点:diagrams.net (以前称为draw.io)是一个免费的拖放式在线图表工具,使用无代码 http://diagrams.net 工具通过图表可视化绘制深度学习模型,允许用户创建流程图、生成网络和实体关系 (ER) 图,甚至设计数据库模式。包括其易用性以及与 GitHub、OneDrive 和 Google Drive 等常见平台的无缝集成
面板
使用教程:diagrams画图保姆级教程_哔哩哔哩_bilibili
2.Inkscape
亮点:基于免费矢量的图像编辑器,Inkscape 是可以安装在 Apple、Windows 或 GNU/Linux 设备上的专用软件。 由于它允许设计的图表数量,从地图到徽标,初学者和专家的选择。
chrisolah 大佬用来描述 LSTM
使用教程:Inkscape使用教程_哔哩哔哩_bilibili
3.PlotNeuralNet
亮点:脚本化,使用LaTex编写或者使用Python脚本编写结构模型,自由度高(直接网络结构代码生成可视化图,真香)。很多论文的插图就是使用这个工具可视化的。
代码2-unet.py
import sys
sys.path.append('../')
from pycore.tikzeng import *
from pycore.blocks import *
arch = [
# 开头
to_head('..'),
to_cor(),
to_begin(),
# 添加输入层
to_input( '../examples/fcn8s/cats.jpg' ),
# 添加block1包含一个二重卷积接relu
to_ConvConvRelu( name='ccr_b1', s_filer=500, n_filer=(64,64), offset="(0,0,0)", to="(0,0,0)", width=(2,2), height=40, depth=40 ),
to_Pool(name="pool_b1", offset="(0,0,0)", to="(ccr_b1-east)", width=1, height=32, depth=32, opacity=0.5),
# 添加三个block,每个包含三个二卷积加一池化
*block_2ConvPool( name='b2', botton='pool_b1', top='pool_b2', s_filer=256, n_filer=128, offset="(1,0,0)", size=(32,32,3.5), opacity=0.5 ),
*block_2ConvPool( name='b3', botton='pool_b2', top='pool_b3', s_filer=128, n_filer=256, offset="(1,0,0)", size=(25,25,4.5), opacity=0.5 ),
*block_2ConvPool( name='b4', botton='pool_b3', top='pool_b4', s_filer=64, n_filer=512, offset="(1,0,0)", size=(16,16,5.5), opacity=0.5 ),
# 瓶颈,为block5
to_ConvConvRelu( name='ccr_b5', s_filer=32, n_filer=(1024,1024), offset="(2,0,0)", to="(pool_b4-east)", width=(8,8), height=8, depth=8, caption="Bottleneck" ),
to_connection( "pool_b4", "ccr_b5"),
# 解码器
# 多个block,每个为unconv
*block_Unconv( name="b6", botton="ccr_b5", top='end_b6', s_filer=64, n_filer=512, offset="(2.1,0,0)", size=(16,16,5.0), opacity=0.5 ),
to_skip( of='ccr_b4', to='ccr_res_b6', pos=1.25),
*block_Unconv( name="b7", botton="end_b6", top='end_b7', s_filer=128, n_filer=256, offset="(2.1,0,0)", size=(25,25,4.5), opacity=0.5 ),
to_skip( of='ccr_b3', to='ccr_res_b7', pos=1.25),
*block_Unconv( name="b8", botton="end_b7", top='end_b8', s_filer=256, n_filer=128, offset="(2.1,0,0)", size=(32,32,3.5), opacity=0.5 ),
to_skip( of='ccr_b2', to='ccr_res_b8', pos=1.25),
*block_Unconv( name="b9", botton="end_b8", top='end_b9', s_filer=512, n_filer=64, offset="(2.1,0,0)", size=(40,40,2.5), opacity=0.5 ),
to_skip( of='ccr_b1', to='ccr_res_b9', pos=1.25),
to_ConvSoftMax( name="soft1", s_filer=512, offset="(0.75,0,0)", to="(end_b9-east)", width=1, height=40, depth=40, caption="SOFT" ),
to_connection( "end_b9", "soft1"),
# 结束
to_end()
]
def main():
namefile = str(sys.argv[0]).split('.')[0]
to_generate(arch, namefile + '.tex' )
if __name__ == '__main__':
main()
运行:python 2-unet.py 即可生成:
u-net网络结构
4.PPT
亮点:上手快,便于操作
ppt画图
使用教程:ppt画深度学习网络图_哔哩哔哩
5.Visio
亮点:Visio更适合新手上手,绘制复杂项目的流程图和线框,因为更赞的模板;更丰富的共享组件、布局;更便利的多人协作(利用library)
Visio画图
使用教程:用Visio绘制神经网络结构图_哔哩哔哩
以上是关于深度学习网络结构图绘制工具及方法的主要内容,如果未能解决你的问题,请参考以下文章