Keras使用plot_model报错处理记录
错误提示:
ImportError Traceback (most recent call last)
<ipython-input-25-e62037c345f9> in <module>
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系统下的点我下载
下载完成之后,需要配置一下环境变量:
重启一下编译器试一下能能不能成功。如果还是报的同样的错误,那就把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遇到这个花了好长时间才搞定,所以记录一下。如果处理不了,欢迎评论区提问。