老杨说话的地方
  • 首页
  • 关于老杨
  • 博客时间
  • 文章分类
    • 人生感悟
    • 信息技术
    • 往事随风
    • 情感随笔
    • 文学创作
    • 生活记录
    • 评论杂谈
    • 人工智能
  • 留言本
我是老杨
张驰有度 宠辱不惊
  1. 首页
  2. 信息技术
  3. 正文

DeepMask和SharpMask安装过程-CentOS7

2017年04月24日 4774点热度 0人点赞 1条评论

上面这幅图就是使用SharpMask处理后的图片,宣告为期一天的安装过程顺利结束。只不过用来识别的组件还未成功,但是已经算是进展神速,所以这里先记录这两个组件的安装过程。

[title]什么是DeepMask和SharpMask[/title]

DeepMask和SharpMask是Facebook公司开源的,基于深度学习算法实现的图像处理软件,可以用来将图片中的物体标注出来,并给出一定的概率说明该标注包含一个物体的可能性,然后配合Facebook开源的另外一个软件叫做MultiPathNet来识别这个物体。

[title]开发语言是什么[/title]

DeepMask的开发语言是Lua,这是一种较新的脚本语言,主要用来做数据处理等。DeepMask用到了Torch7这个框架,这个框架是一个Lua的编程框架。同时还用到了很多的其他的基于Lua的深度学习和神经网络的包。

Lua这个语言很好用,至少安装起来很简单,因为它把所有的相关的包都放在所谓的Rocks,一个包就是一个Rock。每个Rock中都有一个配置文件,只需要用一行代码执行一下这个文件,即可安装相应的包。

[title]准备过程[/title]

程序的执行需要的环境为:

Linux操作系统,这里我使用的是CentOS7,因为Torch7默认支持CentOS7.

GPU。这里我用了Nvidia的一块显卡,要求NVIDIA GPU with compute capability 3.5+,只要能满足这个需求的显卡应该都可以。

Torch7及相应的包,主要包括:COCO API, image, tds, cjson, nnx, optim, inn, cutorch, cunn, cudnn,看着挺多的,其实安装起来还是很简单的。

Cuda。这是GPU运算的编程框架。我使用的是Cuda8.还有基于Cuda的深度学习开发包CuDNN。

Git环境。几乎所有的代码都在github,所以有一个github的帐号也是先决条件之一。

[title]操作系统安装[/title]

我安装的是CentOS7的Minimal版本,这个版本没有多余的组件,比较轻,速度也快,安装起来很简单,不再赘述。

[title]Git环境[/title]

安装git:
yum install git

因为我们需要大量的从github下载程序,所以可以使用SSH的方式与github交互。

执行下面的命令生成SSH密钥:

ssh-keygen -C 'your@email.address' -t rsa

把其中的邮箱地址换成你注册github的邮箱地址。

此时会让你输入密钥地址,不用管,默认即可。默认地址是在你的根目录下.ssh文件夹中。然后它会让你输入一个密码。

该文件夹下将生成三个文件,其中一个是id_rsa.pub,找打它并打开,将其中的内容复制出来。

cat ~/.ssh/id_rsa.pub

然后,来到github,你的帐号的setting页面,点击SSH and GPG keys,点击New SSH key,将刚才输出的内容粘帖进去即可。

此时就可以访问github进行clone了,clone时需要输入刚才生成密钥时的密码。

[title]安装Cuda8[/title]

Cuda的安装文件到Cuda Download进行下载。

立即下载

本来我是采用rpm安装,可是别管是Local还是Network都不成功,Network下载到最后出错,Local文件直接下载不下来。Network的下载错误信息是:

Downloading packages: cuda-visual-tools-8-0-8.0.61-1 FAILED =========================================================-] 1.3 MB/s | 273 MB 00:00:00 ETA http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-visual-tools-8-0-8.0.61-1.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=cuda clean metadata Trying other mirror. Error downloading packages: cuda-visual-tools-8-0-8.0.61-1.x86_64: [Errno 256] No more mirrors to try.

所以只能改用sh的安装方式。

sh cuda_8.0.61_375.26_linux.run

接下来会问你几个问题,都很简单,比如说安装目录啊,是否接受协议啊等等。这里要注意一点,在这个包里面是自带Nvidia的驱动的,因此之前不需要安装Nvidia的驱动,如果安装了,需要卸载掉,否则有可能版本冲突。

接下来安装CuDNN。我本来想下最新版,但是总是下不下来,下载页面会报错,不明白啥原因。官方下载地址在这里。

立即下载

因为我下不下来,所以只能去网上找一个,还真让我找到了,这个版本是:cudnn-8.0-linux-x64-v5.1。我放在了百度云上。

[ypbtn]http://pan.baidu.com/s/1hrRSynM[/ypbtn]

tar -xzvf cudnn-8.0-linux-x64-v5.1.tgz

只需要解压缩,然后将路径加入环境变量即可:

vi /etc/profile

export CUDNN_PATH = "/path/to/cuda/lib64/libcudnn.so.5"

source /etc/profile

[title]Torch7安装[/title]

先安装开发工具包:

yum update

yum groupinstall Development Tools​

注意,在CentOS7中,安装软件组的时候不加引号,如果使用CentOS7之前的版本命令:

yum groupinstall "Development Tools"​

则会报错:

Error: No packages in any requested group available to install or update

接下来git一下torch7:

mkdir /home/yongquan/torch

git clone https://github.com/torch/distro.git /home/yongquan/torch --recursive​​

进入目录安装依赖:

cd /home/yongquan/torch
bash install-deps​​

