keras报错:ImportError:无法导入pydot.您必须安装pydot和graphviz才能使pydotprint正常工作

该问题定位的语句一般是你要画模型图,即:plot_model(model,model.png)

ImportError:无法导入pydot.您必须安装pydot和graphviz才能使pydotprint正常工作(ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work)

首先-->该问题一般是要装 pydot 和 graphviz 这两个包,装这个包要注意的问题有:

  1. pip install pydot: 如果你用的是Python 3.6以上的版本,还需要装一下 pydotplus版本,因为Python 3.6以上的版本已经不在支持 pydot的使用。(pip install pydotplus)
  2. windows系统不支持pip 装graphviz包,需要自己去graphviz官网下载一个可用的graphviz包文件,一般下载EXE文件,手动安装。之前的版本还需要自己去配置环境变量,之后的版本装好了就自动配置完环境变量。

其次-->装好以上两个包后,运行代码,还是会报错(ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work),这个问题一般是由于你tensorflow版本的问题导致的,进入到报错的文件,一般是这个路径:E:\Anaconda\Lib\site-packages\tensorflow\python\keras\utils\vis_utils.py

  1. 一般有人让你改这个文件是将其中的pydot替换成pydotplus,不知到谁提出这个方法,反正是不对的。
  2. 经过调试,你会发现报错Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work这个内容是在下图中:

接着往上找_check_pydot()函数,你会发现这里调用了 pydot.Dot.create(pydot.Dot())

以此检查有咩有pydot包,其实你都已经装好了pydotplus这里没必要在检查了,给它注释掉就好了。如下图:

这里已经导入了pydotplus包:

注释好后,保存,运行代码,你就能在项目文件夹里看到你的模型图片(model.png)

至此,打完收工!!!

发布于 2021-04-03 15:23

文章被以下专栏收录