keras plot_model 告诉我安装 pydot
Posted
技术标签:
【中文标题】keras plot_model 告诉我安装 pydot【英文标题】:keras plot_model tells me to install pydot 【发布时间】:2018-04-21 16:11:03 【问题描述】:我在 Windows 10 机器上使用 python 3.6.3。我通过以下方式使用 pip install 安装了 pydot 和 graphviz:
py -m pip install pydot
py -m pip install graphviz
我还去了graphviz网站并在此处下载并安装了Windows版本:http://www.graphviz.org/Download_windows.php默认安装到程序文件(x86)。但是当我在 keras 中绘制我的模型时,我仍然收到错误消息,说我必须安装 pydot 和 graphviz 并且导入失败。我可以的
import pydot
import graphviz
在我的 python 控制台上很好,它们不会抛出任何错误。我还应该做什么才能绘制我的神经网络?
【问题讨论】:
试试:py -m pip3 install pydot py -m pip3 install graphviz
我没有 pip3。但通常如果我只使用已经用于 python 3 cus 的“py -m pip”来进入 python 2,我必须执行 py -2.7 -m pip install...等。另外,我用 python 3 测试了 import 语句,它可以工作。
【参考方案1】:
安装的 GraphViz 可执行文件(dot
、neato
等)的路径需要在PATH
environment variable 中,以便pydot
找到它们。 pydot
在早期版本中用于搜索那些可执行文件,但not any more。
还有:
pydot
是一个 Python 包。
GraphViz 是一组用于计算图形布局的工具 written in C
graphviz
是一个与 pydot
完全无关的 Python 包。这两个 Python 包不以任何方式相互交互。安装其中一个就足够了(连同 GraphViz)。
另见:
https://github.com/erocarrera/pydot/issues/126 https://github.com/erocarrera/pydot/commit/812e3c40dac1e0225391481073c64da5bafba93e#commitcomment-18236709 https://github.com/erocarrera/pydot/commit/812e3c40dac1e0225391481073c64da5bafba93e#commitcomment-18222580以及来自那里的链接。
【讨论】:
那是否意味着我必须进入pydot的源代码并手动添加graphviz的路径? 我想通了,抱歉,我以前从未对我的 Windows PATH 变量进行过编辑。 如果用户直接调用pydot
(而不是通过keras
或其他中介),那么中间的解决方案是通过Dot.write_*
的prog
参数传递路径或Dot.create_*
方法(参见 this docstring)。但是,不鼓励使用此解决方案。最好设置一个环境配置,并在重新安装操作系统时复制它。在 *nix 系统中,这通常在 ~/.bashrc
中完成(我建议将此配置文件提交到 git
存储库)。
用完整的程序查看这个答案 -> ***.com/a/50025414/6126603
@dataLeo keras >= 2.1.6
已更新为pydot
的最新版本:github.com/keras-team/keras/pull/9904【参考方案2】:
作为@Ioannis 答案的补充,您必须通过 conda (conda install GraphViz
) 安装 GraphViz 可执行文件。
就我而言,安装 GraphViz 后,我尝试使用最新的 pydot (pip install pydot
) 并解决了错误。
【讨论】:
【参考方案3】:为了完成@dataLeo 的解决方案,Python 3 用户可以使用 pydotplus 包而不是 pydot-ng 包。总结一下:
-
通过命令“conda install pydot”和“conda install -c conda-forge pydotplus”安装 pydot+graphviz 和 pydotplus。
转到 vis_utils.py 文件并将第 11 行从
import pydot
更改为
import pydotplus as pydot
。
PS:您可以通过在 ipython 控制台中查看 plot_model 命令的帮助来找到 vis_utils.py 文件,即在from keras.utils import plot_model
之后,在 ipython 控制台中键入 ??plot_model
。
使用 Anaconda python-3.6 在 Windows 10-64 位上测试
【讨论】:
【参考方案4】:我通过安装软件包解决了这个问题:
conda install graphviz
conda install pydot
conda install pydotplus
【讨论】:
以上是关于keras plot_model 告诉我安装 pydot的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 M1 在 MacOS 上安装 h5py(Keras 需要)?