Ubuntu15.10下Caffe+Matlab安装及环境配置

时间:2021-05-27 06:30:51

Ubuntu15.10+Caffe(仅CPU)+Matlab安装及环境配置

转载请注明出处,JustJay的博客http://www.cnblogs.com/JustJay-Master

初学Fast RCNN,配置Caffe折腾了好几天,这里记录配置Caffe环境的历程

PS:目前只是在CPU上跑,因此没有配置CUDA,以后上GPU之后会持续跟进!

以下blog给了我很大的帮助,在此表示感谢!

http://ouxinyu.github.io/Blogs/20140723001.html

http://www.cnblogs.com/louyihang-loves-baiyan/p/4885659.html

 

1. 安装Ubuntu15.10

1.1 磁盘管理,压缩卷(最好是在最后一个磁盘上进行,否则装完Ubuntu后Windows盘符会发生改变导致安装在那些磁盘软件路径出错,不能使用),最后删除刚刚压缩出来的空间(用于安装Ubuntu,我选择的空间大小是100G)

1.2 Ubuntu官网下载Ubuntu15.10桌面版镜像

1.3 使用UltraISO制作启动盘

1.4 重启开机进入BIOS选择从u盘启动

1.5 下面就开始安装Ubuntu,在询问安装类型时选择“其它选项”,选择“空闲”的磁盘并自定义分区。我当时的分区如下:

    /boot  200M  ext4  

    swap  4G   交换空间

    /home   60G   ext4

    /    剩余   ext4

   分完后,在下面的引导选择/boot所在的磁盘。后面就是一些个人设置了

1.6 安装完之后重启进入Windows系统,使用EasyBCD添加Ubuntu启动项,重启即可进入Ubuntu系统啦!  

2. Caffe安装及配置

2.1 FRCNN工程

Ross 的源代码:https://github.com/rbgirshick/fast-rcnn

