#python #keras #ipython #pydot
#python #keras #ipython #pydot
Вопрос:
Я пытаюсь визуализировать модель Keras с помощью Ipython и из keras.utis.vis_utils. Но я получаю следующую ошибку.
ImportError: Не удалось импортировать
pydot
. Пожалуйста, установитеpydot
. Например > сpip install pydot
.
Используемый код :
Например, модель = 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 (most recent call last):
File "C:UsersVW3ZTWSPycharmProjectsData_Collection_and_learningsvenvlibsite-packagesIPythoncoreinteractiveshell.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:UsersVW3ZTWSPycharmProjectsData_Collection_and_learningsvenvlibsite-packageskerasutilsvis_utils.py", line 55, in model_to_dot
_check_pydot()
File "C:UsersVW3ZTWSPycharmProjectsData_Collection_and_learningsvenvlibsite-packageskerasutilsvis_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:
Если вы получаете эту ошибку в записной книжке jupyter, есть вероятность, что вы используете интерпретатор python, отличный от системного по умолчанию.
В записной книжке попробуйте это:
import sys
%$sys.executable -m pip install pydot
Этот фрагмент передаст путь к вашему текущему интерпретатору python в терминал и запустит pip в качестве модуля для установки библиотеки.
Проверьте эти ссылки для получения дополнительной информации
- https://docs.python.org/3/installing/index.html
- https://ipython.readthedocs.io/en/stable/interactive/magics.html
Если вы используете другой интерпретатор, сначала выясните, какой из них вы используете: 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
Но я предпочитаю устанавливать библиотеки с терминала и поддерживать свой код в чистоте.
Комментарии:
1. @ponraj.rajesh Концепция та же, сначала вам нужно знать путь к вашему интерпретатору, затем вы можете установить его с помощью
-m
опции. Проверьте обновленный ответ.2. Мой путь к интерпретатору после выполнения
print(sys.executable)
являетсяC:UsersVW3ZTWSPycharmProjectsData_Collection_and_learningsvenvScriptspython.exe
. Теперь я попытался установить его через’ кодimport subprocess import sys def install(library): subprocess.call([sys.executable, "-m", "pip", "install", library]) install('pydot')
3.После выполнения это показывает
Requirement already satisfied: pydot in c:usersvw3ztwspycharmprojectsdata_collection_and_learningsvenvlibsite-packages (1.4.1) Requirement already satisfied: pyparsing>=2.1.4 in c:usersvw3ztwspycharmprojectsdata_collection_and_learningsvenvlibsite-packages (from pydot) (2.3.0)
Теперь я попытался визуализировать, используя вышеупомянутую строку кодов, но повторяется та же ошибка… @alec_djinn4. Тогда я не знаю. Попробуйте удалить его и переустановить.
5. Нет, pydot или требующей его библиотеки