参考网站

a)   https://zhuanlan.zhihu.com/p/24833574?utm_source=tuicool&utm_medium=referral

b)   https://github.com/yosinski/deep-visualization-toolbox

c)   https://zhuanlan.zhihu.com/p/22129880?refer=startdl

d)   http://jingyan.baidu.com/article/8ebacdf0cdc64949f75cd555.html

最近在研究深度学习的各种框架,目前研究到深度学习常用的一些辅助工具,比如说可视化工具,可以得到深度学习模型每一层的可视化结果,便于加深对于深度学习各种网络模型的理解。

目前调研到的可视化工具主要有:

今天只关注在Azure的Ubuntu Server 14.04虚拟机中的Deep Visualization Toolbox的安装和使用。

1. 创建Azure Ubuntu Server 14.04虚拟机并实现远程桌面访问

a)   创建Azure虚拟机(Ubuntu Server 14.04)

Azure是微软的公有云平台,其上提供各种强大的功能,今天使用的是Azure上提供的IaaS服务——虚拟机服务。首先需要有一个Azure的订阅,才能使用Azure上面提供的各种各样的资源服务。

i.       登录Azure (https://portal.azure.com

ii.      在左侧菜单中选择虚拟机服务,点击Ubuntu Server,选择Ubuntu Server 14.04 LTS,选择“创建”

iii.       填写设备参数,包括虚机名称、虚机类型、用户名、密码、选择订阅、资源组以及位置信息,点击“确认”

iv.      选择虚机大小,不同大小的费用不相同(一般会有推荐,也可以点击查看更多,查看所有虚机大小选项)

v.       配置虚拟网络和存储等信息

vi.      选择购买,开始部署虚机,约10分钟

b)   打开远程桌面访问端口

为了保证最高的安全性,微软Azure部署的Linux虚机最初只支持SSH(TCP/22)连接。为了实现远程桌面连接,需要打开RDP(TCP/3389)连接。这里就涉及到网络安全组的概念。网络安全组可以简单理解为一套端口打开或者关闭的组合,控制连接到虚机的端口状态。

下面就来打开RDP连接:

找到部署的虚机(如CaffeVM),点击左侧菜单中的网卡(NIC)菜单,选择列表中的相应的网卡。

在弹出的菜单中选择网络安全组,并选择相对应的网络安全组。

选择“Inbound security rules”,点击添加按钮

添加一个RDP(TCP/3389)连接

最后重启虚机即可。

c)   Ubuntu Server 14.04安装图形界面及远程桌面访问(此部分参考文档d)

  • 安装xrdp:

命令行模式输入“sudo apt-get install xrdp”

  • 安装vnc4server (Virtual Network Computing)

命令行模式输入“sudo apt-get install vnc4server”

  • 安装xfce4 (一个轻量级的类Unix的桌面操作系统)

命令行模式输入"sudo apt-get install xubuntu-desktop"-->回车-->输入root用户的密码-->回车-->输入"y"-->回车-->输入"echo "xfce4-session" >~/.xsession"-->回车-->输入"sudo service xrdp restart"-->回车,安装完成。

注意:这样安装之后,使用terminal的时候tab补全的会出现问题,此时可以这样解决:

首先依次打开Application Menu > Settings > Window Manager, 选择“Keyboard”标签页,清除“Switch window for same application”设置即可。

d)   最后查询虚机的public IP (如果没有使用静态IP服务,Azure虚机每次关机后都会释放IP,重启后重新分配public IP),然后远程桌面连接即可(登录用户名和密码是创建虚机的时候设置的)

2. 在虚拟机中安装Caffe和Deep Visualization Toolbox

(此部分参考文档a、b,操作就不重复,只是记录一下操作中遇到的问题以及解决办法)

问题1: Step 2的时候安装scipy的时候报错,提示没有scipy模块。查询之后发现安装python-scipy即可(部署的虚机默认是安装该模块)

