无法导入pydot

时间:2018-01-29 18:23:17

标签: python keras

我正在尝试打印VGG16模型的模型摘要,并绘制模型并将其保存在.png文件中。

from keras.applications.vgg16 import VGG16
from keras.utils.vis_utils import plot_model

#Creating the object of VGG16 model
model=VGG16()
print(model.summary()) 
plot_model(model,to_file='vgg.png')

我还按照建议here安装了以下软件包。

pip install pydot
pip install graphviz
pip install pydot-ng

这是在Windows10机器上的Python3.5上运行的。

以下是错误:

追踪(最近一次呼叫最后一次):

File "<ipython-input-4-d5d9b64127c4>", line 1, in <module>
    runfile('C:/Users/Mohanakrishna/Desktop/Work/ObjectDetection.py', 
    wdir='C:/Users/Mohanakrishna/Desktop/Work')

    File "c:\users\mohanakrishna\appdata\local\programs\python\python35\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "c:\users\mohanakrishna\appdata\local\programs\python\python35\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/Mohanakrishna/Desktop/Work/ObjectDetection.py", line 14, in <module>
    plot_model(model,to_file='vgg.png')

  File "c:\users\mohanakrishna\appdata\local\programs\python\python35\lib\site-packages\keras\utils\vis_utils.py", line 135, in plot_model
    dot = model_to_dot(model, show_shapes, show_layer_names, rankdir)

  File "c:\users\mohanakrishna\appdata\local\programs\python\python35\lib\site-packages\keras\utils\vis_utils.py", line 56, in model_to_dot
    _check_pydot()

  File "c:\users\mohanakrishna\appdata\local\programs\python\python35\lib\site-packages\keras\utils\vis_utils.py", line 31, in _check_pydot
    raise ImportError('Failed to import pydot. You must install pydot'

ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。无论出于何种原因,在Windows 10上,即使我添加到路径,它也不想找到graphviz。所以最后我通过添加

解决了
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

到我的项目。