前言
ubuntu 16.04 中,用 keras 搭建神经网络,想画出网络的结构图,看了网上许多的教程,感觉是一个抄一个的,配置起来麻烦、罗嗦,关键是最后还没用。
正文
用 keras 绘制神经网络的结构,需要用到:
1、 graphviz
模块;
2、 graphviz
软件本身;
3、 pydot
模块。
注意: 以上三个模块的安装顺序不能乱, keras 绘制神经网络的结构这个功能,依赖于graphviz模块与pydot模块,而pydot模块的安装又依赖于graphviz模块。
安装过程
下面给出我亲测有效的安装过程:
1、首先, 命令行输入: sudo pip install graphviz
2、添加源,并更新。
根据 graphviz 官网 的提示, 先更新一下源: sudo apt-get update ,
再添加ppa 源: sudo add-apt-repository ppa:gviz-adm/graphviz-dev ,
最后再更新源: sudo apt-get update 。
3、安装 graphviz : sudo apt-get install graphviz
至此, graphviz模块 安装完毕,接下来安装 pydot模块。
4、 安装
pydot模块: sudo
pip install pydot==1.1.0
注意:此处需要指定安装1.1.0版本的pydot,是因为最新版(截止2016.8最新版本号是1.2.x)中find_graphviz函数是deprecated的,使用时会报错。
测试代码
# encoding: utf-8
"""
@author: moses
"""
from keras.models import Sequential
from keras.layers.core import Dense
from keras.utils import plot_model
def run():
# 构建神经网络
model = Sequential()
model.add(Dense(4, input_dim=2))
model.add(Dense(1))
# 神经网络可视化
plot_model(model, to_file='model.png')
if __name__ == '__main__':
run()
结果显示
Reference
1、这里也有一种安装方法,不过在 ubuntu 中需要向环境中添加路径,太麻烦,原文:http://www.jianshu.com/p/275aad639b5e
2、https://stackoverflow.com/questions/38446771/importing-theano-attributeerror-module-object-has-no-attribute-find-graphvi
3、http://blog.csdn.net/hahajinbu/article/details/72859849