关于Keras模型可视化教程及关键问题的解决
作者:木盏 发布时间:2021-03-19 10:39:07
标签:Keras,模型,可视化
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键弹出文件窗口
然后,右键此电脑 →属性→高级系统设置→环境变量
就可以呼出这么一个画面:
然后点击下面的系统变量列表中的Path,点击编辑就可以
然后,新建→浏览→选出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()
运行结果如下:
顺便跑了以下VAE的网络结构:
整体上,效果不错。主要是,使用方便。
来源:https://blog.csdn.net/leviopku/article/details/81433867


猜你喜欢
- Python 3 的可迭代解包在 PEP 3132 - Extended Iterable Unpacking 里面描述了一种对可迭代对象的
- JavaScript lastIndexOf 方法lastIndexOf 方法用于计算指定的字符串在整个字符串中最后一次出现的位置,并返回该
- 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Mic
- 最近在用vue做项目,学习了不少东西,但是有时候光顾着做项目却忘记要找个时间来整理一下最近的一些学习新得,因为是新手,所以可能会有错误的地方
- 前言 PCA降维,一般是用于数据分析和机器学习
- 前言本文将深入研究 preg_replace /e 模式下的代码执行问题,其中包括 preg_replace 函数的执行过程分析、正则表达式
- 导言在前面的指南中我们研究了如何显示一个简单的主/从报表, 该报表使用DropDownList和GridView控件, DropDownLi
- 目录文件读写读文件写文件StringIO和BytesIOStringIOBytesIO操作文件和目录环境变量操作文件和目录文件读写读文件tr
- python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手。python爬虫微博根据微博存在于不同媒介上,
- 本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下目录简介实现过程结语简介使用python实现pygame版的五
- 本文实例讲述了Python SVM(支持向量机)实现方法。分享给大家供大家参考,具体如下:运行环境Pyhton3numpy(科学计算包)ma
- 关于 pynput pynput 可以监控我们的键盘和鼠标。目前具有此类功能的库有很多,比如 pygame 等游戏库,但是当我们只需要
- 一、UNION和UNION ALL的作用和语法UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION
- 1、远程服务器上安装jupyter notebook(配置jupyter_notebook_config.py文件)sudo pip ins
- 做了一个网站,放到线上,用微信打开,点击分享,可是分享后发给朋友的链接卡片是微信默认自带的,如下: 这标题,描述以及图片是默认自带
- 任何一门编程语言都离不开对各种工具包的使用,工具包的管理就显得异常重要了。Go 的包管理方式是逐渐演进的,本文介绍Go语言的两种包管理模式。
- git 报错信息:OpenSSL SSL_read: Connection was reset, errno 10054Git 中 push
- insert into testtable(recordnumber,currentdate) values (i,sysdate); pr
- 1. 代码完整的源代码:import torchfrom torch import nn# 定义一个LSTM模型class LSTM(nn.
- SET @SQL = 'SELECT * FROM Comment with(nolock) WHERE 1=1 &nbs