Keras网络结构可视化工具
来源:互联网 发布:linux ssh配置文件详解 编辑:程序博客网 时间:2024/05/19 18:13
Keras的utils包里带了一个vis_utils组件(2.0.2版本),该组件应该就是早先版本的Keras当中的visualize_utils组件。利用该组件,可以很轻松地用一行代码,将已建立神经网络模型的示意图输出到一张图片。例如,一个简单的多层前馈网络模型,可以按照如下模式输出
虽然不是特别详细,不过也算得上帮助理解的示意图,因此有必要开发一下这个功能。而由于该可视化组件依赖于一些外部的应用,要想正常使用也需要一些额外的配置。
Keras的可视化依赖于pydot和GraphViz两个组件,首先介绍一下GraphViz的安装。
GraphViz的安装
GraphViz是一个用于可视化的应用。在Python中,调用其功能需要具备两个条件:
- 系统上安装了GraphViz的应用程序;
- Python环境里安装了GraphViz的Python库。
首先,先进行应用程序的安装,还是去官网下载,进入:
GraphViz的Windows版本官方下载页面
我装的是目前为止的最新版,也就是2.38版本
由于官方表明目前安装程序已经没法有效地处理PATH环境变量,所以其实这里选哪个包下都行,并且可以安装到自定义路径,后面会给出让应用程序可以被Python库调用的方法。
下载完成后,直接安装或解压到一个路径(默认或自定义的都行)。然后,可以在python中安装对应的GraphViz库,直接在Windows命令行中进行pip安装即可,命令如下
- 1
等待pip下载安装完成后,GraphViz组件的安装就结束了。
pydot的安装
pydot虽然只涉及python库,但情况反而比GraphViz还复杂一点……首先,写此文之时,最新的兼容python 3.5的pydot版本已经是1.2.3,但该版本已经不能与新版的keras兼容。因为,新版pydot废弃了find_graphviz()方法,而keras的vis_utils中,其_check_pydot_()函数仍然会调用pydot.find_graphviz()方法,故会报错。而能够兼容keras的pydot版本为1.1.0,这一问题原文形容在此:Keras中神经网络可视化模块keras.utils.visualize_util 的安装配置与错误解决办法
解决这一问题,如果你正在使用比较新版本的keras(如目前的2.0.2),最简便的方式是安装pydot_ng。目前,2.0.2版本的keras已经以import pydot_ng来取代了pydot,而pydot_ng则可以直接通过pip安装:
- 1
安装完成后,需要建立pydot到GraphViz应用程序的连接,让pydot可以找到GraphViz的应用。官方建议的方式是,在环境变量PATH中添加GraphViz的bin目录,而find_graphviz()方法会在Path变量、注册表、常用目录等地方尝试搜索GraphViz的应用。
然而一来我第一次尝试将GraphViz/bin目录添加到PATH中后,find_graphviz()依然找不到目标程序;二来因为电脑里装了不少环境,PATH里再加一个无非是添乱……因此这里给出一个彻底解决方案:直接改pydot.find_graphviz()的代码。
进入“$Anaconda安装目录$/Lib/site-packages/pydot_ng”目录,用代码编辑器打开“__init__.py”文件,定位到< line 615>的位置,在代码注释“# Failed to find GraphViz”之前加入以下代码块:
- 1
- 2
- 3
- 4
- 5
记得把变量改到具体的安装目录,然后保存退出编辑器。接下来就简单验证一下安装,打开Windows命令行,输入python进入python交互环境,逐行运行如下代码:
- 1
- 2
如果正常找到程序的话,你会得到如下输出
这样,keras就可以正常调用pydot_ng和GraphViz了。
没想到写到这里就写了一堆……CIFAR-10的测试下次再写吧,恩,就酱= =
- Keras网络结构可视化工具
- keras 网络结构可视化方式
- caffe:网络结构可视化工具
- Caffe 网络结构可视化
- Caffe-网络结构可视化
- caffe网络结构可视化
- Caffe 网络结构可视化
- 网络结构可视化步骤
- caffe网络结构可视化
- keras查看网络结构,复现别人网络结构的时候要保持尺寸的一致,用可视化的图会比较便利
- Keras实现LeNet-5网络,并可视化网络结构图
- 使用Netscope(神经网络结构在线可视化工具 )绘制网络结构视图
- 神经网络结构可视化工具Netscope
- Keras入门课5 -- 网络可视化及训练监控
- 深度学习 网络结构 可视化
- keras的模型可视化
- Keras <一> 可视化model
- Keras 可视化 model visualization
- String 类的各种方法
- Maven搭建SSH案例(一)-----常见报错解决
- java获取网页字符集
- Android 学习日志02 托管UI Fragment
- 数组和集合练习
- Keras网络结构可视化工具
- 关于java 获取 html select标签 下拉框 option 文本内容 隐藏域
- 09 JS的window.document对象
- Python logging 模块详解
- linux 长连接个数限制
- Win7 U盘安装Ubuntu16.04 双系统详细教程
- bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter:No such file or directory
- jQuery插件之ajaxFileUpload
- Android RxJava+Retrofit2.0+MVP的小试牛刀