Keras学习笔记:Keras使用plot_model报错ImportError: Failed to import `pydot`.处理

Keras使用plot_model报错处理记录

错误提示:

ImportError                               Traceback (most recent call last)
 in 
      1 # 模型可视化
----> 2 plot_model(model,to_file=model_vis_file,show_shapes=True)

D:\Program Files\anaconda\envs\py36\lib\site-packages\keras\utils\vis_utils.py in plot_model(model, to_file, show_shapes, show_layer_names, rankdir)
    130             'LR' creates a horizontal plot.
    131     """
--> 132     dot = model_to_dot(model, show_shapes, show_layer_names, rankdir)
    133     _, extension = os.path.splitext(to_file)
    134     if not extension:

D:\Program Files\anaconda\envs\py36\lib\site-packages\keras\utils\vis_utils.py in model_to_dot(model, show_shapes, show_layer_names, rankdir)
     53     from ..models import Sequential
     54 
---> 55     _check_pydot()
     56     dot = pydot.Dot()
     57     dot.set('rankdir', rankdir)

D:\Program Files\anaconda\envs\py36\lib\site-packages\keras\utils\vis_utils.py in _check_pydot()
     18     if pydot is None:
     19         raise ImportError(
---> 20             'Failed to import `pydot`. '
     21             'Please install `pydot`. '
     22             'For example with `pip install pydot`.')

ImportError: Failed to import `pydot`. Please install `pydot`. For example with `pip install pydot`.
​

首先根据提示安装pydot

pip install pydot
pip install graphviz

然后会出现:

`pydot` failed to call GraphViz.Please install GraphViz (https://www.graphviz.org/) and ensure that its executables are in the $PATH.

这里需要安装一个叫GraphViz的东西。下载地址链接
可以找到自己对应的版本进行下载。因为是练习,所以在我先在window下进行,如果你也是window系统下的点我下载
下载完成之后,需要配置一下环境变量:
Keras学习笔记:Keras使用plot_model报错ImportError: Failed to import `pydot`.处理_第1张图片
重启一下编译器试一下能能不能成功。如果还是报的同样的错误,那就把pydot换成pydotplus。方法如下:

pip uninstall pydot
pip install pydotplus

改变之后记得修改一下对应的 utils下的文件。因为plot_model在keras.un.vis_utils所以我们要改一下vis_utils.py文件。

先找到存放packages的文件夹:D:\Program Files\anaconda\envs\py36\Lib\site-packages/(我这个是在虚拟环境下的,如果你的不是虚拟环境下可以找到:D:\Program Files\anaconda\Lib\site-packages 就可以了。)

然后再看调用的是:tensorflow.keras还是Keras:

  • 前者:进入\tensorflow\python\keras\utils
  • 后者:进入\keras\utils

就可以看到vis_utils.py文件了,把里面的pydot全部替换成pydotplus
接下来:重启编译器服务,不重启刷新不了环境变量还是会报错的。

问题就此解决了。

写在最后

因为最近用到Keras遇到这个花了好长时间才搞定,所以记录一下。如果处理不了,欢迎评论区提问。

你可能感兴趣的:(Keras学习笔记)