解决windows+python3环境下,keras可视化遇到pydot&graphviz无法导入问题

第一步:

使用pip 或者conda安装 pydot_ng-->pip install pydot_ng

从 https://graphviz.gitlab.io/download/ 下载windows二进制安装版本,安装好之后将graphviz的安装路径添加到
环境变量当中去 注:安装graphviz时最好选择将安装选项选择为,“所有人”)

第二步:

如果你使用的是anaconda中的spyder或者是ipython等,如果测试:
from keras.utils import np_utils
from keras.utils import plot_model


.....
.....
plot_model(model, to_file='model.png')

出现错误提示: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work

如果你此时已经确保了graphviz和pydot_ng正确安装,并且graphviz的环境变量已经配置到path目录当中了。那么这个错误提示其实是个很误导人的提示。

经过查看keras.utils的源码,如下:

解决windows+python3环境下,keras可视化遇到pydot&graphviz无法导入问题_第1张图片

从源码当中我们可以看到,当pydot.Dot.create(pydot.Dot())抛出异常时会抛出 Failed to import pydot异常消息。
进一步地,当我们在当前python(ipython)窗口中输入:
import pydot_ng as pydot
pydot.Dot.create(pydot.Dot())

会由错误提示:
InvocationException: GraphViz's executables not found

到了这一步,大家应该很明白出现问题真正地原因了,即,没有执行权限。
在windows系统当中,如果你把graphviz安装在C(系统)盘里,你通过命令行窗口来打开spyder或者ipython之类的,你时需要获得管理元权限才能正常调用graphviz来绘图的。

所以,解决问题的办法就是打开cmd(命令行窗口)的时候,用管理员的身份打开,这样就能正常运行了!

你可能感兴趣的:(解决windows+python3环境下,keras可视化遇到pydot&graphviz无法导入问题)