如果前面都执行成功了,这里应该不会报错。

然后执行安装脚本:

./install.sh​​

一般来说也不会报错。

这样,Torch7就安装成功了。

[title]安装依赖[/title]

所需要的包主要是:COCO API, image, tds, cjson, nnx, optim, inn, cutorch, cunn, cudnn。

接下来一个一个安装:

git clone https://github.com/pdollar/coco.git

进入coco目录,执行:

luarocks make LuaAPI/rocks/coco-scm-1.rockspec

注意rockspec这个文件,这个就是rock的描述文件,所有的安装都是使用这个文件,再举一个例子:

cjson的安装方法:

git clone https://github.com/clementfarabet/lua---json.git
cd lua---json/
luarocks install json-1.0-0.rockspec

如果有些包,是有多个rockspec文件的,安装那个不带版本号的,比如:

cutorch的安装:

git clone https://github.com/torch/cutorch.git
cd cutorch/
luarocks install rocks/cutorch-scm-1.rockspec

当然,luarocks远比这个要强大,有些包,就在luarocks的目录中,不需要git项目即可安装,比如:

luarocks install image​

luarocks install tds

所以在安装时,先看看luarocks默认包里面有没有,没有的,再去git上clone,然后找到rockspec文件进行安装,其他包的安装方法都一样,不再赘述了。

[title]安装DeepMask和SharpMask[/title]

其实DeepMask和SharpMask是一个project,地址是:https://github.com/facebookresearch/deepmask。

安装方法很简单:

git clone git@github.com:facebookresearch/deepmask.git DEEPMASK

其中 DEEPMASK是你自己定义的deepmask的目录。

mkdir -p DEEPMASK/pretrained/deepmask; cdDEEPMASK/pretrained/deepmask
wget https://s3.amazonaws.com/deepmask/models/deepmask/model.t7
mkdir -p DEEPMASK/pretrained/sharpmask; cdDEEPMASK/pretrained/sharpmask
wget https://s3.amazonaws.com/deepmask/models/sharpmask/model.t7

其中下载的时候,因为网络的原因有可能不顺利,可以使用迅雷等工具下载完成后拷贝过去也可以。

上述完成后,就可以运行了。
cd DEEPMASK
th computeProposals.lua
DEEPMASK/pretrained/sharpmask -img /path/to/image.jpg
但是它默认的是将结果输出到根目录下一个res.jpg文件,并且会覆盖,太不人性化了,于是我将computeProposals.lua文件进行了修改,将其89行:
image.save(string.format('./res.jpg',config.model),res)
修改为:
image.save(string.format(table.concat({string.sub(config.img,0,string.len(config.img)-4),'_res.jpg'}),config.model),res)
意思是将文件写入到原文件目录并且加上_res作为区分。

最终的效果是:


[title]结语[/title]
DeepMask和SharpMask的结果还是不错的,安装过程也还算简单,只是各种依赖有点烦人,不过慢慢了解了也还好。
希望本文对想要安装该软件的朋友有所帮助。

标签: DeepMask Facebook SharpMask 图像处理 深度学习
最后更新:2017年04月24日

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

点赞
订阅评论
提醒
guest

guest

1 评论
内联反馈
查看所有评论
xqiushi
xqiushi
游客
2017年4月26日 下午4:20

深度学习是热门,对我来说有点遥远 :surprised:

0
回复

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

搜索
最新 热点 随机
最新 热点 随机
中国是不是体育强国? 成功的必备因素 关于华为 别再侮辱我的智商 春秋航空让人长见识 第二青春计划失败 第二青春计划 模型训练错误RuntimeError: expected scalar type Half but found Float 加载onnx模型进行推理 PyTorch模型转onnx格式
北京春晚2014 童年趣事之闹绯闻 关于理想空间的免费主机 Ubuntu下DEB包安装错误解救方法 自然辩证法笔记六 晴迷星途08造型师 生活是一团麻 我在大学那几年(十) 配置Visual Studio Code和LaTex环境 项目的时间计划
最新评论
  • 关于华为上的老杨确实,苹果手机系统还是有优势的。
  • 关于华为上的乱云AKAY自从换了苹果手机后,对手机再没以前那样热爱研究了,主要是系统省心。
  • 第二青春计划失败上的老杨第二都失败了,第三就算了吧。
  • 春秋航空让人长见识上的老杨应该提供一点水,至少给不想买水的人一个选择的空间。
  • 别再侮辱我的智商上的老杨那个很好,很值得。
  • 关于华为上的老杨Next系统基本没广告。大部分广告都可以关掉吧,我记得我写过一个文章,…
  • 第二青春计划失败上的xqiushi开始第三青春计划吧。
  • 春秋航空让人长见识上的xqiushi那个桌板能放下小米多看电子书,还是不错的。 这个矿泉水市面上没有,特供…
  • 别再侮辱我的智商上的xqiushi只投了那100亿的项目。
  • 关于华为上的xqiushi今年我爸的手机也换成华为,家庭里手机基本都是华为。最不满意的一点就是广…

Google java jsp linux QQ wordpress 中国 习惯 人生 公司 决定 博士 博客 同学 国家 大学 学习 实验室 家 小说 工作 开始 思考 情感 手机 技术 推荐 插件 数据库 文件 晴迷星途 朋友 生活 电影 相声 程序 笔记 网站 网络 置顶 美国 评论 软件 音乐 项目

关注公众号

COPYRIGHT © 2020 老杨说话的地方. ALL RIGHTS RESERVED.

THEME KRATOS YANG Modified BY 老杨

鲁ICP备17014997号-4

鲁公网安备 37021302000754号