最近看到有人提问,关于神经网络结构图的问题,决定给大家做一个比较全面详细的介绍,希望对大家在这方面的空缺和疑惑有所帮助。
神经网络结构图绘制工具列表
名称 | 描述 | 推荐指数 |
---|---|---|
Python+Graphviz | graphviz的python版本(亲测) | **** |
PlotNeuralNet | 第一步生成tex文件,然后调用LaTeX命令行生成图形(亲测) | **** |
NetworkX | 这是个专门的复杂网络图的Python包 | **** |
Matplotlib’s Viznet | 利用Matplotlib的Viznet | **** |
LaTeX tikz | 绘制网络结点图的tikz库 | *** |
Graphviz | 专业绘图软件,dot描述语言 | *** |
Inkscape | 属于绘图软件 | *** |
Omnigraffle | 由The Omni Group制作的一款绘图软件 | *** |
netron | 支持ONNX (.onnx, .pb, .pbtxt), Keras (.h5, .keras), CoreML (.mlmodel), Caffe2 (predict_net.pb, predict_net.pbtxt), MXNet (.model, -symbol.json) and TensorFlow Lite (.tflite),在前面链接处下载文件,在这里演示 | *** |
TensorBoard | 配合Tensorflow一起使用的 | *** |
Keras | 自带plot方法,例子,也需要安装graphviz,pydot等 | *** |
Netscope for Caffe | 只支持Caffe格式,例子 | *** |
draw_convnet | 这个其实是利用Matplotlib的绘图功能写了一个Python脚本 | ** |
dnngraph | 仅使用于Caffe框架 | ** |
ConvNetDraw | 灵活性差,没有更新了 | ** |
建议
从上面列表看出,笔者建议使用以LatTeX, Graphviz, Viznet为主的工具。当然使用什么,怎么用?根据自己的实际情况来定。如果你不希望编程,做学术,写论文用的话,推荐使用的专业绘图工具,如果想通过编程来显示一些自己设计的神经网络图,建议使用列表的前四个方式来做来做;如果你是在训练你的神经网络,需要显示神经网络的初略结构,同时查看训练参数,建议使用深度学习框架,如TensorBoard,Keras,Caffe等自带的功能进行展示。