Caffe学习系列——工具篇:神经网络模型结构可视化

原创 2016年11月13日 10:40:26

在Caffe中,目前有两种可视化prototxt格式网络结构的方法:

  • 使用Netscope在线可视化
  • 使用Caffe提供的draw_net.py

本文将就这两种方法加以介绍

1. Netscope:支持Caffe的神经网络结构在线可视化工具

  Netscope是个支持prototxt格式描述的神经网络结构的在线可视工具,网址:
  http://ethereon.github.io/netscope/quickstart.html
  它可以用来可视化Caffe结构里prototxt格式的网络结构,支持从GitHub Gist或者编辑器中可视化Caffe的网络结构。
  使用起来也非常简单,打开这个地址:http://ethereon.github.io/netscope/#/editor

  点击Launch Editor,把你的描述神经网络结构的prototxt文件复制到该编辑框里,按shift+enter,就可以直接以图形方式显示网络的结构。
  比如,以mnist的LeNet网络结构为例,把Caffe中example/mnist/lenet_train_test.prototxt文件的内容复制到编译框,按shift + enter,立即就可以得到可视化的结构图。
      这里写图片描述

2. 使用 python/draw_net.py绘制网络模型

  python/draw_net.py, 这个文件,就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。
  在绘制之前,需要先安装两个库:GraphViz和pydot。 Graphviz是一个开源的可视化软件,能够以抽象的图和网络表示结构信息,广泛使用于网络,生物信息学,软件工程等领域。

  
  1、安装GraphViz
  # sudo apt-get install GraphViz
  注意,这里用的是apt-get来安装,而不是pip.
  2 、安装pydot
  # sudo pip install pydot
  用的是pip来安装,而不是apt-get

  安装好了,就可以调用脚本来绘制图片了

  draw_net.py执行的时候带三个参数

>

第一个参数:网络模型的prototxt文件
第二个参数:保存的图片路径及名字
第二个参数:–rankdir=x , x 有四种选项,分别是LR, RL, TB, BT 。用来表示网络的方向,分别是从左到右,从右到左,从上到小,从下到上。默认为LR。

例:绘制Lenet模型

# sudo python python/draw_net.py examples/mnist/lenet_train_test.prototxt netImage/lenet.png --rankdir=TB

      这里写图片描述

3. 总结

   使用Netscope绘制出的图直观简洁,易于快速了解网络模型,但是缺少层内的细节信息;
  使用draw_net.py绘制出的结构图保存了参数信息,细节更丰富,但是结构不是很清晰明了,这一点在大型模型上的体现尤为明显:
  Netscope SSD 300x300模型
  这里写图片描述

  draw_net.py SSD 300x300模型
  这里写图片描述
  如上图所示,对于复杂模型,Netscope能够较好地按安排各层图像的布局,使得SSD模型可视化结果更直观。缺点是博主没有找到本地化吧保存Netscope可视化结果的方法,在线查看大型模型不是很方便。
  

4. Reference

[1] 10km. Netscope:支持Caffe的神经网络结构在线可视化工具
http://blog.csdn.net/10km/article/details/52713027
[2] denny的学习专栏. Caffe学习系列(18): 绘制网络模型
http://www.cnblogs.com/denny402/p/5106764.html

Caffe神经网络结构汇总

文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 自2012年Alexnet赢得了ImageNet竞赛以来,深度学习(神经网络)得到了飞速发展,产生了许多的神经...
  • Quincuntial
  • Quincuntial
  • 2017年06月01日 15:58
  • 3155

【深度学习】在Caffe中配置神经网络的每一层结构

层结构,是神经网络(Neural Networks)建模和计算的最基本单元。由于神经网络有不同的层结构,不同类型的层又有不同的参数。所以,对Caffe的每一层配置都不一样,而层结构和参数都预先定义在p...
  • ws_20100
  • ws_20100
  • 2015年10月16日 21:33
  • 11778

【神经网络与深度学习】Caffe使用step by step:caffe框架下的基本操作和分析

caffe虽然已经安装了快一个月了,但是caffe使用进展比较缓慢,果然如刘老师说的那样,搭建起来caffe框架环境比较简单,但是完整的从数据准备->模型训练->调参数->合理结果需要一个比较长的过程...
  • LG1259156776
  • LG1259156776
  • 2016年09月15日 18:10
  • 1361

可视化caffe模型结构及在线可视化

假设Caffe的目录是$(CAFFE_ROOT) 1.编译caffe的python接口$ make pycaffe2.装各种依赖$ pip install pydot $ sudo apt-get ...
  • jiandanjinxin
  • jiandanjinxin
  • 2016年02月18日 15:28
  • 1790

强烈推荐一个在线caffe网络可视化工具!!

简直想奔走相告!! 在线的caffe网络可视化工具: http://ethereon.github.io/netscope/quickstart.html 可以可视化写的网络结构,鼠标移上...
  • u011070171
  • u011070171
  • 2016年10月09日 16:19
  • 5200

caffe 提取特征并可视化(已测试可执行)及在线可视化

参考主页: http://lijiancheng0614.github.io/2015/08/21/2015_08_21_CAFFE_Features/ http://nbviewer.ipyth...
  • jiandanjinxin
  • jiandanjinxin
  • 2015年12月26日 21:24
  • 19026

caffe:利用python分类,并可视化模型参数、数据

caffe的分类与模型可视化
  • u013989576
  • u013989576
  • 2017年04月23日 17:17
  • 1725

Caffe 网络结构可视化

可以利用python接口实现网络结构的可视化,便于直观理解。注:主要参考《21天实战caffe》1.准备Python环境1.1安装Pythonsudo apt-get update sudo apt-...
  • u012938704
  • u012938704
  • 2016年09月19日 14:57
  • 6105

【caffe源码研究】第二章:使用篇(5) : 模型可视化

使用python可以比较方便的将模型的过程可视化,看看中间的结果。我在一个预测年龄的python脚本后面进行。拿之前的数字识别来做实验也可以。 原脚本如下 : mean_filename='mean...
  • fangjin_kl
  • fangjin_kl
  • 2016年12月26日 20:30
  • 391

caffe权值可视化,特征可视化,网络模型可视化

-------------------------------------------------------------------------------- 权值可视化 对训练后的网络权值进行...
  • jingtingxu369
  • jingtingxu369
  • 2016年11月01日 17:02
  • 1175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Caffe学习系列——工具篇:神经网络模型结构可视化
举报原因:
原因补充:

(最多只允许输入30个字)