wake-up-neo.com

Keras: "RuntimeError: pydot konnte nicht importiert werden." Nach der Installation von Graphviz und Pydot

Ich verwende Anaconda Python 2.7 unter Windows 10

Ich hatte vor, Keras-Visualisierung zu machen, also öffnete ich den Anaconda-Befehl Prompt (während der Spyder geöffnet war) und installierte Graphviz und pydot. Wenn ich jetzt versuche, folgendes auszuführen:

from keras.models import Sequential

oder irgendeine Art von "aus Keras". Ich bekomme den Fehler:

ImportError: cannot import name gof

Ich habe Keras, Graphviz und pydot deinstalliert und neu installiert. Ich verwende die Entwicklungsversion von Theano. Ich kann keine Korrektur finden. 

P.S

Wenn ich graphviz und pydot deinstalliere, funktionieren die Keras wieder

EDIT

Nach der Deinstallation von Anaconda und der erneuten Installation von theano, keras, graphviz und pydot erhalte ich nun den folgenden Fehler:

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.

Ich habe pip install graphviz und pip install git+https://github.com/nlhepler/pydot.git verwendet

18
ishido

Die Fehlermeldung ist etwas irreführend, wie Sie hier sehen können. Das Problem ist, dass Graphviz nicht installiert ist.

Sie erwähnen jedoch, dass graphviz mit pip installiert wurde. Dies ist auch irreführend, da dieses Paket nur ein Python-Wrapper ist und die Graphviz-Binaries separat installiert werden müssen, damit der Python-Wrapper funktioniert.

35

Ich hatte das gleiche Problem. Ich verwende Anaconda Python unter Ubuntu. Aber es scheint, dass Keras den Python des Systems verwendet, nicht den Anaconda-Python. Anfangs habe ich pydot und graphviz mit conda installiert. Als ich pydot und graphviz im Python des Systems (mit/usr/bin/pip install pydot) installierte, funktionierte es einwandfrei.

3
alhanaei

Wenn Sie eine Anaconda-Umgebung verwenden, sollten Sie pydotplus und graphviz über conda install installieren.

conda install graphviz
conda install pydotplus

Hinweis: Sie sollten Ihre Keras besser auf die neueste Version (2.0.9+) aktualisieren, da sie automatisch prüfen und auswählen kann, welche von pydotplus, pydot-ng, pydot verwendet werden soll. pydot-ng wurde lange Zeit nicht gepflegt und unterstützt nur py3.4- und py2.7.

3
Tom

Was ich getan habe, ist gefolgt.

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')

Das hat bei mir funktioniert. Auf dem Mac Anaconda Python = 3.6.8

3
Yupei

Keras 2.0.6 sucht nach pydot-ng (besser gewartet) und greift dann auf pydot zurück, wenn es nicht gefunden wird. Ich habe dieses Problem durch Installieren von pydot-ng von source behoben. 

3
jok

Installieren Sie graphviz by brew in osx brew install graphviz. Für Ubuntu verwenden Sie apt-get install graphviz. Sie müssen graphviz by pip nicht installieren.

2
yogesh

Ich hatte ein ähnliches Problem mit meinem Keras (ohne Anakonda). Ich habe mein Problem auf diese Weise gelöst

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
1
Eka

Für Anaconda auf dem Mac:

So installieren Sie dieses Paket mit Conda-Run:

conda install -c anaconda graphviz

0
saneryee
  1. Installieren Sie graphviz im System. Laden Sie das Paket von hier oder auf dem Mac herunter:

    brew install graphviz
    
  2. Installieren Sie python pydot-ng und graphviz wrapper.

    pip install pydot-ng graphviz
    conda install -c anaconda pydot-ng #Anaconda user
    
  3. Verwenden Sie pydot-ng in Ihrem Code

    import pydot_ng as pydot
    
  4. Wenn Keras-Visualisierungsdienstprogramme weiterhin pydot verwenden, versuchen Sie, import pydot in import pydot_ng as pydot in visualize_util.py zu ändern.

0
Shih-Wen Su

Das Folgende funktioniert in einem Jupyter-Notizbuch, das in einem Docker-Container jupyter/tensorflow-notebook Ausgeführt wird.

!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)

Sie müssen Keras anweisen, pydotplus zu verwenden

0
BenCaldwell

1) Conda install graphviz
2) pip install graphviz
3) pip install pydot
dann:

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

0
amit pandey