这里注意添加 --recursive,不然git下来的文件夹中caffe-fast-rcnn会为空!进入fast-rcnn/caffe-fast-rcnn目录下,将Makefile.config.example拷贝一份并重命名为Makefile.config。打开Makefile.config,默认CPU-only是关闭的(# CPU_ONLY := 1),我这里仅使用CPU因此将前面的注释符#删掉,同理删去“#WITH_PYTHON_LAYER := 1”和“# USE_PKG_CONFIG := 1”前面的#,为的是让FRCNN支持Python接口以及加载一些库。另外添加hdf5的路径,具体在INCLUDE_DIRS后面添加 /usr/include/hdf5/serial,在LIBRARY_DIRS后面添加 /usr/lib/x86_64-linux-gnu/hdf5/serial。这里要注意是x86_64而不是x86_x64。我当时直接复制粘贴一篇博文里面的路径,结果博主打错了,也是纠结了很久:(,hdf5的安装将在下面说明。

2.2 下载相应的模型文件

进入fast-rcnn/data/scripts/目录下,有三个shell文件,分别是fetch_fast_rcnn_models.sh,fetch_imagenet_models.sh和fetch_selective_search_data.sh,第一个是作者训练好的模型,第二个是基于Imagenet预训练模型,第三个是基于Pascal VOC提取的selective-search预选框数据。不使用自己的数聚集进行检测的话可以加载第一个模型,但是只支持20类检测,具体见fast-rcnn/tools/demo.py,若训练自己的数据集就加载Imagenet_model。打开相应的shell文件复制URL到迅雷下载。下载完成后提取到fast-rcnn/data/下解压。可以发现三个网络模型:caffenet,vgg_cnn_m_1024和vgg16,分别对应小,中,大型网络,均是迭代了40000次。

2.3 一些必要的库文件

我建议在编译caffe的时候一个个去定位error,然后goole以下相应的库,一般情况是sudo apt-get install -y 相应的库

这里只列举一些我认为比较重要的库:

a. 安装BLAS

这里可以选择ALTAS,MKL或者OpenBLAS,简单起见,我在这里选择的是ATLAS

sudo apt-get install libatlas-base-dev
b. 安装protobuf

安装protobuf之前需要安装protobuf-c-compiler和protobuf-compiler

sudo apt-get install protobuf-c-compiler protobuf-compiler

 

首先下载protobuf-2.5.0,然后进入其所在文件夹并解压,之后

cd protobuf-2.5.0
.
/configure
make
make check
sudo make install

 

protobuf需要添加对Python的支持,在当前目录下

cd ./python
python setup.py build
python setup.py test
sudo python setup.py install

 

验证protobuf是否正确安装

protoc --version

输出libprotoc 2.5.0 说明安装正常

 

python
>>>import google.protobuf

没有报错说明protobuf对Python的支持正常

c. 安装glog

下载glog-master.zip,进入目录,解压。

cd glog-master
.
/configure
make
sudo make install
d. 安装Opencv

这里以Opencv-3.0.0为例,下载Opencv-3.0.0,进入目录,解压。

cd opencv-3.0.0
mkdir release
cd release
cmake
-D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..make
sudo make install

编译时间有点长,请耐心等待!

3. 安装Matlab

这里以Matlab2014b 为例。参考:http://www.jianshu.com/p/f0cefc737dda

下载Matlab2014b 及其破解文件。http://pan.baidu.com/s/1mgqmcAG 密码: 58zr

挂载ISO文件(这里是只读形式):

sudo mkdir /media/matlab                       #新建文件夹/media/matlab 
mount -o loop [path][filename].iso /media/matlab #挂载ISO到/media/matlab下

path:ISO文件路径,filename:ISO文件名

 

将文件整体复制到另外可读写的本地目录 /mnt/matlab 下,这样才能进行文件替换

sudo mkdir -p /mnt/matlab
cd
/media/matlab
sudo cp
-R * /mnt/matlab   #复制到/mnt/matlab下
sudo umount /media/matlab   #取消挂载

 

替换install.jar:
假设破解文件install.jar在crack目录下:

sudo cp ~/crack/install.jar  /mnt/matlab/java/jar/install.jar
cd /mnt/matlab
sudo ./install
    

 

安装过程中使用readme.txt中的序列号
破解:
1 安装完成后使用crack下的 license进行激活
2 将crack文件夹下的libmwservices.so copy到 /usr/local/MATLAB/R2014A/bin/glnxa64

添加Matlab到PATH

sudo su
echo
"PATH=/usr/local/MATLAB/R2014b/bin:\${PATH}">>/etc/profile
echo
"export PATH">>/etc/profile

 

从终端启动Matlab:

vim .bashrc 
PATH
="$PATH:/opt/MATLAB/R2014b/bin"      #为了用的舒服点 再加上下面一句
alias matlab='nohup matlab -desktop & '  #注意需要带-desktop参数 不然可能闪退

这样就可以直接在终端输入matlab启动了!

 

注意:

Ubuntu15.10自带的gcc版本为5.2.1,Matlab2014b 最高支持gcc 4.7
降级gcc g++:

sudo apt-get install -y gcc-4.7    #下载并安装gcc-4.7
sudo apt-get install -y g++-4.7    #下载并安装g++-4.7
cd /usr/bin
sudo rm gcc
sudo ln
-s gcc-4.7 gcc         #使系统使用gcc-4.7
sudo rm g++
sudo ln
-s g++-4.7 g++         #使系统使用g++-4.7

 

到此环境配置就结束了,下面编译运行caffe

编译Cython module

cd fast-rcnn/lib 
make

 

编译caffe pycaffe

cd fast-rcnn/caffe-fast-rcnn
make
-j8 && make pycaffe

 

运行demo.py

注意:由于我是在CPU下运行,因此选择的是小型网络caffenet

cd fast-rcnn/tools
python demo.py
--cpu --net caffenet #选择CPU模式,选择caffenet网络

运行出错的话很有可能是一些库没有安装完全,请自行Google安装!!!

下面给出我运行demo.py的结果:

Ubuntu15.10下Caffe+Matlab安装及环境配置