J'utilise Anaconda Python 2.7 sur Windows 10
J'avais prévu de faire la visualisation Keras alors (alors que spyder était ouvert), j'ai ouvert l'invite de commande Anaconda et installé pip graphviz et pydot. Maintenant, quand j'essaie, lancez ce qui suit:
from keras.models import Sequential
ou toute sorte de "de keras." , J'obtiens l'erreur:
ImportError: cannot import name gof
J'ai désinstallé et réinstallé Keras, Graphviz et pydot. J'utilise la version de développement de theano. Je ne trouve pas de solution.
P.S
Si je désinstalle graphviz et pydot, keras fonctionne à nouveau
MODIFIER
Après avoir désinstallé et réinstallé anaconda, y compris theano, keras, graphviz et pydot , le message d'erreur suivant s'affiche:
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.
J'ai utilisé pip install graphviz
et pip install git+https://github.com/nlhepler/pydot.git
Le message d'erreur est un peu trompeur, comme vous pouvez le voir ici . Le problème est que graphviz n'est pas installé.
Mais vous mentionnez que graphviz a été installé à l’aide de pip. Cela est également trompeur car ce paquet graphviz n’est qu’un wrapper python et que les fichiers binaires graphviz doivent être installés séparément pour que le wrapper python fonctionne.
J'ai eu le même problème. J'utilise Anaconda Python sur Ubuntu. mais il semble que Keras utilise le python du système et non le python Anaconda. Initialement, j'ai installé pydot et graphviz en utilisant conda. Quand j'ai installé pydot et graphviz dans le python du système (en utilisant/usr/bin/pip install pydot), cela a bien fonctionné.
Si vous utilisez un environnement Anaconda, vous feriez mieux d'installer pydotplus
et graphviz
via conda install
.
conda install graphviz
conda install pydotplus
Remarque: Vous feriez mieux de mettre à jour votre Keras vers la version la plus récente (2.0.9+), il peut automatiquement vérifier et choisir laquelle parmi pydotplus
, pydot-ng
, pydot
à utiliser. pydot-ng
n'a plus été maintenu depuis longtemps et ne supporte que py3.4- et py2.7.
Keras 2.0.6 cherche pydot-ng (mieux entretenu), puis s’il n’est pas trouvé, retombe sur pydot. J'ai résolu ce problème en installant pydot-ng à partir de source .
Installez graphviz par brew dans osx brew install graphviz
, pour utiliser apt-get install graphviz
par Ubuntu, vous n'avez pas besoin d'installer graphviz par pip.
J'ai eu le même problème avec mes keras (sans anaconda). J'ai résolu mon problème en utilisant cette façon
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
Pour Anaconda sur Mac:
Pour installer ce paquet avec conda run:
conda install -c anaconda graphviz
Installez graphviz
sur le système. Téléchargez le package à partir de ici ou sur Mac:
brew install graphviz
Installez python pydot-ng et graphviz wrapper.
pip install pydot-ng graphviz
conda install -c anaconda pydot-ng #Anaconda user
Utilisez pydot-ng
dans votre code
import pydot_ng as pydot
Si les utilitaires de visualisation Keras utilisent toujours pydot, essayez de remplacer import pydot
par import pydot_ng as pydot
dans visualize_util.py
1) Conda install graphviz
2) pip install graphviz
3) pip installer pydot
puis:
import os
os.environ["PATH"] += os.pathsep + AppData\\Local\\Continuum\\anaconda3\\envs\\tensorflow\\Library\\bin\\graphviz'