关于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高效编程技巧
Jan 07 Python
python格式化字符串实例总结
Sep 28 Python
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
使用DataFrame删除行和列的实例讲解
Apr 08 Python
Python不同目录间进行模块调用的实现方法
Jan 29 Python
python实现一个简单的ping工具方法
Jan 31 Python
Python Collatz序列实现过程解析
Oct 12 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
Python getattr()函数使用方法代码实例
Aug 10 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 Python
教你怎么用python selenium实现自动化测试
May 27 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
第十一节--重载
2006/11/16 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
python 编程之twisted详解及简单实例
2017/01/28 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
python 字符串追加实例
2019/07/20 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
医学院学生的自我评价分享
2013/11/19 职场文书
机械电子工程毕业生自荐信
2013/11/23 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
学习演讲稿范文
2014/05/10 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
使用numpy nonzero 找出非0元素
2021/05/14 Python
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang