ubuntu14.04 安装caffe

安装matlab2015b

选择产品
MATLAB 8.6
Computer Vision System Toolbox 7.0
Image Acquisition Toolbox 4.10
Image Processing Toolbox 9.3
MATLAB Coder 3.0
MATLAB Compiler 6.1
MATLAB Compiler SDK 6.1
MATLAB Report Generator 4.2
Neural Network Toolbox 8.4
Statistics and Machine Learning Toolbox 10.1

安装caffe

caffe 需要的包

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install - -no-install-recommends libboost-all-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
from http://caffe.berkeleyvision.org/install_apt.html

如果遇到下面的错误

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:

重新编辑源/etc/apt/sources.list,我遇到好几次都是这个被改了,无法自动解决依赖关系
初步推测,可能是镜像站没有保留全部的依赖关系,导致了这个问题,因为我在家里14.04.5上,用163的源就有各种依赖问题,换成清华的就一步搞定了

安装OpenBLAS

参照 www.openblas.net 和 https://github.com/xianyi/OpenBLAS

git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make
make install

The default directory is /opt/OpenBLAS

cp Makefile.config.example Makefile.config
vim Makefile.config # 编辑 BLAS 和 python 路径
BLAS := open
BLAS_INCLUDE := /opt/OpenBLAS/include
BLAS_LIB := /opt/OpenBLAS/lib

安装python所需

cd caffe
for req in $(cat requirements.txt); do pip install $req; done

安装 CUDA 和 cuDNN

http://blog.csdn.net/Reformatsky/article/details/74637575

配置编译caffe

配置openblas 和 matlab的路径之后,配置
编译pycaffe前,需要修改 PYTHON_INCLUDE

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/lib/python2.7/dist-packages/numpy/core/include \ # 这个路径我没有找到,删不删除随意
        /usr/local/lib/python2.7/dist-packages/numpy/core/include # 如果不加这个路径,会发生下面的错误。这个路径用locate arrayobject.h 可以看到

不加会遇到下面的错误

touch python/caffe/proto/__init__.py
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
PROTOC (python) src/caffe/proto/caffe.proto
python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: No such file or directory
 #include <numpy/arrayobject.h>
                               ^
compilation terminated.
make: *** [python/caffe/_caffe.so] Error 1

make runtest如果遇到下面的错误

.build_release/test/test_all.testbin 0 --gtest_shuffle --gtest_filter="-*GPU*"
.build_release/test/test_all.testbin: error while loading shared libraries: libopenblas.so.0: cannot open shared object file: No such file or directory
make: *** [runtest] Error 127

参考
https://groups.google.com/forum/#!topic/caffe-users/J6Sw2eKeshY
解决办法有两个

# 1 在/usr/lib 下创建到/opt/OpenBLAS/lib/libopenblas.so.0 的符号链接
ln -s /opt/OpenBLAS/lib/libopenblas.so.0 /usr/lib/
# 2 export LD\_LIBRARY_PATH with OpenBLAS library path

如果显示 绿色的 PASSED,说明完成了。

Training LeNet on MNIST with Caffe

参考 http://caffe.berkeleyvision.org/gathered/examples/mnist.html

cd $CAFFE_ROOT
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh

1080ti 花了大概10几秒,比CPU_ONLY 快了非常多

make matcaffe 提示

Warning: You are using gcc version '4.8.4'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
Warning: You are using gcc version '4.8.4-2ubuntu1~14.04.3)'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
MEX completed successfully.

想办法安装4.7的gcc,并替换4.8的符号链接

apt install -y gcc-4.7 g++-4.7
cd /usr/bin
mkdir gcc-link-bak
mv gcc g++ gcc-link-bak/
ln -s gcc-4.7 gcc
ln -s g++-4.7 g++

运行demo报错

Error using textscan
'BufSize' is no longer required and has been removed.

Error in read_cell (line 11)
fileLines = textscan(fid,'%s','delimiter',linesep,'BufSize',100000);

Error in matcaffe_batch_feat (line 28)
    list_im = read_cell(filename);

Error in demo (line 30)
[feat_test , list_im] = matcaffe_batch_feat(test_file_list, use_gpu, feat_len, model_def_file,
model_file);

cvprw15这篇文章使用的是matlab2012,而15的接口已经变了
尝试删除 ‘BufSize’,100000 这两个参数后demo,发现找不到libopenblas.so.0,说明前面只能用符号链接这个库到/usr/lib了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值