ubuntu16.04+cuda8.0+cudnn+opencv3.0+caffe

一.ubuntu16.04安装

开机F12进入BIOS的设备启动菜单,选择U盘启动。
安装类型,选择其他选项,进行分区。
在这里插入图片描述
Swap:逻辑分区,20GB 空间起始位置 交换空间
/boot(引导分区):10G 逻辑分区 空间起始位置 Ext4日志文件系统 /boot
/.(主分区):100GB 主分区,用于存放系统.
/home(用户存储数据用):逻辑分区,剩下的440GB全部留给了/home。

其余全部一下步即可。

BUG:直接进入win7系统,没有选择ubuntu系统的选项。
Solution:EasyBCD

二.cuda8.0

1.检查自己的GPU是否支持CUDA

lspci | grep -i nvidia

在这里查看:[https://developer.nvidia.com/cuda-gpus] ,有的话就可以继续啦,不然只能换个显卡了。

2.安装nvidia驱动

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

执行完上述后,重启:sudo reboot
输入:nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。

3.禁止ubuntu系统自带的nouveau显卡驱动。
查看自己的驱动状态:lsmod | grep nouveau
如果有显示就要执行下面的操作了,一般新系统都是有输出的。
创建blacklist-nouveau.conf:sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在新建的文件里添加如下内容:

blacklist nouveau
options nouveau modeset=0

更新:sudo update-initramfs -u
执行完上述后,重启:sudo reboot
再一次检查是否禁用成功lsmod | grep nouveau
没有东西输出变是成功啦。

4.安装run文件
A. [https://developer.nvidia.com/cuda-downloads]官网下载适合自己的run安装包
B.重启系统后,不要进入登陆界面(!!!否则可能会安装失败),直接按 Ctrl+Alt+F1进入文本模式(命令行界面),输入用户名和密码,登录账户。
C.关闭图形化界面

sudo service lightdm stop

D.使用cd 命令切换到cuda_8.0.61_375.26_linux.run的目录,执行

扫描二维码关注公众号,回复: 3505514 查看本文章
sudo sh cuda_8.0.27_linux.run

安装的时候,要让你先看一堆文字(EULA),我们直接不停的按##空格键到100%;不要选择安装驱动,遇到提示是否安装openGL ,选择no,其他的可以一路accept, yes或回车,不建议安装samples.以及x-config。

E.重启图形化界面

sudo service lightdm start

F.如果出现循环登录,按 F2 进入 boot 界面,确定secure boot 选项是 disable。

5.配置环境

sudo gedit /etc/profile

打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH

重启电脑:sudo reboot

6.检查是否成功

cat /proc/driver/nvidia/version
nvcc -V
nvidia-smi

有输出

ls /dev/nvidia*

显示三个或四个

三.cudnn

1.下载cudnn-8.0-linux-x64-v5.1.tgz
2. 解压文件tar zxvf cudnn-8.0-linux-x64-v5.1.tgz,解压后,得到cuda文件夹,内有include和lib64两个文件夹。
3. 进入include文件夹,执行如下命令复制头文件:

sudo cp cudnn.h /usr/local/cuda/include/

4.进入lib64文件夹,执行如下命令复制动态链接库:

sudo cp lib* /usr/local/cuda/lib64/

5.进入复制后的动态链接库进行新的链接
先进入目录:cd /usr/local/cuda/lib64/
查看已有链接:ls -al | grep libcudnn
显示四个
删除原有动态文件:sudo rm -rf libcudnn.so libcudnn.so.5
再次查看:ls -al | grep libcudnn
显示两个,说明已删除,现在建立新的链接:

sudo ln -s libcudnn.so.5 libcudnn.so
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接

(上面那一条也有可能是sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
这里需要先查看一下自己应该链接的是 libcudnn.so.5.1.10 还是 libcudnn.so.5.1.5 ,查看方法为下:

locate libcudnn.so

执行完后显示如下:

/home/yxy/.local/share/Trash/files/libcudnn.so
/home/yxy/.local/share/Trash/files/libcudnn.so.5 	
/home/yxy/.local/share/Trash/files/libcudnn.so.5.1.10 	
/home/yxy/.local/share/Trash/files/cuda/lib64/libcudnn.so 	
/home/yxy/.local/share/Trash/files/cuda/lib64/libcudnn.so.5 	
/home/yxy/.local/share/Trash/files/cuda/lib64/libcudnn.so.5.1.10 	
/home/yxy/.local/share/Trash/info/libcudnn.so.5.1.10.trashinfo 	
/home/yxy/.local/share/Trash/info/libcudnn.so.5.trashinfo 	
/home/yxy/.local/share/Trash/info/libcudnn.so.trashinfo 	
/home/yxy/cuda/lib64/libcudnn.so 	
/home/yxy/cuda/lib64/libcudnn.so.5 	
/home/yxy/cuda/lib64/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so 	
/usr/local/lib/libcudnn.so.5

可以看到我的文件是 libcudnn.so.5.1.10 ,并没有 libcudnn.so.5.1.5,所以第三行命令我链接的是 libcudnn.so.5.1.10 ,这里第三行链接命令视你的查看结果而定。)
再次查看:

 ls -al | grep libcudnn

显示四个,已链接好!
然后设置环境变量和动态链接库:

sudo gedit /etc/profile

然后再打开的文件末尾加上(“=”前后不要有空格)

export PATH=/usr/local/cuda/bin:$PATH

保存之后创建链接文件:

sudo vi /etc/ld.so.conf.d/cuda.conf

这是一个空白文件,添加:

/usr/local/cuda/lib64

按下esc键,输入(:wq)保存并退出
输入如下命令使链接生效

sudo ldconfig

四.opencv3.0

1.安装OpenCV的一些依赖库。(可以写一个脚本,直接全部运行)

sudo apt-get -qq remove ffmpeg x264 libx264-dev
sudo apt-get -y install libopencv-dev
sudo apt-get -y install build-essential
sudo apt-get -y install cmake
sudo apt-get -y install pkg-config
sudo apt-get -y install yasm
sudo apt-get -y install libjasper-dev
sudo apt-get -y install libavcodec-dev
sudo apt-get -y install libavformat-dev
sudo apt-get -y install libswscale-dev
sudo apt-get -y install libdc1394-22-dev
sudo apt-get -y install libxine-dev
sudo apt-get -y install libgstreamer0.10-dev
sudo apt-get -y install libgstreamer-plugins-base0.10-dev
sudo apt-get -y install libv4l-dev
sudo apt-get -y install python-dev
sudo apt-get -y install python-numpy
sudo apt-get -y install python-scipy
sudo apt-get -y install  python-sphinx
sudo apt-get -y install libtbb-dev
sudo apt-get -y install libqt4-dev
sudo apt-get -y install libgtk2.0-dev
sudo apt-get -y install libfaac-dev
sudo apt-get -y install libmp3lame-dev
sudo apt-get -y install libopencore-amrnb-dev
sudo apt-get -y install libopencore-amrwb-dev
sudo apt-get -y install libtheora-dev
sudo apt-get -y install libvorbis-dev
sudo apt-get -y install libxvidcore-dev
sudo apt-get -y install x264
sudo apt-get -y install v4l-utils
sudo apt-get -y install unzip
sudo apt-get -y install libgtk2.0-0
sudo apt-get -y install libjpeg-dev
sudo apt-get -y install libjpeg62 
sudo apt-get -y install libtiff4-dev
sudo apt-get -y install libtiff5-dev
sudo apt-get -y install qt5-default

2.下载一个安装包,为后面编译安装做准备。

wget http://www.linuxtv.org/downloads/v4l-utils/v4l-utils-0.8.5.tar.bz2
wget http://ffmpeg.org/releases/ffmpeg-2.8.tar.bz2
wget -O opencv-3.0.0.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.0.0/opencv-3.0.0.zip/download

3.安装mmfpeg

sudo apt-get install -y libx264-dev libxext-dev libxfixes-dev
tar -xf ffmpeg-2.8.tar.bz2
cd ffmpeg-2.8
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis
make -j
make install
cd ..

4.安装v4l

tar -xvf v4l-utils-0.8.5.tar.bz2
cd v4l-utils-0.8.5
make -j
sudo make install
cd ..

5.安装opencv

sudo unzip opencv-3.0.0.zip
cd opencv-3.0.0
sudo mkdir build
cd build
# 注意根据自己的显卡,修改 CUDA_GENERATION。如果是Fermi架构,就需要将Kepler修改成Fermi
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON CUDA_GENERATION=Kepler ..
sudo make -j
sudo make install
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

6.BUG
执行sudo make时,可能出现

make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o]
Error 1 make[1]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all]
Error 2 make: *** [all] Error 2的错误。

