29

我在 Windows 10 上使用 Anaconda Python 2.7

我正计划进行 Keras 可视化,所以(当 spyder 打开时)我打开了 Anaconda 命令提示符并 pip 安装了 graphviz 和 pydot。现在,当我尝试运行以下命令时:

from keras.models import Sequential

或任何形式的“来自 keras”。,我得到错误:

ImportError: cannot import name gof

我已经卸载并重新安装了 Keras、Graphviz 和 pydot。我正在使用theano的开发版本。我找不到修复方法。

附言

如果我卸载 graphviz 和 pydot,keras 会再次工作

编辑

卸载 anaconda 并重新安装包括 theano、keras、graphviz 和 pydot 后,我​​现在收到以下错误:

from keras.utils.visualize_util import plot

Using Theano backend.
Using gpu device 0: GeForce GTX 970M (CNMeM is disabled, cuDNN not available)
Traceback (most recent call last):

  File "<ipython-input-1-65016ddab3cd>", line 1, in <module>
  from keras.utils.visualize_util import plot

  File "C:\Anaconda2\lib\site-packages\keras\utils\visualize_util.py", line  8, in <module>
  raise RuntimeError('Failed to import pydot. You must install pydot'

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

pip install graphviz我用过pip install git+https://github.com/nlhepler/pydot.git

4

13 回答 13

51

如您在此处看到的,错误消息有点误导。问题是未安装graphviz。

但是您提到 graphviz 是使用 pip 安装的。这也是一种误导,因为该 graphviz 包只是一个 python 包装器,并且必须单独安装graphviz 二进制文件才能使 python 包装器工作。

于 2016-04-27T12:56:52.243 回答
10

如果您使用的是 Anaconda 环境,您最好安装pydotplusgraphviz通过conda install.

conda install graphviz
conda install pydotplus

注意:您最好将您的 Keras 更新到最新版本(2.0.9+),它会自动检查并选择要使用的pydotpluspydot-ng、中的哪一个。很久没维护了,目前只支持py3.4-和py2.7。pydotpydot-ng

于 2017-11-05T09:12:14.530 回答
4

我所做的事情被遵循。

import keras
import pydotplus
from keras.utils.vis_utils import model_to_dot
keras.utils.vis_utils.pydot = pydot

plot_model(your_model_name, to_file='model.png')

这对我有用。在 mac 蟒蛇 python=3.6.8

于 2019-04-14T03:13:21.063 回答
3

我有同样的问题。我在 Ubuntu 上使用 Anaconda python。但似乎 Keras 使用系统的 python 而不是 Anaconda python。最初,我使用 conda 安装了 pydot 和 graphviz。当我在系统的 python 中安装 pydot 和 graphviz 时(使用 /usr/bin/pip install pydot)它工作得很好。

于 2016-06-04T08:05:53.950 回答
3

Keras 2.0.6 会寻找 pydot-ng(维护得更好),如果没有找到,则使用 pydot。我通过从source安装 pydot-ng 解决了这个问题。

于 2017-08-23T00:58:56.717 回答
2

在osx中​​通过brew安装graphviz brew install graphviz,ubuntu使用apt-get install graphviz,不需要通过pip安装graphviz。

于 2017-07-12T16:08:27.633 回答
1

我的 Keras(没有 anaconda)也有类似的问题。我已经用这种方式解决了我的问题

sudo pip install pydot
sudo pip install graphviz
sudo add-apt-repository ppa:gviz-adm/graphviz-dev
sudo apt-get update
sudo apt-get install graphviz-dev
于 2016-12-28T05:13:42.100 回答
1

1)Conda 安装 graphviz
2)pip 安装 graphviz
3)pip 安装 pydot
然后:

import os os.environ["PATH"] += os.pathsep + AppData\\Local\\Continuum\\anaconda3\\envs\\tensorflow\\Library\\bin\\graphviz'

于 2018-09-20T18:04:40.090 回答
0

对于 Mac 上的 Anaconda:

要使用 conda 安装此软件包,请运行:

conda install -c anaconda graphviz

于 2018-04-12T22:55:32.103 回答
0
  1. 安装graphviz到系统。从这里下载包,或者在 Mac 上:

    brew install graphviz
    
  2. 安装 python pydot-ng 和 graphviz 包装器。

    pip install pydot-ng graphviz
    conda install -c anaconda pydot-ng #Anaconda user
    
  3. pydot-ng在您的代码中使用

    import pydot_ng as pydot
    
  4. 如果 Keras 可视化 utils 仍然使用 pydot,尝试更改import pydotimport pydot_ng as pydotinvisualize_util.py

于 2018-07-10T07:52:25.747 回答
0

以下在 docker 容器中运行的 jupyter notebook 中工作jupyter/tensorflow-notebook

!conda install -y graphviz pydotplus

import pydotplus
import keras.utils
keras.utils.vis_utils.pydot = pydotplus
keras.utils.plot_model(your_model_name, to_file='model.png', show_shapes=True)

你需要告诉 keras 使用pydotplus

于 2019-07-18T04:35:07.280 回答
0

如果您通过 pip 安装,它与 pydot 或 graphviz 无关。

你应该去下载graphviz 二进制文件并安装。

不要忘记将 bin 文件夹添加到 PATH:C:/Program Files (x86)/Graphviz2.38/bin/

之后关闭并重新打开您的控制台。

于 2020-01-13T13:43:55.540 回答
0

安装好pydot和graphviz并将graphviz添加到路径后,可以重启IDE或者终端。看这里。

于 2021-04-27T07:29:58.153 回答