[Keras] ImportError: Failed to import pydot. You must install pydot and graphviz for pydotprint to
Xovee 2019-06-14 10:13:49 3877 收藏 4 分类专栏: 报错 版权 问题描述
事情是这样的,当时我正在愉快地使用Keras搭建模型,发现官方还有一个绘制模型的函数plot_model(),于是我愉快地调用了这个函数keras.utils.plot_model(model, ‘model.png’, show_shapes=True),结果就报了下面的错误:
InvocationException: GraphViz’s executables not found … ImportError: Failed to import pydot. You must install pydot and graphviz for pydotprint to work. 1 2 3 我寻思了一下,是不是因为我没装pydot和graphviz才导致的报错?于是我愉快地打开PyCharm,给我的虚拟环境装上了pydot和graphviz,可是它还在报错。
然后我就自闭了一会,自闭完呢,我就去百度和谷歌寻找解决方案,果然,有很多人遇到了跟我一样的问题。根据大佬 [1] 的回答,这是一个环境问题,解决方案是在命令行pip install graphviz什么的,或者手动在官网下载graphviz的安装包,然后添加系统环境变量Path,例如C:\Program Files (x86)\Graphviz2.38\bin这样的东西。
我寻思这个解决方案挺靠谱的,然后我就愉快地试了一下,结果,仍旧报错。
然后我再次自闭了一会,重新寻找解决方案。有人 [2] 说,安装的顺序很重要,要先安装pydot,后安装graphviz;有人 [3] 说要使用keras.utils.vis_utils.plot_model而不是keras.utils.plot_model。总之,感觉都不靠谱。
最后你猜这么着,我在PyCharm里把安装好的graphviz和pydot都给卸载了,然后再命令行里安装了pydot(pip install pydot),就!成功了!
然后我寻思了一会到底是什么原因导致的报错,我试着把graphviz的系统变量删了,居然没报错,哎,算啦算啦,能用就行啦!
环境
Windows 10 Python 3.6 TensorFlow 2.0 Beta (内置的 Keras) 效果图
Reference
Rob. (August 25, 2018). Graphviz and Pydotplus not working. Retrieved from https://datascience.stackexchange.com/questions/37428/graphviz-and-pydotplus-not-working web_ninja. (August 26, 2013). Why is pydot unable to find GraphViz’s executables in Windows 8? Retrieved from https://stackoverflow.com/questions/18438997/why-is-pydot-unable-to-find-graphvizs-executables-in-windows-8 XifengGuo. (November, 6, 2017). pydot issue. Retrieved from https://github.com/XifengGuo/CapsNet-Keras/issues/7