关于Keras模型可视化教程及关键问题的解决

所属分类: 脚本专栏 / python 阅读数: 434
收藏 0 赞 0 分享

keras提供简单方便的模型可视化工具,只需一行代码就可以用框图的形式可视化出你搭建的网络结构。对于复杂网络而言,这个工具就是个神器呀。

这篇文章是解决win10环境下的keras模型可视化工具所遇到的问题,Linux暂时还没有尝试(不过也可以借鉴)。

大致环境是:

OS: win10
python==3.5.4
keras==2.2.0
pydot==1.2.4
pydot_ng==1.0.0

首先,你可以查看keras官方文档教程

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

这两行代码实现可视化?

其实还是有些问题的,因为你并没有安装GraphViz。

教程

pip install graphviz
pip install pydot
pip install pydot_ng

注意:光用pip安装以上两个模块还是不够的

还需要安装GraphViz:

1. http://www.graphviz.org/

在这个网站上下载对应系统的graphviz,如果觉得找得麻烦,可以在CSDN上下载我上传的。直接解压就是.msi文件,可以在win10上直接运行安装。安装路径都可以默认。

2. 设置环境变量

首先,按win+e键弹出文件窗口

然后,右键此电脑 →属性→高级系统设置→环境变量

就可以呼出这么一个画面:

然后点击下面的系统变量列表中的Path,点击编辑就可以

然后,新建→浏览→选出Graphviz2.38/bin的路径

一直确定保存就可以了。

>>>import os
>>>os.environ.get('PATH', '')

就可以查看自己设置的环境变量是不是在列表里面,在的话就说明成功了。

在这个时候,理论上是可以使用keras可视化了。可以用以下代码验证一波:

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.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']) 
  # 神经网络可视化 
  plot_model(model, to_file='model.png') 

if __name__ == '__main__': 
  run()

运行结果如下:

顺便跑了以下VAE的网络结构:

整体上,效果不错。主要是,使用方便。

以上这篇关于Keras模型可视化教程及关键问题的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

QML用PathView实现轮播图

这篇文章主要为大家详细介绍了QML用PathView实现轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Opencv图像处理:如何判断图片里某个颜色值占的比例

这篇文章主要介绍了Opencv图像处理:如何判断图片里某个颜色值占的比例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

python golang中grpc 使用示例代码详解

这篇文章主要介绍了python golang中grpc 使用,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈python opencv对图像颜色通道进行加减操作溢出

这篇文章主要介绍了浅谈python opencv对图像颜色通道进行加减操作溢出,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

解决python运行启动报错问题

这篇文章主要介绍了解决python运行启动报错问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python常见反爬虫机制解决方案

这篇文章主要介绍了Python常见反爬虫机制解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题

这篇文章主要介绍了解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

pycharm设置默认的UTF-8编码模式的方法详解

这篇文章主要介绍了pycharm设置默认的UTF-8编码模式,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈Pycharm的项目文件名是红色的原因及解决方式

这篇文章主要介绍了浅谈Pycharm的项目文件名是红色的原因及解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python网络爬虫四大选择器用法原理总结

这篇文章主要介绍了Python网络爬虫四大选择器用法原理总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多