参考网站

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. Layui图标

    layui 图标 layui 的所有图标全部采用字体形式,取材于阿里巴巴矢量图标库(iconfont).因此你可以把一个 icon 看作是一个普通的文字,这意味着你直接用 css 控制文字属性,如 c ...

  2. [bzoj1112][POI2008]砖块Klo_非旋转Treap

    砖块Klo bzoj-1112 POI-2008 题目大意:$N$柱砖,希望有连续$K$柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖 ...

  3. Ubuntu 16.04利用SecureCRT上传/下载文件(sz/rz命令)

    说明:XShell同样也是支持的. 一.安装软件 sudo apt-get install lrzsz 二.sz下载文件用法: #下载一个文件 sz filename #下载多个文件 sz filen ...

  4. JSP的异常处理

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/exception-handling.html: 当写JSP代码的时候,有可能会留下一个编码错误,并且它会 ...

  5. Jsp标签字典开发_基于Spring+Hibernate

    目录 1. Jsp标签字典开发_基于Spring+Hibernate 1.1. 简述 1.2. 定义DictItem实体 1.3. 定义字典的@interface 1.4. 定义字典缓存类 1.5. ...

  6. ArcGIS for Android离线数据编辑实现原理

    来自:http://blog.csdn.net/arcgis_mobile/article/details/7565877 ArcGIS for Android中现已经提供了离线缓存图片的加载功能,极 ...

  7. R语言入门学习笔记 - 对R软件的认识

    一.R软件 1.安装R:自行百度☺ 2.R控制台(R Console)和R程序脚本: 打开R软件,就会直接打开控制台,控制台可以显示程序运行的结果.错误提示等信息,也可以直接输入想要执行的操作并立即返 ...

  8. linux系统编程:线程同步-信号量(semaphore)

    线程同步-信号量(semaphore) 生产者与消费者问题再思考 在实际生活中,仅仅要有商品.消费者就能够消费,这没问题. 但生产者的生产并非无限的.比如,仓库是有限的,原材料是有限的,生产指标受消费 ...

  9. 操作系统——IO管理

    一.IO系统结构 在计算机系统中.cpu要和很多外设进行交互.比方鼠标,键盘,网卡等等. 1.IO是怎样协调工作的那? (1)对于设备来说,其有两部分组成,一部分是机械部分,还有一部分是电子控制部分. ...

  10. [Java] 监控java对象回收的原理与实现

    监控Java对象回收的原理与实现 一.监控Java对象回收的目的 监控Java对象是否回收的目的是:为了实现内存泄露报警. 内存泄露是指程序中对象生命周期(点击查看详情)已经进入不可见阶段,但因为编码 ...