keras可视化遇到pydot&graphviz无法导入问题

报错:RuntimeError: Failed to import pydot. You must install pydot and graphviz  for `pydotprint` to work
这个报错十分具有误导性……即使执行了pip install pydot;pip install pydot-ng;pip install graphviz还是有这个报错。

报错的原因其实不在于pydot,跟python包没有关系,而是因为graphviz需要安装二进制执行文件(跟imagick类似),所以还需要去官网下一个graphviz安装包安装:

官网地址在这里



选择第一个msi一路next就可以,然后在环境变量的path里面添加可执行文件的环境变量:



如图上最后一条的路径。

最后执行以下测试代码:

# encoding: utf-8
"""
@author: monitor1379 
@contact: [email protected]
@site: www.monitor1379.com

@version: 1.0
@license: Apache Licence
@file: test_keras2.py
@time: 2016/8/17 16:51
"""

import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.optimizers import SGD
from keras.utils import np_utils
from keras.utils import plot_model


def run():
    # 构建神经网络
    model = Sequential()
    model.add(Dense(4, input_dim=2, kernel_initializer='uniform'))
    model.add(Activation('relu'))
    model.add(Dense(2, kernel_initializer='uniform'))
    model.add(Activation('sigmoid'))
    sgd = SGD(lr=0.05, decay=1e-6, momentum=0.9, nesterov=True)
    model.compile(loss='binary_crossentropy', optimizer=sgd, metrics=['accuracy'])

    # 神经网络可视化
    plot_model(model, to_file='model.png')

if __name__ == '__main__':
    run()
可以的话,可以看到输出:


那就OK了。


猜你喜欢

转载自blog.csdn.net/hahajinbu/article/details/72859849