Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法


Keras中提供了一个神经网络可视化的函数plot,并可以将可视化结果保存在本地。plot使用方法如下:

from keras.utils.visualize_util import plot
plot(model, to_file='model.png')

:笔者使用的Keras版本是1.0.6

不过这项功能依赖于graphviz模块与pydot模块,因此需要先安装这两个模块,并安装graphviz软件本身(笔者安装的版本为2.38)。

安装步骤

  1. 命令行输入 pip install graphviz
  2. 安装graphviz软件。官网地址为http://www.graphviz.org/
    • 解压版:配置环境变量。将安装目录中的graphviz-2.38\release\bin添加进Path环境变量
    • 安装版:安装msi
  3. 命令行输入pip install pydot==1.1.0
    • :此处需要指定安装1.1.0版本的pydot,是因为最新版(截止2016.8最新版本号是1.2.x)中find_graphviz函数是deprecated的,使用时会报错

测试方法

使用以下脚本

# 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.visualize_util import plot 旧版

from keras.utils.vis_utils import plot_model

def run(): # 构建神经网络 model = Sequential() model.add(Dense( 4, input_dim= 2, init= 'uniform')) model.add(Activation( 'relu')) model.add(Dense( 2, init= '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'])

运行效果(随便举个例子,model是之前定义好的):


plot_model(model, to_file='model.png', show_shapes=True)
Image('model.png')

if __name__ == '__main__': run()

输出结果:


神经网络可视化结果


作者:monitor1379
链接:http://www.jianshu.com/p/275aad639b5e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(python,tensorflow)