安装Caffe环境前,请查好各个软件版本的相互匹配资料,确定好所有软件版本后,再开始安装。
一、安装gcc4.6
Ubuntu14.04自带的gcc是4.8,matlab2014a支持的最高版本是4.7.x,最好降级为4.6.x。
Terminal:
sudo apt-get install gcc-4.6 g++-4.6 g++-4.6-multilib gcc-4.6-multilib
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.6 100
sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.8 50
gcc -v检查版本
二、安装Matlab2014a和NVIDIA显卡驱动
Matlab按照破解版方法装即可
显卡驱动使用Ubuntu的附加驱动安装即可
三、安装CUDA6.5
通过 http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run下载cuda6.5
通过./cuda_6.5.14_linux_64.run --extract=extract_path(自定义)
可以得到
- CUDA安装包: cuda-linux64-rel-6.5.14-18749181.run
- NVIDIA驱动: NVIDIA-Linux-x86_64-340.29.run
- SAMPLE包: cuda-samples-linux-6.5.14-18745345.run
安装cuda
sudo ./cuda-linux64-rel-6.5.14-18749181.run
添加环境变量:
安装完成后需要在/etc/profile中添加环境变量, 在文件最后添加:
PATH=/usr/local/cuda-6.5/bin:$PATH
export PATH
保存后, 执行下列命令, 使环境变量立即生效
source /etc/profile
添加lib路径
在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下
/usr/local/cuda-6.5/lib64
执行下列命令使之立刻生效
sudo ldconfig
安装cuda sample
首先安装下列依赖包
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
然后用下述命令安装sample文件
sudo ./cuda-samples-linux-6.5.14-18745345.run
完成后编译Sample文件, 整个过程大概10分钟左右
cd /usr/local/cuda-6.5/samples
sudo make
全部编译完成后, 进入 samples/bin/x86_64/linux/release, sudo下运行deviceQuery
sudo ./deviceQuery
如果出现下列显卡信息, 则驱动及显卡安装成功:
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 980"
............
安装cudnn
找到适合版本的cudnn,按下面教程安装即可
CuDNN可以在官网免费获得,注册帐号后即可下载。官网没有找到安装说明,下载得到的压缩包内也没有Readme. 不过google一下就会找到许多说明。基本原理是把lib文件加入到系统能找到的lib文件夹里, 把头文件加到系统能找到的include文件夹里就可以。这里把他们加到CUDA的文件夹下
tar -xzvf cudnn-6.5-linux-R1.tgz
cd cudnn-6.5-linux-R1
sudo cp lib* /usr/local/cuda/lib64/
sudo cp cudnn.h /usr/local/cuda/include/
执行后发现还是找不到库, 报错
error while loading shared libraries: libcudnn.so.6.5: cannot open shared object file: No such file or directory 而lib文件夹是在系统路径里的,用ls -al发现是文件权限的问题,因此用下述命令先删除软连接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.6.5然后修改文件权限,并创建新的软连接
sudo chmod u=rwx,g=rx,o=rx libcudnn.so.6.5.18
sudo ln -s libcudnn.so.6.5.18 libcudnn.so.6.5
sudo ln -s libcudnn.so.6.5 libcudnn.so
安装Caffe环境
sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
下载编译Caffe...
编译caffe的注意事项:
1.首先要考虑显卡的计算能力,再NVIDIA官网上可以查到,然后根据计算能力调整Caffe编译参数
2.在很多编译参数里会需要填写CUDA、MATLAB以及其他组件的路径,记得要更正这些信息
3.linux下要使用显卡进行计算,需得用超级权限,即使用sudo来启动matlab等程序