关于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处理按钮消息的实例详解
Jul 11 Python
微信跳一跳python辅助软件思路及图像识别源码解析
Jan 04 Python
python书籍信息爬虫实例
Mar 19 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
Python开发之基于模板匹配的信用卡数字识别功能
Jan 13 Python
TensorFlow实现从txt文件读取数据
Feb 05 Python
python主要用于哪些方向
Jul 05 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
May 31 Python
Python还能这么玩之用Python修改了班花的开机密码
Jun 04 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
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
PHP中overload与override的区别
2017/02/13 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JS跨域总结
2012/08/30 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
JS delegate与live浅析
2013/12/21 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
Javascript之图片的延迟加载的实例详解
2017/07/24 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
JS typeof fn === 'function' && fn()详解
2020/08/22 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
Python2.x版本中maketrans()方法的使用介绍
2015/05/19 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
世界上最大的二手相机店:KEN
2017/05/17 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
函授毕业生的自我鉴定
2013/11/26 职场文书
人力资源经理自我评价
2014/01/04 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
求职信如何撰写?
2019/05/22 职场文书