在安装一些用keras作可视化的YOLOV3等深度学习神经网络模型时,可能经常出现下面的弹出错误情况:
// ImportError
Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work;
1.1. 弦外之音
pydot
模块找不到GraphViz
的路径;
keras
可视化失败;
2. 错误解决方式
网上很多建议就是下面这样。我们开始:很舒服、开心的按下Win+R
,执行pip分别安装graphviz
和pydot
,之后告诉你Successful installation......
,暗自欣喜的给自己掌声,我的yolo、fater rcnn、ssd
又可以跑了。只可惜岁月重来不会按着预先安排好的方式一步一步走下去。记住:成功是失败什么?
// 错误解决方式
pip install graphviz
pip install pydot
3. 解释
3.1. keras模型可视化函数
keras.utils.vis_utils
模块提供了可视化Keras
模型的函数plot_model
,可将模型summary
信息以图片形式输出。
具体使用方式如下:
// 使用方法:
from keras.utils import plot_model
plot_model(model, to_file='model.png')
其中,plot_model
有 4 个可选参数:
由于plot_model
函数依赖pydot-ng
和graphviz
,若运行出现错误,则需要安装这两个包:
graphviz
:windows
系统下需要下载安装包手动安装,官网下载地址: 下载地址,本人使用.msi
下载。
安装好之后需要配置环境变量:将graphviz
安装目录下的bin
文件夹路径添加到计算机系统Path
环境变量中。..\ Graphviz\ bin
;点击确定。
验证graphviz
是否安装成功: 进入windows
命令行界面,输入dot -version
,然后按回车,如果显示graphviz
的相关版本信息,则安装配置成功。
安装pydot-ng
: 直接在命令行中输入pip install pydot-ng
即可安装。
由于plot_model
函数中默认调用的是pydot
,安装pydot-ng
后运行代码仍然可能会提示找不到pydot,这时需要在源码...\keras\utils\vis_utils.py
模块中做如下修改,确认修改,就能正常运行了。
// 修改方法:
import pydot
修改为
import pydot_ng as pydot
重新启动Python IDE(或者PyCharm)。
5. 注意事项
需要注意的是pydot
与pydot-ng
的区别,pydot
是对应python2
的老版本;python-ng
是兼容python2
与python3
的新版本,之前看许多博客安装pydot
,运行一直不成功,总是报错,其实是pydot
的问题,我这里使用的是python3
,故需要安装pydot-ng
。