windows下Keras可视化模块keras.utils.visualize_util安装配置和使用

在浏览Keras官方文档时,发现Keras有一个模块——keras.utils.vis_utils,这个模块利用graphviz,可以画出Keras模型,即实现模型的可视化。官方文档所在地址
感觉这个功能还蛮有意思,就按照文档指示进行安装和调用了。

首先,官方文档中提到该功能的实现需要pydot-ng 和 graphviz。

【Tips】依赖 pydot-ng 和 graphviz,若出现错误,用命令行输入pip install pydot-ng & brew install graphviz

pydot-ng好说,直接pip安装即可。

pip install pydot-ng 

注意是pydot-ng而不是pydot。使用pip也可以安装pydot,但pydot和pydot-ng是两个不同的python库,Keras的源码中检验和导入的都是pydot-ng。

文档中graphviz是用brew 安装的,但是这个东西,我的windows PC是没有的。(。•ˇ‸ˇ•。)百度了一下,brew也是Mac本的的工具。
那么graphviz怎么安装呢?
首先,不能用pip进行安装,虽然pip中也能安装graphviz,但并不是Keras需要的,安上了也不能用。
graphviz需要下载安装,下载页面: http://www.graphviz.org/Download_windows.php
出于网速问题,我下载了zip版本。graphviz-2.38.zip百度云
下载后,解压到C:\Program Files,并将文件夹重命名为graphviz,接下来将C:\Program Files\graphviz\bin配置到环境变量。

windows下Keras可视化模块keras.utils.visualize_util安装配置和使用_第1张图片
环境变量配置

ok,到现在为止,前期准备工作完成。接下来该实际使用一下了。

from keras.utils import plot_model
plot_model(model, to_file='model.png')

但是,报错了……,错误显示:

Traceback (most recent call last):
  File "D:\Python\lib\site-packages\keras\utils\vis_utils.py", line 23, in _check_pydot
    pydot.Dot.create(pydot.Dot())
  File "D:\Python\lib\site-packages\pydot_ng\__init__.py", line 1890, in create
    'GraphViz\'s executables not found')
pydot_ng.InvocationException: GraphViz's executables not found

没安graphvizs时,若是执行程序,也是报这个错。这意味着Keras程序还是没有找到我们的graphvizs,哪怕是把它配进了环境变量里。
经过google之后,得知原来是这个方法是为了linux平台准备的,所以在windows平台上执行还需要在前面加上两行代码:

import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files/graphviz/bin/'  # 安装graphviz的路径

这下就能成功执行了。


windows下Keras可视化模块keras.utils.visualize_util安装配置和使用_第2张图片
最近在训练的模型

事实上,plot_model这个方法还有三个参数:

show_shapes:指定是否显示输出数据的形状,默认为False
show_layer_names:指定是否显示层名称,默认为True
rankdir:传递给PyDot的参数,指定图片的排列方向,参数可选则'TB'(垂直)和'LR'(水平),默认为TB

如果将rankdir设为LR,则是这个样子:

image

所以,还是默认的TB好一些。(ง •̀_•́)ง

你可能感兴趣的:(windows下Keras可视化模块keras.utils.visualize_util安装配置和使用)