我在Windows 10上使用Anaconda Python 2.7
我计划进行Keras可视化(当Spyder打开时)我打开了Anaconda命令提示符并点击安装了graphviz和pydot。现在,当我尝试运行以下内容时:
from keras.models import Sequential
或来自keras的任何类型的"" ,我收到错误:
ImportError: cannot import name gof
我已经卸载并重新安装了Keras,Graphviz和pydot。我正在使用theano的开发版本。我找不到修复方法。
P.S
如果我卸载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
答案 0 :(得分:36)
错误消息有点误导,您可以看到here。问题是没有安装graphviz。
但是你提到graphviz是使用pip安装的。这也是误导,因为graphviz包只是一个python包装器,并且graphviz binaries必须单独安装才能使python包装器工作。
答案 1 :(得分:5)
如果您使用的是Anaconda环境,最好通过pydotplus
安装graphviz
和conda install
。
conda install graphviz
conda install pydotplus
注意:
您最好将Keras更新到最新版本(2.0.9 +),它可以自动检查并选择要使用的pydotplus
,pydot-ng
,pydot
中的哪一个。 pydot-ng
已经很长时间没有维护了,它只支持py3.4-和py2.7。
答案 2 :(得分:3)
我遇到了同样的问题。我在Ubuntu上使用Anaconda python。但它的接缝是Keras使用系统的python而不是Anaconda python。最初,我使用conda安装了pydot和graphviz。当我在系统的python中安装pydot和graphviz时(使用/ usr / bin / pip install pydot)它工作正常。
答案 3 :(得分:3)
Keras 2.0.6寻找pydot-ng(维护得更好)然后如果找不到,则回到pydot上。我通过从source安装pydot-ng解决了这个问题。
答案 4 :(得分:2)
在osx brew install graphviz
中通过brew安装graphviz,对于ubuntu使用apt-get install graphviz
,不需要通过pip安装graphviz。
答案 5 :(得分:1)
我和我的Keras(没有anaconda)有类似的问题。我用这种方式解决了我的问题
mongoose.Promise = global.Promise;
var mongoConnectOpts = {
poolSize: 50,
reconnectTries: 10,
reconnectInterval: 500,
socketOptions: {
keepAlive: 300000, connectTimeoutMS: 30000
}
}
mongoose.connect(config.connectionString, { server: mongoConnectOpts, replset: mongoConnectOpts });
答案 6 :(得分:1)
我的所作所为。
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 Anaconda上python = 3.6.8
答案 7 :(得分:0)
对于Mac上的Anaconda:
使用conda run:
安装此软件包 conda install -c anaconda graphviz
答案 8 :(得分:0)
将graphviz
安装到系统中。从here或在Mac上下载软件包:
brew install graphviz
安装python pydot-ng和graphviz包装器。
pip install pydot-ng graphviz
conda install -c anaconda pydot-ng #Anaconda user
在代码中使用pydot-ng
import pydot_ng as pydot
如果Keras可视化工具仍然使用pydot,请尝试将import pydot
中的import pydot_ng as pydot
更改为visualize_util.py
答案 9 :(得分:0)
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'
答案 10 :(得分:0)
以下内容在jupyter/tensorflow-notebook
Docker容器中运行的jupyter笔记本中运行。
!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
答案 11 :(得分:0)
如果通过pip安装,则与pydot或graphviz无关。
您应该下载graphviz brinary并安装。
不要忘记将bin文件夹添加到PATH中:C:/ Program Files(x86)/Graphviz2.38/bin /
然后关闭并重新打开控制台。
答案 12 :(得分:0)
安装pydot和graphviz并将graphviz添加到路径后,您可以重启IDE或终端。 see here.