那是因为 cuda-8.0与OpenCV 3.0发生了冲突。解决方法:修改openCV 3.0源码,使其兼容cuda-8.0

sudo gedit opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp

将第四十五行位置的

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为

#if !defined(HAVE_CUDA)||defined(CUDA_DISABLER)||(CUDART_VERSION>=8000)

然后重新

sudo make -j4 

五.caffe

1.安装caffe相关依赖

sudo apt-get install git libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev python-dev libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install --no-install-recommends libboost-all-dev

安装python依赖库

sudo apt-get install cython python-numpy python-scipy python-skimage python-scikits-learn python-matplotlib ipython python-h5py python-leveldb python-networkx python-nose python-pandas python-dateutil python-protobuf python-gflags python-yaml python-pil

安装矩阵加速器

sudo apt-get install libopenblas-dev

2.从官网下载caffe-master压缩包,解压到自己想要的目录,进入主目录下

cp Makefile.config.example Makefile.config

3.sudo gedit Makefile.config
修改BLAS:=open
use_cudnn :=1的备注取消

修改下面配置:

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/hdf5/serial/ 

应用 opencv 版本
#OPENCV_VERSION := 3取消注释
使用 python 接口
#WITH_PYTHON_LAYER := 1 取消注释

4.可以开始编译了

make all -j8 make test -j8 make runtest -j8 make pycaffe

其他错误,可参考欧尼的博客:https://www.cnblogs.com/zzq-123456/p/7374547.html

猜你喜欢

转载自blog.csdn.net/weixin_36697338/article/details/82928584
今日推荐