这次是第三次在ubuntu14.04下编译caffe,前两次因为没有GPU而省去了安装CUDA的步骤,但这次想用GPU来运行caffe因此本次的安装中需要包含CUDA的配置。网上很多caffe的安装教程所提及的CUDA都是6.5版本的,而现在NVIDIA官网上只有CUDA7.0可以下载,不过还是有些教程是安装CUDA7.0的。而这次的编译过程基本上是按照http://www.aichengxu.com/view/52231 的步骤来执行,而且我认为虽然CUDA的版本有所不同,但是安装方法还是一样的。
Part 1: 安装NVIDIA驱动与CUDA
一、确认自己的显卡适用CUDA
在https://developer.nvidia.com/cuda-gpus页面上查看自己的显卡是否在列表上
二、确认自己的linux版本是否适用
在终端上输入: uname -m && cat /etc/*release
确保有“x86_64”这一项,保证是x86架构,64bit系统
三、确认已安装gcc
在终端输入: gcc --version
若系统没有安装gcc可通过 sudo apt-get install gcc 来安装
四、安装CUDA7.0
首先从https://developer.nvidia.com/cuda-downloads上下载CUDA安装包,我下的是.deb文件,同样可以安装使用。
若之前安装了显卡驱动需要将其卸载掉否则或有冲突。
关闭ubuntu自带的Nouveau:
按CTRL+ALT+F1进入X-Win界面,在终端输入: sudo stop lightdm
然后在终端输入: sudo vi /etc/modprobe.d/blacklist-nouveau.conf
并写入:
blacklist nouveau
options nouveau modeset=0
然后在终端输入: sudo update-initramfs -u
安装CUDA:
进入包含.deb安装文件的目录并输入:
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
sudo apt-get update
sudo apt-get install cuda
安装其他必要的库文件:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev
libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
回到GUI 界面:
sudo start lightdm
设置环境变量:
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
CUDA环境配置:
在终端输入: sudo gedit /etc/ld.so.conf.d/cuda.conf
输入:
/usr/local/cuda/lib64
/lib
完成lib文件的链接操作,在终端输入: sudo ldconfig -v
========================Part 1结束================================
Part 2: 安装Opencv2.4.9
Opencv3.0可参考链接:http://blog.csdn.net/adong76/article/details/40018407
1 添加依赖库
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff4-dev libswscale-dev libjasper-dev
3 下载opencv2.4.9
http://opencv.org/downloads.html
4 编译opecv2.4.9
进入解压后的opencv2.4.9目录
mkdir release
进入release目录
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
5 安装opencv2.4.9
在release目录
make
sudo make install
6 配置opencv.conf file ,加入环境变量
sudo gedit /etc/ld.so.conf.d/opencv.conf
在opencv.conf里面加入命令
/usr/local/lib
更新库目录
sudo ldconfig -v
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
7 测试你的opencv3.0是否安装成功
- 在解压的opencv目录下找到 samples/c/build_all.sh,运行该文件
./build_all.sh
2. 找其中一个来运行看一下效果,例如 find_obj程序:
./find_obj
Part 3: 安装OpenBlas
一开始装的是atlas,但效果不好,而且MKL无法申请student版本,因此折中选择了openblas。
下载Openblas
https://github.com/xianyi/OpenBLAS
首先安装gfortran
sudo apt-get install gfortran
进入openblas目录
make FC=gfortran
sudo make PREFIX=/usr/local/ install
Part 4: 安装Caffe
一、安装其他依赖项
- Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:
$ tar zxvf glog-0.3.3.tar.gz
$ ./configure
$ make
$ sudo make install
2. 其他依赖项,确保都成功
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
二、安装Caffe并测试
1. 安装pycaffe必须的一些依赖项:
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
- 切换到Caffe的下载文件夹,然后执行:
cp Makefile.config.example Makefile.config
修改新生成的Makefile.config文件
若opencv是3.0的话:需要修改Makefile文件(不是Makefile.config)
在位置((LIBRARIES += glog gflags protobuf leveldb snappy \
lmdb boost_system hdf5_hl hdf5 m \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs))处
添加opencv_imgcodecs
3.编译caffe
make all -j8
make test
make runtest