CAFFE安装2:MKL python 和 caffe

来源:互联网 发布:纪念册制作软件app 编辑:程序博客网 时间:2024/05/02 00:48

一、安装BLAS


这里可以选择(ATLAS或者MKL或者OpenBLAS):

1.若安装ATLAS

执行sudoapt-get install libatlas-base-dev即可。


2.若安装MKL,首先下载并安装英特尔®数学内核库Linux*MKL,下载链接是:https://software.intel.com/en-us/intel-education-offerings,请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了(几个G大小)。下载完之后,要把文件解压到home文件夹(或直接把tar.gz文件拷贝到home文件夹,为了节省空间,安装完记得把压缩文件给删除喔~),或者其他的ext4的文件系统中。


接下来是安装过程,先授权,然后安装:


$tar zxvf cpp_studio_xe_2013_sp1_update3.tar.gz(如果你是直接拷贝压缩文件过来的)

(若为.tar文件,则用tarxvf执行打开)


$chmod a+x /home/username/cpp_studio_xe_2013_sp1_update3 -R


$sudo ./install_GUI.sh


下面的步骤就是一步步点next了(我的在prerequsition中会警告说缺少lib32库,忽略即可)

3.MKLCUDA的环境设置


1.新建intel_mkl.conf,并编辑之:


$sudo gedit /etc/ld.so.conf.d/intel_mkl.conf


/opt/intel/lib/intel64


/opt/intel/mkl/lib/intel64


2.完成lib文件的链接操作,执行:


$sudo ldconfig -v


二、安装pythonIDE运行环境


选择一个适合你的IDE运行环境,我是用的是Spyder,因为它内置了iPython环境,Caffe有不少的程序是基于iPython环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索“spyder”即可安装。

三、安装caffe


安装其他依赖项


1.Google LoggingLibraryglog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:


$tar zxvf glog-0.3.3.tar.gz


$./configure


$make


$sudo make install


如果没有权限就chmoda+x glog-0.3.3 -R ,或者索性chmod777 glog-0.3.3 -R ,装完之后,这个文件夹就可以kill了。


2.其他依赖项,确保都成功


$sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-devlibopencv-dev libboost-all-dev libhdf5-serial-dev


$sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devprotobuf-compiler


3.安装pycaffe必须的一些依赖项:


$sudo apt-get install python-numpy python-scipy python-matplotlibpython-sklearn python-skimage python-h5py python-protobufpython-leveldb python-networkx python-nose python-pandaspython-gflags Cython ipython


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


4.github上下载cafee所有的文件.zip,然后用uzip命令解压。


5.切换到Caffe的下载文件夹,然后首先复制一份Makefile.config


$cp Makefile.config.example Makefile.config


修改新生成的Makefile.config文件,修改“BLAS:= mkl”,这个非常重要。(用MKL时需要修改,若用ATLAS则默认不改)


5.1. 配置路径,实现caffe对Python和Matlab接口的支持,编辑Makefile.config:

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include

PYTHON_LIB := /usr/local/lib

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

MATLAB_DIR := /usr/local/MATLAB/R2014a(若有matlab)

5.2. 这里非常重要的是,为了确保支持Caffe Notebook里的程序,需要使用到IDE环境,并且支持iPython接口。

6.修改Makefile文件(不是Makefile.config


在位置((LIBRARIES+= glog gflags protobuf leveldb snappy \

lmdbboost_system hdf5_hl hdf5 m \

opencv_coreopencv_highgui opencv_imgproc opencv_imgcodecs))处


添加opencv_imgcodecs


这一步非常重要,否则编译后会出现错误如下:


CXX/LD-o .build_release/tools/convert_imageset.bin

.build_release/lib/libcaffe.so:undefined reference tocv::imread(cv::String const&,int)'.build_release/lib/libcaffe.so: undefined referencetocv::imencode(cv::String const&, cv::_InputArray const&,std::vector >&, std::vector > const&)'


原因就是opencv3.0.0imread相关函数放到imgcodecs.lib中了,而非原来的imgproc.lib


7.编译caffe-master!!!"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。


$make all -j8


$make test -j8


$make runtest -j8


出现信息:YOU HAVE 2DISABLED TESTS说明Cafferuntest成功!


编译Python和Matlab用到的caffe文件

$ make pycaffe -j8

$ make matcaffe -j8(若有matleb)


8.使用MNIST数据集进行测试

0 0