关于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爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
详解django的serializer序列化model几种方法
Oct 16 Python
详解django自定义中间件处理
Nov 21 Python
python学生管理系统学习笔记
Mar 19 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 Python
3种python调用其他脚本的方法
Jan 06 Python
Python 实现将数组/矩阵转换成Image类
Jan 09 Python
python自动点赞功能的实现思路
Feb 26 Python
总结python 三种常见的内存泄漏场景
Nov 20 Python
详解Python中的文件操作
Jan 14 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 Python
如何用Python编写一个电子考勤系统
Feb 08 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之可变变量的实例详解
2017/09/12 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
python定时执行指定函数的方法
2015/05/27 Python
Python实现八大排序算法
2016/08/13 Python
深入解答关于Python的11道基本面试题
2017/04/01 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
通过python爬虫赚钱的方法
2019/01/29 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
IE滤镜与CSS3效果(详细整理分享)
2013/01/25 HTML / CSS
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
组工干部对照检查材料
2014/08/25 职场文书
与美同行演讲稿
2014/09/13 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
论文致谢词范文
2015/05/14 职场文书
三八节活动简报
2015/07/20 职场文书
初中语文教学研修日志
2015/11/13 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers