Ubuntu16.04+cuda8.0+caffe安装教程
1、安装nvidia驱动
首先去官网上查看适合你GPU的驱动(http://www.nvidia.com/Download/index.aspx?lang=en-us)
例如,本人的GPU适合的驱动如图:
执行如下语句,安装
sudo add
-apt-repository ppa:graphics
-drivers/ppa
sudo apt
-get update
sudo apt
-get install nvidia
-367
sudo apt
-get install mesa
-common-dev
sudo apt
-get install freeglut3
-dev
执行完上述后,重启(reboot)。
重启后输入:
1
nvidia
-smi
如果出现了你的GPU列表,则说明驱动安装成功了。另外也可以通过
1
nvidia
-settings
查看自己机器上详细的GPU信息,本人机器的信息如下:
2、安装CUDA
cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。
从这里下载cuda的安装文件
https://developer.nvidia.com/cuda-release-candidate-download
注意这里下载的是cuda8.0的runfile(local)文件。
这里是nvidia给出的官方安装指南(遇到问题时可以查阅):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt
下载完cuda8.0后,执行如下语句,运行runfile文件:
1
sudo sh cuda_8.
0.27_linux.run
执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia361驱动时,一定要选择否,因为前面我们已经安装了更加新的nvidia367,所以这里不要选择安装。其余的都直接默认或者选择是即可。
安装成功后会出现如下界面:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
===========
= Summary =
===========
Driver:
Not Selected
Toolkit: Installed
in /usr/local/cuda-
8.0
Samples: Installed
in /home/textminer
Please make sure that
– PATH includes /usr/local/cuda-
8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-
8.0/lib64,
or,136);
Box-sizing: border-
Box;">add /usr/local/cuda-
8.0/lib64
to /etc/ld.so.conf
and run ldconfig
as root
To uninstall the CUDA Toolkit,run the uninstall script
8.0/bin
Please see CUDA_Installation_Guide_Linux.pdf
8.0/doc/pdf
for detailed information
on setting up CUDA.
***WARNING: Incomplete installation! This installation did
not install the CUDA Driver. A driver
of version at least
361.00 is required for CUDA
8.0 functionality
to work.
To install the driver
using this installer,run the following command,replacing
with the name
of this run file:
sudo .run -silent -driver
Logfile
is /opt/temp
安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:
1
2
3
export
PATH=
/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export
LD_LIBRARY_PATH=
/cuda-8.0/lib64
${LD_LIBRARY_PATH${LD_LIBRARY_PATH}}
然后设置环境变量和动态链接库,在命令行输入:
1
$
sudo gedit /etc/profile
在打开的文件末尾加入:
1
export
PATH =
/cuda/bin$PATH
保存之后,创建链接文件:
1
sudo gedit /etc/
ld.so.conf.d/cuda
.conf
在打开的文件中添加如下语句:
1
/usr/
local/cuda/lib64
然后执行
sudo ldconfig
使链接立即生效。
3、测试cuda的Samples
1
2
3
cd /usr/local/cuda-
7.5/samples/
1_Utilities/deviceQuery
make
sudo ./deviceQuery
如果显示的是一些关于GPU的信息,则说明安装成功了。
4、使用cudnn
首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。这里我下载的是cudnn5.1,是个压缩文件(.tgz)
下载完cudnn5.0之后进行解压,cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作:
1
sudo cp cudnn.h /usr/
local/cuda/
include/
再将cd进入lib64目录下的动态文件进行复制和链接:
1
2
3
4
5
sudo cp lib* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.
5
sudo ln @H_337_
403@-s libcudnn.so.
5.0.
5 libcudnn.so.
5
5 libcudnn.so
5、matlab的安装与配置
在网盘上下载安装包http://pan.baidu.com/s/1nuKJc9N。里面有一个crack文件夹,用于破解;MATHWORKS_R2014A.iso用于安装。
1
2
3
4
5
6
7
8
9
10
1、挂载iso(需新建matlab_iso
文件夹):
sudo mount -o loop MATHWORKS_R2014A
.iso ~/matlab_is
2、开始安装:
cd ~/matlab_iso
sudo ./install
3、选择不联网安装
4、密钥随便输入,比如
12345-
67890-
67890
5、激活:选择”license_405329_R2014a
.lic”
文件进行激活(在Crack
文件夹下面)
6、将libmwservices
.so复制到/usr/local/MATLAB/R2014a/bin/glnxa64中:
sudo
cp libmwservices
.so /usr/local/MATLAB/R2014a/bin/glnxa64/libmwservices
.so
6、安装opencv3.1.0
从官网上下载opencv3.1.0
http://opencv.org/downloads.html
并将其解压到你要安装的位置,假设解压到了/home
首先安装Ubuntu系统需要的依赖项,虽然我也不知道有些依赖项是干啥的,但是只管装就行,也不会占据很多空间的。
1
sudo apt
-get install
--assume
-yes libopencv
-dev build
-essential cmake git libgtk2
.0-dev pkg
-config python
-dev python
-numpy libdc1394
22 libdc1394
22-dev libjpeg
-dev libpng12
-dev libtiff5
-dev libjasper
-dev libavcodec
-dev libavformat
-dev libswscale
-dev libxine2
-dev libgstreamer0
.10-dev libgstreamer
-plugins-base0.10-dev libv4l
-dev libtbb
-dev libqt4
-dev libfaac
-dev libmp3lame
-dev libopencore
-amrnb-dev libopencore
-amrwb-dev libtheora
-dev libvorbis
-dev libxvidcore
-dev x264 v4l
-utils unzip
然后安装OpenCV需要的一些依赖项,一些文件编码解码之类的东东。
1
2
3
sudo apt
-get install build
-essential cmake git
sudo apt
-get install ffmpeg libopencv
-dev libgtk
3-dev python
-numpy python3
-numpy libdc1394
22-dev libjpeg
-dev libpng12
-dev libtiff5
-dev libjasper
-dev libavcodec
-dev libavformat
-dev libswscale
-dev libxine2
-dev libgstreamer1
.0-dev libgstreamer
-plugins-base1.0-dev libv4l
-dev libtbb
-dev qtbase5
-dev libfaac
-dev libmp3lame
-dev libopencore
-amrnb-dev libopencore
-amrwb-dev libtheora
-dev libvorbis
-dev libxvidcore
-dev x264 v4l
-utils unzip
在终端中cd到opencv文件夹下,然后
1
2
3
mkdir build #新建一个build
文件夹,编译的工程都在这个
文件夹里
cd build/
cmake -
D CMAKE_BUILD_TYPE=RELEASE -
D CMAKE_INSTALL_PREFIX=/usr/local -
D WITH_TBB=ON -
D WITH_V4L=ON -
D WITH_QT=ON -
D WITH_OPENGL=ON -DCUDA_NVCC_FLAGS=
"-D_FORCE_INLINES" ..
cmake成功后,会出现如下结果,提示配置和生成成功:
1
2
3
-
- Configuring done -
- Generating done -
- Build files have been written to: /home/ise/software/opencv-3.1.0/build
然后make编译就可以了
1
make
-j8
上面是将opencv编译成功,但是并没有安装到我们的系统中,有很多的设置都没有写入到系统中,因此还要进行install。
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
重启系统,重启系统后cd到build文件夹下:
1
2
sudo apt-get install checkinstall
sudo checkinstall
然后按照提示安装就可以了。
使用checkinstall的目的是为了更好的管理我安装的opencv,因为opencv的安装很麻烦,卸载更麻烦,其安装的时候修改了一大堆的文件,当我想使用别的版本的opencv时,将当前版本的opencv卸载就是一件头疼的事情,因此需要使用checkinstall来管理我的安装。
执行了checkinstall后,会在build文件下生成一个以backup开头的.tgz的备份文件和一个以build开头的.deb安装文件,当你想卸载当前的opencv时,直接执行dpkg -r build
即可。
7、安装caffe
首先安装各种依赖包
1
2
3
4
5
6
7
8
9
10
sudo apt
-get update
sudo apt
-get install
-y build
-essential cmake git pkg
-config
sudo apt
-get install
-y libprotobuf
-dev libleveldb
-dev libsnappy
-dev libhdf5
-serial-dev protobuf
-compiler
sudo apt
-get install
-y libatlas
-base-dev
sudo apt
-get install
-y--no
-install-recommends libboost
-all-dev
sudo apt
-get install
-y libgflags
-dev libgoogle
-glog-dev liblmdb
-dev
sudo apt
-get install
-y python
-pip
sudo apt
-get install
-y python
-dev
sudo apt
-get install
-y python
-numpy python
-scipy
将终端cd到你要安装caffe的位置,执行如下指令,从github上clone caffe。
1
2
3
4
5
git clone https://github
.com/BVLC/caffe
.git //从github上git caffe
cd caffe //打开到刚刚git下来的caffe
sudo
cp Makefile
.config.example Makefile
.config //将Makefile
.example的
内容复制到Makefile
.config
//因为make指令只能make Makefile
.config文件,而Makefile
.example是caffe给出的makefile例子
sudo gedit Makefile
.config //打开Makefile
.config文件
1
2
3
4
5
6
7
8
9
10
11
打开之后
修改如下
内容:
修改为: INCLUDE_DIRS
:= $(PYTHON_INCLUDE) /usr/
local/include /usr/include/hdf5/serial
LIBRARY_DIRS
:= $(PYTHON_LIB) /usr/
local/lib /usr/lib /usr/lib/x86_64
-linux-gnu /usr/lib/x86_64
-linux-gnu/hdf5/serial
MATLAB_DIR
:= /usr/
local
MATLAB_DIR
local/matlab2014a
打开makefile文件,
1
2
3
4
将
NVCCFLAGS
+=-ccbin
=$(CXX)
-Xcompiler-fPIC $(COMMON_FLAGS)
替换
NVCCFLAGS
+= -D_FORCE_INLINES -ccbin=$(CXX)
-Xcompiler -fPIC $(COMMON_FLAGS)
编辑/usr/local/cuda/include/host_config.h,将其中的第115行注释掉:
将
1
2
3
4
#
error
改为
//#
-- unsupported GNU version! gcc versions later than 4.9 are not supported!
之后再
make all -j8
make runtest
make pycaffe
make matcaffe