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


Posted in Python onJanuary 24, 2020

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键弹出文件窗口

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

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

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

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

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

然后,新建→浏览→选出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()

运行结果如下:

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

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

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

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

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

Python 相关文章推荐
用Python制作在地图上模拟瘟疫扩散的Gif图
Mar 31 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
python在文本开头插入一行的实例
May 02 Python
PyQt5固定窗口大小的方法
Jun 18 Python
pywinauto自动化操作记事本
Aug 26 Python
python创建学生成绩管理系统
Nov 22 Python
python返回数组的索引实例
Nov 28 Python
pytorch GAN生成对抗网络实例
Jan 10 Python
Pymysql实现往表中插入数据过程解析
Jun 02 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
python非标准时间的转换
Jul 25 Python
基于keras 模型、结构、权重保存的实现
Jan 24 #Python
Python 文件数据读写的具体实现
Jan 24 #Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 #Python
keras模型可视化,层可视化及kernel可视化实例
Jan 24 #Python
keras 特征图可视化实例(中间层)
Jan 24 #Python
基于keras输出中间层结果的2种实现方式
Jan 24 #Python
tensorflow 保存模型和取出中间权重例子
Jan 24 #Python
You might like
PHP的单引号和双引号 字符串效率
2009/05/27 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
Python random模块用法解析及简单示例
2017/12/18 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
python验证身份证信息实例代码
2019/05/06 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Python递归实现打印多重列表代码
2020/02/27 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
前台岗位职责
2015/02/13 职场文书
公司管理制度范本
2015/08/03 职场文书
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL
java中如何截取字符串最后一位
2022/07/07 Java/Android