问题2: 在编辑settings_local.py的时候,不仅要设置caffevis_caffe_root,而且还要设置caffevis_mode_gpu = False, 否则不使用GPU的话会报错(我们部署的ubuntu虚机不带GPU,Azure上也提供GPU虚机,可参考 http://www.cnblogs.com/ToBeCoder/p/6491864.html)

最终结果:运行成功!!!

这个工具还是挺有意思的,可以看到每层每个神经元的结构和内容,并且可以进行可视化。左上角是输入图片,中间的部分是对图片经过网络(这里是CaffeNet)进行前向传播之后得到feature map的可视化,我们可以通过上下左右控制光标移动,按'h'键可以查看按键的功能,我们尝试移动一下光标,看一下conv5的第151个feature map, 左边的中间区域是feature map的放大版本,右侧上方的九张图片是参数化的可视化方法(gradient ascent),这里暂且不提,右侧中间区域就是使用在上面提到的方法,得到的这个feature map的前9张响应图片块,下方是对这几张图片进行反卷积的结果。

基本的按键:

e 切换下一张

w 切换上一张

b 对某一个feature map进行反卷积

o 光标不变,切换下一层

u 光标不变,切换上一层

h 打开帮助菜单

在Azure Ubunt Server 14.04虚机中使用Deep-Visualization-Toolbox的更多相关文章

  1. Ubuntu Server 14.04在VMware安装的一些事儿

    这几天一直在折腾Ubuntu Server 14.04,故记录下: 安装前的准备: 1.建议安装英文版,像15.04.16.04等安装中文版时存在bug,而且中文版字体显示也有问题. 2.Ubuntu ...

  2. Ubuntu Server 14.04 集成

    方便工作出差显示项目整合了下平时常用软件: OS: Ubuntu Server 14.04 VM:VMware Workstation 12.1.0 (不同版本好像会不兼容) 已经安装软件: 1. s ...

  3. Ubuntu Server 14.04升级Ubuntu Server 16.04

    Ubuntu Server 14.04升级Ubuntu Server 16.04 :转 http://blog.csdn.net/chszs 1.终端下执行命令 $ sudo apt-get upda ...

  4. U盘安装ubuntu server 14.04

    U盘安装ubuntu server 14.04 U盘安装ubuntu server 14.04 1.制作启动u盘 2.开始安装 1 将u盘插入主机,重启后从u盘启动 2 选择语言(随便挑,随便选),我 ...

  5. u盘安装ubuntu server 14.04 以及No CD-ROM drive was detected 错误

    u盘安装ubuntu server 14.04 1:下载ubuntu server14的 iso镜像文件 2:下载 UltraISO U盘镜像制作工具 : 3:使用Ultra iOS 将下载好的 is ...

  6. Ubuntu Server 14.04 下root无法ssh登陆

    今天安装了Ubuntu Server 14.04   在终端配置了root密码后,使用SecureCRT和putty竟然不能ssh登陆,SecureCRT一直提示密码不对,但是可以肯定输入的密码100 ...

  7. Ubuntu server 14.04 交叉编译Unicorn-engine

    Ubuntu server 14.04 交叉编译Unicorn-engine 编译的过程基本上按照的是unicorn/COMPILE-WINDOWS.md描述的进行编译的,不过还是改了一些地方.在Ub ...

  8. Ubuntu Server 14.04 LTS(64bit)已安装 weblogic Server 12c(12.1.3) Zip Distribution

    这里说的对Ubuntu Server 14.04 LTS(64bit)已安装weblogic Server 12c(12.1.3) Zip Distribution遇到的问题.至于Windows什么好 ...

  9. Ubuntu Server 14.04 & Apache2.4 虚拟主机、模块重写、隐藏入口文件配置

    环境: Ubuntu Server 14.04 , Apache2.4 一.Apache2.4 虚拟主机配置 01. 新建一份配置文件 在apache2.4中,虚拟主机的目录是通过/etc/apach ...

随机推荐

  1. Mybatis教程(一)

    1      Mybatis教程(一) 学习过的持久层框架:DBUtils , Hibernate Mybatis就是类似于hibernate的orm持久层框架. 为什么学Mybatis? 目前最主流 ...

  2. JSP点击计数器

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/hits-counter.html: 一个点击计数器能得知关于网站某个特定页面的访问量.假设人们第一次登陆 ...

  3. elk实时日志分析平台部署搭建详细实现过程

    原文:http://blog.csdn.net/mchdba/article/details/52132663 1.ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:以下内容 ...

  4. docker: 通过docker方式安装jenkins

    1. docker pull jenkins 2. docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home:z -t jenkins ...

  5. 编程精粹--编写高质量C语言代码(3):自己设计并使用断言(二)

    接着上一遍文章<<编程精粹--编写高质量C语言代码(2):自己设计并使用断言(一)>>,继续学习怎样自己设计并使用断言,来更加easy,更加不费力地自己主动寻找出程序中的错误. ...

  6. myEclipse怎样将程序部署到tomcat(附录MyEclipse调试快捷键)

    部署 1.选中你要部署的项目,在工具栏找到 Deploy MyEclipse J2EE Project to Server 2.单击Add,即出现例如以下界面.选择对应的Server,要和你在配置to ...

  7. HDU 2054 A == B ?(找小数点)

    题目链接:pid=2054" target="_blank">http://acm.hdu.edu.cn/showproblem.php?pid=2054 Prob ...

  8. Java对话框总结

    总结起来非常easy: 1,对话框类型:消息.确认,选项.输入 2,选择图标:错误,信息.警告.问题,无或者自己定义 3,选择消息:字符串,图标.自己定义组件或者他们的集合 4.对于确认对话框,选择选 ...

  9. Cocos2d-x学习笔记(12)(CCControlSwitch开关、CCControlSlider滑动条、CCControlButtonbutton)

    CCEditBox.CCControlSwitch.CCControlSlider.CCControlColourPicker.CCControlButton等都是Cocos2d-x 2.x的最新UI ...

  10. MongoDB 学习笔记一 安装以及基础命令

    一.MongoDB安装配置 1.获取最新版本号: wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz 2.解压缩就可 ...