ImportError: Не удалось импортировать `pydot`. Пожалуйста, установите `pydot`. Например, с помощью `pip install pydot` - PullRequest
1 голос
/ 29 марта 2019

Я пытаюсь визуализировать модель Keras, используя Ipython и keras.utis.vis_utils. Но я получаю следующую ошибку.

ImportError: Не удалось импортировать pydot. Пожалуйста, установите pydot. Например> с pip install pydot.

Используемый код:

Eg модель = ggv.h5

from IPython.display import SVG
from keras.utils.vis_utils import model_to_dot
SVG(model_to_dot(model).create(prog='dot', format='svg'))

Traceback

Traceback (most recent call last):
  File "C:\Users\VW3ZTWS\PycharmProjects\Data_Collection_and_learnings\venv\lib\site-packages\IPython\core\interactiveshell.py", line 2869, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-49-b1aadf48e3ac>", line 5, in <module>
    SVG(model_to_dot(model).create(prog='dot', format='svg'))
  File "C:\Users\VW3ZTWS\PycharmProjects\Data_Collection_and_learnings\venv\lib\site-packages\keras\utils\vis_utils.py", line 55, in model_to_dot
    _check_pydot()
  File "C:\Users\VW3ZTWS\PycharmProjects\Data_Collection_and_learnings\venv\lib\site-packages\keras\utils\vis_utils.py", line 20, in _check_pydot
    'Failed to import `pydot`. '
ImportError: Failed to import `pydot`. Please install `pydot`. For example with `pip install pydot`.

Я попытался удалить pydot, graphviz и снова установил его. Но ошибка остается такой же.

В таком случае, что будет лучшим решением для визуализации модели

1 Ответ

2 голосов
/ 29 марта 2019

Если вы получаете эту ошибку в ноутбуке jupyter, есть вероятность, что вы используете интерпретатор python, отличный от системного по умолчанию.

В блокноте попробуйте это:

import sys
%$sys.executable -m pip install pydot

Этот фрагмент передаст путь вашего текущего интерпретатора Python в терминал и запустит pip как модуль для установки библиотеки.

Проверьте эту ссылку для получения дополнительной информации

Если вы используете другого переводчика, то сначала выясните, какой из них вы используете: print(sys.executable)

Затем используйте эту информацию для запуска в терминале: path_to_the_interpeter -m pip install pydot

Другим способом было бы сделать это из вашего кода:

import subprocess
import sys

def install(library):
    subprocess.call([sys.executable, "-m", "pip", "install", library])

try:
    import pydot
except ImportError:
    install('pydot')
    import pydot

Но я предпочитаю устанавливать библиотеки из терминала и поддерживать мой код в чистоте.

...