菜单

在Ubuntu 14.04安装配置Caffe和Faster RCNN

2017年3月16日 - Deep Learning    1,924 阅读    暂无评论

Caffe介绍

  Caffe是一个开源的深度学习框架,使用C++/CUDA编写,支持命令行、Python、MATLAB和C++接口,可以在CPU和GPU之间进行无缝切换。其详细介绍见官网。Caffe上手容易,而且有众多大牛的深度学习算法在Caffe上的实现,对于DL入门而言很有帮助。

Faster RCNN介绍

  Faster RCNN是一个基于深度学习的接近实时的物体检测框架,尽管截止目前为止(2016年5月27日),有更快、检测结果更好的框架出现,如YOLOSSD,但RCNN系列的文章和算法值得作为使用深度学习进行物体检测的入门。Faster RCNN使用了Caffe框架进行实现,当然,由于Faster RCNN自定义了一些Caffe Master分支上没有的layer,Faster RCNN使用的Caffe版本是针对该算法进行的修改版,下面要安装的Caffe版本为Faster RCNN所使用的Caffe版本,而Caffe Master分支版本的安装是完全类似的。

Faster RCNN及Caffe安装

硬件环境需求

  深度学习算法的运行一般需要比较好的机器配置,比较好的意思是,240G的SSD、具备2G显存的Nvidia显卡及Core i5的处理器是基本的配置,博主的笔记本配置是Core i7-4500U、16G内存、具有2G显存的GT 750M显卡,然而这种14年中上的配置,对于运行DL一般规模的算法已经非常吃力。建议配置一个显存至少4G的显卡,如GTX 970,或博主准备购置的GTX980ti,以应对DL对计算能力的要求。当然最近发售的GTX 1080由于其极高的性价比,可以考虑在配套的软件环境齐全后入手(GTX1080是Pascal架构,而支持Pascal架构的CUDA 8.0将于近期推出,支持CUDA 8.0的MATLAB 2017a将于明年推出)。
  运行Caffe的OS推荐使用Ubuntu 14.04LTS,而不是Windows,至于MAC OS博主未用过,不敢妄评。由于Linux下进行Programming及软件的安装配置都比Windows要方便得多,加上Matlab和CUDA Toolkit有明确对Ubuntu 14.04LTS的支持,尽管Ubuntu 16.04LTS已经推出,但截止目前为止相关软件并未明确作出支持,据同学反应16.04版本bug也较多),博主也是一直使用Ubuntu系列作为日常开发环境,因此下面的安装配置环境是针对Ubuntu 14.04LTS而言的。在此强调,在安装Ubuntu 14.04LTS后,千万不要使用sudo apt-get upgrade对系统进行升级,博主无数次折腾后的血泪史发现upgrade后会出现一系列严重的依赖性问题!

安装过程

  在此假定读者具有基础的Linux操作技能,且具有基本的英语阅读技能。
  首先安装Matlab R2015b,其安装过程自行搜索,需要注意的是,Matlab的安装目录最好放在非Root权限目录下,如放在/home/[your user name]下,Matlab的默认安装路径是在/usr/下的,该目录需要Root权限进行操作。
  参照Caffe官网的安装过程,里面有关于在Ubuntu下的安装,首先把Caffe依赖的软件环境配置好:。

  此时Faster RCNN版本的Caffe代码在faster_rcnn/externel/caffe处,可以把这个目录移动到其他合适的地方,然后在这个目录用一个soft link到移动后的目录,以方便文件的管理。
  如果没有cmake-gui,先安装一个,然后使用cmake-gui编译安装Caffe。然后切换到caffe目录下,新建一个build文件夹,然后切换进去,打开cmake-gui进行配置:  

  出现cmake-gui界面后,点击Configure按钮,出现的对话框中直接点击Finish,生成环境变量信息。列表中勾选BUILD_matlab,再次点击Configure按钮,可以发现列表中多出了Matlab相关的变量,检查其Value是否与机器中Matlab位置一致。  
cmake-gui
  再次点击Configure,然后点击Generate按钮,关闭cmake-gui界面。
  此处cmake生成的Makefile对于Caffe的matlab接口是有错误的,需要修改caffe/build/matlab/CMakeFiles/matlab.dir/build.make 文件。
  使用gedit打开该文件,定位到约56行,找到类似下面的语句

  在mex后面加上这句代码(路径按照自己机器实际修改):

然后在-DGTEST_USE_OWN_TR1_TUPLE后面加入代码

  然后更改 -lpython2 为 -lpython2.7。修改完后的该部分代码如下:

  最后,在build路径下输入

  等待编译100%完成。注意观察编译信息是否有出错的地方,如果出错了,回溯原因进行解决。
  编译完成后可以输入

  进行功能测试。
  输入

  进行安装,此时会提示matlab错误,按照上述修改方法把 caffe/build/matlab/CMakeFiles/matlab.dir/build.make 再修改一遍,然后重新make install即可(该文件在第一次输入make install时会更新)。
  安装完成后,在faster_rcnn目录下新建一个config.sh文件,在该文件中进行环境变量配置(根据实际情况修改路径):

  在此说明一下,博主的系统里有多个protobuf,其中有上面安装的protobuf 2.6.0,也有系统自带的protobuf 2.5.0,这就会造成默认情况下在某些情况程序会优先加载protobuf 2.5.0的库文件,而上面的LD_PRELOAD环境变量则是说明指定加载系统内2.6.0版本的protobuf库文件,以解决protobuf版本问题。
  然后每次在打开faster rcnn工程之前,source config.sh,再打开matlab。打开matlab后按照faster rcnn的readme进行配置即可。

1,924 阅读    暂无评论

发表评论

邮箱地址不会被公开。 必填项已用*标注