关于Keras模型可视化教程及关键问题的解决
keras提供简单方便的模型可视化工具,只需一行代码就可以用框图的形式可视化出你搭建的网络结构。对于复杂网络而言,这个工具就是个神器呀。
这篇文章是解决win10环境下的keras模型可视化工具所遇到的问题,Linux暂时还没有尝试(不过也可以借鉴)。
大致环境是:
| OS:win10 |
|---|
| python==3.5.4 |
| keras==2.2.0 |
| pydot==1.2.4 |
| pydot_ng==1.0.0 |
首先,你可以查看keras官方文档教程。
fromkeras.utilsimportplot_model plot_model(model,to_file='model.png')
这两行代码实现可视化?
其实还是有些问题的,因为你并没有安装GraphViz。
教程
pipinstallgraphviz pipinstallpydot pipinstallpydot_ng
注意:光用pip安装以上两个模块还是不够的
还需要安装GraphViz:
1.http://www.graphviz.org/
在这个网站上下载对应系统的graphviz,如果觉得找得麻烦,可以在CSDN上下载我上传的。直接解压就是.msi文件,可以在win10上直接运行安装。安装路径都可以默认。
2.设置环境变量
首先,按win+e键弹出文件窗口
然后,右键此电脑→属性→高级系统设置→环境变量
就可以呼出这么一个画面:
然后点击下面的系统变量列表中的Path,点击编辑就可以
然后,新建→浏览→选出Graphviz2.38/bin的路径
一直确定保存就可以了。
>>>importos
>>>os.environ.get('PATH','')
就可以查看自己设置的环境变量是不是在列表里面,在的话就说明成功了。
在这个时候,理论上是可以使用keras可视化了。可以用以下代码验证一波:
importnumpyasnp
fromkeras.modelsimportSequential
fromkeras.layers.coreimportDense,Activation
fromkeras.optimizersimportSGD
fromkeras.utilsimportnp_utils
fromkeras.utils.vis_utilsimportplot_model
defrun():
#构建神经网络
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'])
#神经网络可视化
plot_model(model,to_file='model.png')
if__name__=='__main__':
run()
运行结果如下:
顺便跑了以下VAE的网络结构:
整体上,效果不错。主要是,使用方便。
以上这篇关于Keras模型可视化教程及关键问题的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。