Keras: "RuntimeError: не удалось импортировать pydot."после установки graphviz и pydot

я использую Anaconda Python 2.7 в windows 10

я планировал сделать визуализацию Keras, поэтому (пока spyder был открыт) я открыл командную строку Anaconda и pip установил graphviz и pydot. Теперь, когда я пытаюсь запустить следующее:

from keras.models import Sequential

или любого рода "от кераса."Я получаю ошибку:

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:Anaconda2libsite-packageskerasutilsvisualize_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

9 ответов


сообщение об ошибке вводит в заблуждение, как вы можете видеть здесь. Проблема в том, что программ не установлено.

но вы упоминаете, что graphviz был установлен с помощью pip. Это также вводит в заблуждение, так как этот пакет graphviz является просто оболочкой python, а двоичные файлы graphviz должны быть установлены отдельно для работы оболочки python.


Keras 2.0.6 ищет pydot-ng (лучше поддерживается), а затем, если он не найден, возвращается на pydot. Я решил эту проблему, установив pydot-ng из источник.


если вы используете среду Anaconda, вам лучше установить pydotplus и graphviz via conda install.

conda install graphviz
conda install pydotplus

Примечание.: Вам лучше обновить Keras до последней версии (2.0.9+), он может автоматически проверять и выбирать, какой из pydotplus,pydot-ng,pydot использовать. pydot-ng долгое время не поддерживался, и он поддерживает только py3.4-и py2.7.


У меня была та же проблема. Я использую Anaconda python на Ubuntu. но это швы, что Keras использует python системы, а не Anaconda python. Первоначально я установил pydot и graphviz с помощью conda. Когда я установил pydot и graphviz в python системы (используя /usr/bin/pip install pydot), он работал нормально.


установите graphviz с помощью brew в osx brew install graphviz, для использования ubuntu apt-get install graphviz, Не нужно устанавливать graphviz по pip.


У меня была аналогичная проблема с моим 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

для Anaconda на Mac:

чтобы установить этот пакет с помощью conda run:

conda install -c anaconda graphviz


  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 pydot to import pydot_ng as pydot на visualize_util.py


1) Conda установить graphviz
2) pip установить graphviz
3) pip установить pydot
затем:

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