本文是参考 Cuda官网,Caffe官网 上的安装教程以及网上众多大神的配置文章后一边配置一边写的,中途遇到很多坑,最后抹着眼泪终于把caffe环境搭好,最大的感触就是网上好多教程都已经过时了,因此安装过程会碰到许多新问题,真的十分感谢中途给过我帮助的几个大神。
Caffe安装基本按照官网安装教程,首先介绍没有GPU的安装方法,有GPU的只需要在最后一步修改然后重新编译即可,详细见后面。
$ 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 libatlas-base-dev
Python安装
Ubuntu 14.04 自带Python 2.7 ,无需自行安装。
Opencv安装
安装方法详见Ubuntu14.04安装OpenCV3.0,Opencv必须安装,且版本需要大于2.4
Matlab安装
由于我基本不使用matcaffe,所以这里不提供安装方法,需要用到的朋友自行百度哈
安装依赖库(二)
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
$ cd ~
$ git clone git://github.com/BVLC/caffe.git
编译Caffe前工作
1.修改Makefile
仔细看过以前的教程都会知道,如果安装的opencv是3.0,则需要修改makefile文件,但是新版的caffe已经帮我们修改好了,所以如果安装的是最新的caffe这一步可以跳过。
2.修改caffe/examples/cpp_classification/classification.cpp
文件,加入:
#include <opencv2/imgproc/types_c.h>
#include <opencv2/objdetect/objdetect_c.h>
$ cd ~/caffe
$ cp Makefile.config.example Makefile.config
# 修改Makefile.config文件:如果没有GPU,则去掉CPU_ONLY:= 1的注释
# 如果安装了Opencv3.0,去掉 OPENCV_VERSION := 3的注释
$ make all
$ make test
$ make runtest
如果你的机器还没有装GPU,请直接忽略这一步和cuDNN安装
$ lspci | grep -i nvidia
$ uname -m && cat /etc/*release
$ gcc --version
如果发现还没安装gcc,可以执行$ sudo apt-get install gcc-×××
$ md5sum filename
如果下载没出错,那得到的MD5序列号和上图中是一致的,否则只能重新下载。
$ sudo apt-get --purge remove nvidia*
$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
$ sudo gedit /etc/profile
# 在末尾添加(注意自己的Cuda版本):
# export PATH=/usr/local/cuda-7.5/bin:$PATH
# export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
$ source /etc/profile
$ sudo reboot
# 历程本来在/usr/local/cuda-7.5/samples路径下,但不可写
# 下面这句实质只是简单复制而已
$ cuda-install-samples-7.5.sh ~/cuda
$ cat /proc/driver/nvidia/version
$ nvcc -V
$ cd ~/cuda/NVIDIA_CUDA-7.5_Samples
$ make
# 编译结果在 ~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release中
$ cd
$ ./~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/deviceQuery
$ ./~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/bandwidthTest
确认结果如下图所示则安装成功
$ tar -xzvf cudnn-7.5-linux-x64-v3.0-rc.tgz
$ cd cudnn/lib64/
$ sudo cp lib* /usr/local/cuda/lib64/
$ cd ..
$ cd include
$ sudo cp cudnn.h /usr/local/cuda/include
$ make clean
# 第一次编译不用这句
$ make all
$ make test
$ make runtest
$ sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
$ sudo apt-get install protobuf-c-compiler protobuf-compiler
$ cd ~/caffe
$ make pycaffe
$ sudo gedit /etc/profile
# 末尾添加: export PYTHONPATH = caffe目录下的python地址:$PYTHONPATH
# 用完整路径,不要用~
$ source /etc/profile # 使之生效
import caffe
如果没错说明安装成功$ python
Python 2.7.6 (default, Nov 17 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>>
没安装matlab的童鞋可以忽略,非必需。方法和pycaffe差不多,但需要先降级gcc,编译后需要添加工作空间,有兴趣的同学自行百度,很多教程。
至此结束,有疑问可以评论我看到一般会回复,请大家多指教