graphviz初学入门指南
接触graphviz的缘起是遇到一个问题,怎么可视化神经网络模型?如果需要特定画某个模型结构,借助各种软件手画一个即可,这里需要一个通用工具。
搜一搜就找到了这个库,发现mxnet也使用graphviz库做可视化,例子可以看这个link。
这里安利一个知乎问答:如何在论文中画出漂亮的插图?十分炫技,里面对比了latex的pdfplots,python的matplotlib以及在matplotlib上定制的seaborn包,R的ggplot2,还有gunplot等工具,各种奇技淫巧,另人大开眼界。
hello world
安装这些就不叙述了,安装完成后试一下可以找到 dot 命令就成功了。graphviz使用dsl dot来描述图形结构,这里给一个简单例子测试下
- 把这段代码保存为 test.gv
strict digraph {
node_0 -> {node_1 node_2}
}
- 当前目录下执行 dot test.gv -Tpng -Gdpi=300 -O 会生成图像文件test.gv.png
深入细节
了解不深,TODO;
翻译一段官方文档:
dot是可视化有层次结构的工具,算法的目标的让边指向同一方向,减少边与边的交叉,减小边的长度。
更多示例
模型可视化样例;