ubuntu14.04 安装caffe

前端之家收集整理的这篇文章主要介绍了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 @L_404_0@

如果遇到下面的错误

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://www.jb51.cc/article/p-trlnjlor-bqm.html

配置编译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 @H_247_301@-y gcc-4.7 g++-4.7
cd /usr/bin
mkdir gcc@H_247_301@-link@H_247_301@-bak
mv gcc g++ gcc@H_247_301@-link@H_247_301@-bak/
ln @H_247_301@-s gcc-4.7 gcc
ln @H_247_301@-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了

猜你在找的Ubuntu相关文章