关于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模型可视化教程及关键问题的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python进度条实时显示处理进度的示例代码

    Python进度条实时显示处理进度的示例代码

    本篇文章主要介绍了Python进度条实时显示处理进度的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 浅谈python数据类型及类型转换

    浅谈python数据类型及类型转换

    这篇文章主要介绍了浅谈python数据类型及类型转换,介绍了python中的数据类型,以及数据的不可变性,还有字符串,列表等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Python Pandas实现数据分组求平均值并填充nan的示例

    Python Pandas实现数据分组求平均值并填充nan的示例

    今天小编就为大家分享一篇Python Pandas实现数据分组求平均值并填充nan的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 在Django中进行用户注册和邮箱验证的方法

    在Django中进行用户注册和邮箱验证的方法

    这篇文章主要介绍了在Django中进行用户注册和邮箱验证的方法的相关资料,需要的朋友可以参考下
    2016-05-05
  • 解决Pycharm界面的子窗口不见了的问题

    解决Pycharm界面的子窗口不见了的问题

    今天小编就为大家分享一篇解决Pycharm界面的子窗口不见了的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python使用matplotlib实现基础绘图功能示例

    Python使用matplotlib实现基础绘图功能示例

    这篇文章主要介绍了Python使用matplotlib实现基础绘图功能,结合实例形式分析了Python基于matplotlib实现正弦、余弦图形及多轴图的相关绘制操作技巧,需要的朋友可以参考下
    2018-07-07
  • python ftfy库处理金融方面文件编码错误实例详解

    python ftfy库处理金融方面文件编码错误实例详解

    这篇文章主要为大家介绍了使用python ftfy库处理金融方面文件编码错误实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Flask框架中的session设置详解

    Flask框架中的session设置详解

    Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用Werkzeug,模板引擎则使用 Jinja2 。Flask使用BSD授权。Flask也被称为 “microframework”,因为它使用简单的核心,用extension增加其他功能
    2023-02-02
  • 如何利用pygame实现简单的五子棋游戏

    如何利用pygame实现简单的五子棋游戏

    这篇文章主要给大家介绍了关于如何利用pygame实现简单的五子棋游戏的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用pygame具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • 详解python os.walk()方法的使用

    详解python os.walk()方法的使用

    今天给大家带来的是关于Python的相关知识,文章围绕python os.walk()方法的使用展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06

最新评论