安装graphviz的初衷是因为在mxnet的教程中需要用graphviz的库来画图。折腾了一早上加一中午终于把pygraphviz折腾好了, graphviz是一个独立的软件,在下载完对应的.msi安装包之后进行下载,然后按照教程使用就可以,麻烦的是pygraphviz安装,python与graphviz的接口,以下主要针对pygraphviz的安装进行说明。
1.失败的弯路
早上根据网上各种教程,又是下载graphviz软件,又是pygraphviz 的源码
进行编译,各种bug,各种error,下午按照graphviz给的install 文件安装,还是不行,最后的最后收到了来自小学弟的曙光。安装编译好的包。
2.成功的捷径
2.1graphviz的安装及使用
//s.dot
//dot s.dot -Tpng -o s.png -Gsplines=line
digraph G {
//a -> c;
a -> b;
b -> c;
subgraph x{
rank=same;
b->d;
}
subgraph y{
//rank = same;
d->e;
}
subgraph z{
rank=same;
c->e;
}
}
2.2 pygraphviz的安装
比较好的一篇参考博文是
http://www.myexception.cn/perl-python/2046792.html
备注:请跳过博主前面的失败经历直接看后面安装预编译包的那部分,本文也主要是基于楼主后半部分内容的安装进行详细说明。
这是博主安装的核心部分内容
http://www.lfd.uci.edu/~gohlke/pythonlibs/
点开后会看到下面的好多编译好的包,到其中的pygraphviz有没有觉得很惊喜,果断点开会看到这些东西
备注:以后要下载对应的python相关的编译好的库可以来这里直接找.whl的包直接安装。
根据自己的硬件环境,选择对应的pygraphviz,我的电脑是win7 64位的,python是python 2.7.13(Anaconda 4.3.0)
文件名中虽然是amd64但是intel也是兼容的。
所以选择的是,点开下载就好,在cmd窗口切换到对应的目录下执行以下命令
pip install pygraphviz‑1.3.1‑cp27‑none‑win_amd64.whl
然后就会发现成功安装了。
以下就在python 中执行上个博文给出的例子,将C:\Program Files(x86)\Graphviz2.38\bin加到PATH里去,重启电脑,重新执行程序就可以了。
备注:这里有个关于修改环境变量以后需不需要重启电脑的讨论,我也搞的不是很懂,如果条件允许的话,还是重新启动一下,保证环境变量生效。
然后就可以在python执行命令,得到对应的图了。
3.回到初衷
之前装graphviz是为了在mxnet的结构下实现一些网络结构的可视化,然后在运行以下程序
import mxnet as mx
a = mx.sym.Variable('a')
b = mx.sym.Variable('b')
c = a + b
(a, b, c)
# elemental wise times
d = a * b
# matrix multiplication
e = mx.sym.dot(a, b)
# reshape
f = mx.sym.Reshape(d+e, shape=(1,4))
# broadcast
g = mx.sym.broadcast_to(f, shape=(2,4))
mx.viz.plot_network(symbol=g)
然后就出现了这样的问题
打开对应的可视化文档
提示找不到graphviz的运行库,可是graphviz已经手动安装过了,对应的bin目录也添加了,还是出现上面的问题。
问题原因:graphviz python环境未配置正确
师弟说要使用pip install graphviz 进行安装,实践了之后果然没有问题了,然后就运行出了下面的图。
备注:python 中使用pip的命令进行一些模块和包的安装,使用pip进行python的一些包的安装很方便。
pip 安装使用详解 - 运维生存时间 http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa/
参考资料
1. http://hustlijian.github.io/tutorial/2015/05/29/graphviz-learn.html
备注:师兄发给我的链接,graphviz软件的安装、使用以及在与python 接口pygraphviz的安装与使用
2. http://www.graphviz.org/pub/graphviz/stable/windows/
备注:graphviz软件下载地址