您的位置:首页 > 编程语言 > Python开发

CAFFE安装2:MKL python 和 caffe

2015-06-09 22:34 585 查看
一、安装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.MKL与CUDA的环境设置

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 LoggingLibrary(glog),下载地址: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.0把imread相关函数放到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数据集进行测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: