关于Keras模型可视化教程及关键问题的解决

 更新时间:2020年01月24日 10:20:24   作者:木盏  
今天小编就为大家分享一篇关于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的网络结构:

整体上,效果不错。主要是,使用方便。

以上这篇关于Keras模型可视化教程及关键问题的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • PyCharm下载和安装详细步骤

    PyCharm下载和安装详细步骤

    这篇文章主要介绍了PyCharm下载和安装详细步骤,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Python3实现的简单三级菜单功能示例

    Python3实现的简单三级菜单功能示例

    这篇文章主要介绍了Python3实现的简单三级菜单功能,涉及Python用户交互以及针对json格式数据的遍历、读取、判断等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • Django model重写save方法及update踩坑详解

    Django model重写save方法及update踩坑详解

    这篇文章主要介绍了Django model重写save方法及update踩坑详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python发送http请求解析返回json的实例

    Python发送http请求解析返回json的实例

    下面小编就为大家分享一篇Python发送http请求解析返回json的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 使用Python找出水仙花数的方法介绍

    使用Python找出水仙花数的方法介绍

    水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,本文就给大家简单聊聊如何使用Python找出水仙花数,感兴趣的同学可以参考阅读
    2023-07-07
  • django中F表达式和Q函数应用与原理详解

    django中F表达式和Q函数应用与原理详解

    F对象查询与Q对象查询,刚看到大家一定会感到很陌生,其实它们也是 Django 提供的查询方法,而且非常的简单的高效,下面这篇文章主要给大家介绍了关于django中F表达式和Q函数应用与原理的相关资料,需要的朋友可以参考下
    2023-05-05
  • Python实现读取txt文件中的数据并绘制出图形操作示例

    Python实现读取txt文件中的数据并绘制出图形操作示例

    这篇文章主要介绍了Python实现读取txt文件中的数据并绘制出图形操作,涉及Python文件读取、数值运算及基于pylab库的图形绘制相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • Python代码列表求并集,交集,差集

    Python代码列表求并集,交集,差集

    这篇文章主要介绍了Python代码列表求并集,交集,差集,下面文章讲详细的介绍如何利用python代码实现并集,交集,差集的相关资料展开内容,需要的朋友可以参考一下
    2021-11-11
  • Python中判断子串存在的性能比较及分析总结

    Python中判断子串存在的性能比较及分析总结

    这篇文章主要给大家总结介绍了Python中判断子串存在的性能比较及分析的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Python matplotlib seaborn绘图教程详解

    Python matplotlib seaborn绘图教程详解

    Seaborn是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图。本文将详细讲解如何利用Seaborn绘制图表,需要的可以参考一下
    2022-03-03

最新评论