关于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 相关文章推荐
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
python中列表的切片与修改知识点总结
Jul 23 Python
Python使用scrapy爬取阳光热线问政平台过程解析
Aug 14 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
python sklearn常用分类算法模型的调用
Oct 16 Python
Python生成器常见问题及解决方案
Mar 21 Python
基于python实现检索标记敏感词并输出
May 07 Python
python设置表格边框的具体方法
Jul 17 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 Python
python for循环赋值问题
Jun 03 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中一个控制字符串输出的函数
2006/10/09 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
python中requests库session对象的妙用详解
2017/10/30 Python
Django开发中复选框用法示例
2018/03/20 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
Django实现随机图形验证码的示例
2020/10/15 Python
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
八年级历史教学反思
2014/01/10 职场文书
销售顾问岗位职责
2014/02/25 职场文书
百日安全活动总结
2014/05/04 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
元旦晚会活动总结
2014/07/09 职场文书
团队拓展活动方案
2014/08/28 职场文书
2014年教育工作总结
2014/11/26 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang