ImportError : Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.

问题描述

from keras.utils.vis_utils import plot_model
plot_model(cnn_1D, to_file='model.png', show_shapes=True, show_layer_names=True)
在运行上述代码,想要对keras框架搭建的模型进行可视化时,遇到了如文章标题所示的错误。看到这个报错,我立马拿出看家本领,pip install pydot和pip install graphviz,可是不顶用,依旧报错。该报错非常具有误导性。

解决方法

一通百度之后找到了一种靠谱的解决方法,分为以下两步:

1.首先安装 pydot_ng:pip install pydot_ng(因为pydot已经过时了)

2.在这里https://graphviz.gitlab.io/download/,下载安装相应的graphviz,我安装的是window版本的,找安装包的时候也是有点头疼,所以下面留下在网站中找到安装包的过程

ImportError : Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work._第1张图片

出现如下界面:

ImportError : Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work._第2张图片

依次点击10/ -> cmake/ -> Release -> x64 -> graphviz-install-2.44.2~dev.20201009.0508-win64.exe。点击这个exe文件即开始下载了

安装过程中会出现如下的选择题(如下图所示),我选的是第三个,最后是可以使用的。有的博客中推荐的是第二个选项。安装完成后将graphviz添加到系统路径中(添加路径的方法我是参考这篇博客的

https://www.cnblogs.com/onemorepoint/p/8310996.html)

安装过程结束并将graphviz加入系统路径后,进入cmd界面,输入dot -version,然后按回车,如果显示graphviz的相关版本信息,则安装配置成功。安装完成之后重启ide,试试看能不能运行。

ImportError : Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work._第3张图片

遇到的问题

我在完成上面两个步骤后,运行程序依旧报错(抓狂.jpg),在解决的过程中,一共遇到了两个问题。

第一个问题

完成上述步骤后运行模型可视化程序依旧报错,参考大佬博客(以管理员模式运行自己的ide)

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

第二个

在解决上述第一个问题后,我又试着运行如下程序

import pydot_ng as pydot
pydot.Dot.create(pydot.Dot())
出现了如下报错
pydot_ng.InvocationException: Program terminated with status: 1. stderr follows: Format: "ps" not recognized. Use one of:
该问题参考了这位大佬的博客

https://blog.csdn.net/qq_43166422/article/details/105540575

即在cmd中输入doc -c

ImportError : Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work._第4张图片

至此,我完成了对模型的可视化
enjoying!

还有另一种显示keras模型结构的方法:
model = Sequential()
model.add添加一系列layer
使用model.summary()就可以输出网络结构了

你可能感兴趣的:(python,graphviz,windows)