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
git clone --recursive https://github.com/rbgirshick/fast-rcnn.git
这里注意添加 --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的结果: