keras plot_model говорит мне установить pydot
Я использую Python 3.6.3 на машине с Windows 10. Я установил pydot и graphviz с помощью pip install через:
py -m pip install pydot
py -m pip install graphviz
Я также зашел на сайт graphviz и скачал и установил версию для Windows здесь: http://www.graphviz.org/Download_windows.php которая по умолчанию установлена для программных файлов (x86). Но когда я собираюсь построить свою модель в керасе, я все равно получаю сообщение об ошибке, в котором говорится, что мне нужно установить pydot и graphviz, и что импорт не удался. я могу сделать
import pydot
import graphviz
на моей консоли python просто отлично, они не выдают ошибок. Что еще я должен сделать, чтобы иметь возможность отобразить мою нейронную сеть?
4 ответа
Путь к установленным исполняемым файлам GraphViz (dot
, neato
и т. д.) должны быть в PATH
переменная среды, для того, чтобы pydot
найти их. pydot
используется для поиска этих исполняемых файлов в более ранних версиях, но не больше.
Также:
pydot
это пакет Python- GraphViz - это набор инструментов, написанных на C для вычисления макетов графов
graphviz
это пакет Python, совершенно не связанный сpydot
, Эти два пакета Python никак не взаимодействуют друг с другом. Достаточно установить один из них (вместе с GraphViz).
Смотрите также:
- https://github.com/erocarrera/pydot/issues/126
- https://github.com/erocarrera/pydot/commit/812e3c40dac1e0225391481073c64da5bafba93e
- https://github.com/erocarrera/pydot/commit/812e3c40dac1e0225391481073c64da5bafba93e
и ссылки оттуда.
Просто для завершения решения @dataLeo пользователи Python 3 могут использовать пакет pydotplus вместо пакета pydot-ng. Подвести итоги:
- Установите pydot+graphviz и pydotplus с помощью команд "conda install pydot" и "conda install -c conda-forge pydotplus".
- Перейдите в файл vis_utils.py и измените строку 11 из
import pydot
вimport pydotplus as pydot
,
PS: Вы можете найти файл vis_utils.py, проверив справку по команде plot_model в консоли ipython, т.е. после from keras.utils import plot_model
, тип ??plot_model
в консоли ipython.
Протестировано на Windows 10-64 бит с Anaconda python-3.6
В дополнение к ответу @Ioannis вам необходимо установить исполняемые файлы GraphViz через conda (conda install GraphViz
).
В моем случае после установки GraphViz я попробовал использовать последнюю версию pydot (pip install pydot
) и ошибка была устранена.
Я решил эту проблему, установив пакеты с:
conda install graphviz
conda install pydot
conda install pydotplus