Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置
来源:互联网 发布:设计界面的软件 编辑:程序博客网 时间:2024/06/04 18:12
[一]硬件以及系统介绍:
1.1.显卡(getforce 10 系列--GTX10xx,如GTX1060)
本解决方案使用的显卡类型为GTX1060,当然所有的getforce 10 系列---GTX10xx都可以。cuda7.5不支持getforce 10 系列以上的显卡,所以,那些安装有getforce 10 系列---GTX10以上的显卡的同学必须安装Cuda8.0,那些含有cuda7.5以及以下的教程将不再适用。
系统(主要是Linux)
我们先来看一看,Cuda8.0支持的系统和软件,如下图,Ubuntu16.04需要的gcc版本为5.3.1,而当Ubuntu16.04安装好之后,系统自带的gcc版本为5.4,所以gcc要重新安装,下面会有安装教程。
也就是说不论你是那个版本的Linux系统只要在上面表里即可使用Cuda8.0,从上表中可以看出Ubuntu14.04和Ubuntu16.04都可以使用Cuda8.0。
1.2.OpenCV版本选择
之前装了好几OpenCV3.1.0都失败了,找了半天原因,原来是OpenCV3.1.0对Cuda8.0兼容性不好。
由上图可知Cuda8.0出来的时间是2016年9月,而OpenCV3.1.0却是去年,OpenCV2.4.13是今年5月,兼容性比OpenCV3.1.0要好,所以我选择的是OpenCV2.4.13。
[二]NVIDIA显卡驱动安装
2.1有两种安装方式,第一种如下:
选择附加驱动,点击后会有如下窗口弹出
上面一项选择使用英伟达驱动,下面一项未知驱动为cpu带的集成显卡选择下面的选项:不用这个设备,选完以后一定要点击"Apply Changes"也就是“应用改变”的按钮(右边的按钮)。
安装完成以后要重启一下系统,然后在bash里面输入:
nvidia-settings
显示如下结果表示安装成功,你可以在下面查看你的驱动版本
2.2方案二:如果方案一行不通,可以自行安装驱动,从NVIDIA官网上下载驱动:
http://www.nvidia.cn/Download/index.aspx?lang=cn 如下图
选择自己需要的版本和驱动,然后点击旁边绿色按钮“搜索”:
点击绿色按钮“下载”
2.2.2下载完成,打开终端,先删除旧的驱动:
sudo apt-get purge nvidia*2.2.3 禁用自带的 nouveau nvidia驱动 (很重要!)
通过如下命令创建一个文件
sudo vim /etc/modprobe.d/blacklist-nouveau.conf在文件内添加如下内容:
blacklist nouveau
options nouveau modeset=0更新一下
sudo update-initramfs -u2.2.4重启系统至init 3(文本模式),也可先进入图形桌面再运行init 3进入文本模式,再安装下载的驱动就无问题,首先我们需要结束x-window的服务,否则驱动将无法正常安装
关闭X-Window
sudo service lightdm stop切换到tty1控制台
Ctrl+Alt+F1
2.2.5.执行如下命令开始安装
sudo ./NVIDIA.run安装完成后重新启动
X-Window
sudo service lightdm start然后
Ctrl+Alt+F7
进入图形界面如果安装后驱动程序工作不正常,使用下面的命令进行卸载:
sudo sh ~/NVIDIA-Linux-x86_64-367.44.run --uninstall2.2.6检查是否安装成功,过程跟第一种方案一样,输入
nvidia-smi
nvidia-settings
[三]系统软件源设置并安装依赖包
流程,分别操作:系统设置(system settings)---->软件与更新(software & update)----->选择Ubuntu软件(Ubuntu software)选项卡。 来改变系统软件源为阿里的源。
更新列表,打开终端输入如下命令
sudo apt-get update
软件源更新完毕后,安装一些必要的依赖包,命令如下
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libboost-all-dev libopenblas-dev liblapack-dev libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev
如果执行过程报出有一些包没有找到,如下图
则更新列表,打开终端输入如下命令
sudo apt-get update软件源更新完毕后,重新安装这些必要的依赖包,命令如下
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libboost-all-dev libopenblas-dev liblapack-dev libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev此时就会安装成功!
[四]安装Anaconda
anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,而python是一个编译器,如果不使用anaconda,那么安装起来会比较痛苦,各个库之间的依赖性就很难连接的很好
4.1.下载:anaconda的下载地址为: https://www.continuum.io/downloads#linux
根据自己的需要选择不同的版本,但是推荐选择Python2.7的64位的。
4.2.安装
在终端中进入存放这你刚刚下载好的文件的目录(我的是/下载),然后执行如下命令进行安装:
sudo ./Anaconda2-4.2.0-Linux-x86_64.sh
输入回车键之后会有一段长长的须知,一直按Ctr+F直到须知展示完毕,然后输入yes继续执行
这个时候,我们在家目录下新建一个/Software文件夹用存放以后自己安装的软件,当然包含anaconda,执行如下命令
cd ~
mkdir Software此时终端会提示你输入安装位置,你输入:/home/leijie/Software/anaconda2,然后继续安装
直到最后安装成功,到这里anaconda就安装完成了,测试一下
anaconda -V
[五]cuda安装
前言:一定要搞清楚你自己的显卡要装什么版本的驱动,以及支持的cuda版本。我的显卡支持cuda8.0
5.1.下载: 下载地址为:https://developer.nvidia.com/cuda-downloads,然后根据自己的需要选择下载文件
我下载的是.run文件,也推荐大家下载这种格式的。
5.2.GCC降级------->由文章的最开始,我们可以知道cuda8.0目前仅支持gcc5.3而ubuntu16.04自带的gcc版本为gcc5.4,所以要降级。
5.2.1.先查看你是否需要降级GCC
gcc -v
如果你的版本是5.3.1以下的就不用降级了,否则要降级gcc。
5.2.2.下载gcc5.3.0,下载地址为:https://pan.baidu.com/s/1cL2v62,下载好后,进入到该文件目录,执行如下操作:
sudo tar -zxvf gcc-5.3.0.tar.gz5.2.3.进入到gcc目录:
cd gcc-5.3.0/
5.2.4.下载依赖项(网络不好的话可能慢点,慢慢等吧):
sudo ./contrib/download_prerequisites5.2.5. 新建一个编译的文件夹,并进入该文件夹:
sudo mkdir build
cd build/
5.2.6.生成makefile文件:
sudo ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib5.2.7.编译,编译过程有点长,请耐心等待:
sudo make -j45.2.8.安装:
编译结束以后,我们就可以执行安装了:
sudo make install5.2.9.查看是否成功
gcc --version
g++ --version
5.3安装cuda
gcc降到5.3之后,可以直接来安装了cuda了,进到你下载好的cuda-8.0的run文件目录,运行如下命令:
sudo ./cuda_8.0.44_linux.run这时便进入的声明的界面,你可以连续按Ctr+f向下阅读直到结尾,也可以按Ctr+C跳过阅读,直接到选择接受与否的位置
输入接受:accept; 然后回车。具体应该怎么输入请按照如下图片的指示来操作,原因:第一次不安装的是英伟达驱动,因为我们之前已经安装过了,第二次不安装是更新,也不用安,安装了麻烦。
由于我第一遍输错了,所以我又重新安装了一遍,这一次的操作如下图:
如果出现下图的结果,表明你已经安装成功了,虽然有一个警告和一个特别注意但是不影响结果
从上图可是,下载的例子里面是缺少一些支持库的,现在我们安装这些库:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
从上图可以看出来,有一个特别注意,所以我们做如下配置:打开.bashrc来进行配置,命令如下
sudo vim ~/.bashrc
并将如下的几行内容复制的到.bashrc文件的最下面
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
然后设置环境变量和动态链接库,在命令行输入:
sudo vim /etc/profile
在打开的文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH保存之后,创建链接文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf在打开的文件中添加如下语句:
/usr/local/cuda/lib64然后执行如下命令使得链接立即生效:
sudo ldconfig现在重启电脑!
现在就开始测试一下看看cuda是否安装成功吧!输入如下命令打开测试的代码位置:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery编译这些代码:
sudo make -j4执行代码
./deviceQuery如果出现如下结果---显卡的配置信息,恭喜你,这就证明你成功的安装了cuda
[六]cuDNN安装
cuDNN深度学习加速的一些库。下载地址为:https://developer.nvidia.com/cudnn
6.1.下载
打开网站,如下图,需要注册一个账户,因为下载的时候需要,然后下载,流程如下图:
6.2下载后解压
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz执行如下操作:
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/
cd ../lib64/
sudo cp lib* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
执行完之后,cuDNN算是安装完成了
[七]OpenCV2.4.13安装
7.1下载
下载地址:http://opencv.org/ 也可以从网盘下载:https://pan.baidu.com/s/1qXT7is0
7.2安装相关依赖项:
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev libatlas-base-dev gfortran7.3配置编译opencv的环境
sudo apt-get install cmake-qt-gui7.4解压这个下载的文件,在解压后的文件夹下新建一个opencv-debug文件夹:
unzip opencv-2.4.13.zip
cd opencv-2.4.13/
mkdir opencv-debug
cd opencv-debug/
7.5配置cmake
执行如下命令
cmake-gui点击configure出现下面的界面,cmake中configure的作用就是能够读出系统已经安装的相关文件,然后进行generate:
编译时间可能有点长,耐心等待。还是在刚刚的cd的那个文件夹opencv2-4-13-debug下执行:
make -j8
要是中途出现了一些问题是与cuda有关的,打开opencv下面那个cmakelist文件把with_cuda设置为OFF,如下图,之后再cmake,再编译。
sudo make install
7.7环境变量配置
安装成功后还需要设置opencv的环境变量,打开文件
sudo gedit /etc/profile在最后一行输入如下内容:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
执行下列命令, 使环境变量立即生效
source /etc/profile设置lib库路径,打开文件
sudo gedit /etc/ld.so.conf.d/opencv.confopencv的库一般安装在’/usr/local/lib’文件夹下,在文件内添加
/usr/local/lib执行下列命令使之立刻生效
sudo ldconfig经过上面的流程,这样就可以在eclipse里或者qtcreator里用opencv了。 不过要配置号相应的路径和lib文件。
7.8验证是否安装成功
对opencv的sample进行编译并运行,依次执行如下代码
cd opencv-2.4.13/samples/c
./build_all.sh
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg如果出现lena的图片就证明成功了!
[八]Caffe安装配置
8.1下载
github下载地址:https://github.com/BVLC/caffe 网盘下载地址:https://pan.baidu.com/s/1bpqsnZD
下载好以后解压,如下图
8.2Makefile.config配置
你会看到其中有一个文件叫Makefile.config.example.这个文件是官方给出了编译的“模板”,我们可以直接拿过来小小的修改一下就行。复制下面的命令把名字改为Makefile.config
sudo cp Makefile.config.example Makefile.config你会发现下面多了一个Makefile.config的文件
如果你没有安装sublime,可以参考我写的教程安装:http://blog.csdn.net/leijiezhang/article/details/53725710
sudo subl Makefile.config
你能够看到如下编辑窗口:
然后根据个人情况修改文件:
1.若使用cudnn,则将#USE_CUDNN := 1
修改成: USE_CUDNN := 1
(就是去掉注释的‘#’号)
2.若使用的opencv版本是2的,则将#OPENCV_VERSION := 3
修改为:OPENCV_VERSION := 2
3.若要使用python来编写layer,则将#WITH_PYTHON_LAYER := 1
修改为WITH_PYTHON_LAYER := 1
PYTHON_INCLUDE
加上注释,把ANACONDA_HOME
以及下面的PYTHON_INCLUDE
都去掉,并且改为如下图最终的样子。注意:ANACONDA_HOME
后面是anaconda的安装位置,根据自己的情况不同而不同。其中$(HOME)就是你的家目录将
# Whatever else you find you need goes here.
下面的INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib修改为:
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
(因为ubuntu16.04的文件包含位置发生了变化)
8.3修改makefile文件
打开makefile文件
sudo subl Makefile将(大概409行的样子):
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
hdf5_hl
和hdf5
修改为hdf5_serial_hl
和hdf5_serial
,即将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
8.4编辑/usr/local/cuda/include/host_config.h
执行如下命令,开始编辑host_config.h
sudo subl /usr/local/cuda/include/host_config.h将其中的第115行注释掉:
#error-- unsupported GNU version! gcc versions later than 5 are not supported!改为:
//#error-- unsupported GNU version! gcc versions later than 5 are not supported!
8.4编译
编译之前,先安装编译需要的库:
sudo apt-get install libatlas-base-dev
sudo apt-get install libprotobuf-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install protobuf-compiler
sudo apt-get install cmake接下来进行编译(在解压的文件夹下):
sudo make all -j8然后就编译好了
再测试一下:
sudo make test可能有个缓慢的编译过程,然后出现如下如所示的界面
参考网站:
http://blog.csdn.net/xierhacker/article/details/53035989
http://blog.csdn.net/autocyz/article/details/52299889
http://www.cnblogs.com/jinggege/p/5877326.html
http://blog.csdn.net/sunxianliang1/article/details/50723086
另外补充几个网址,方便各位查看
cuda的官方文档:http://docs.nvidia.com/cuda/
nvcc介绍的官方文档:http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#axzz4SsuDPfdq
cuda开发包介绍的官方文档:http://docs.nvidia.com/cuda/#axzz4SsuDPfdq
还有cuda8.0安装的官方文档:http://blog.csdn.net/u012581999/article/details/52433609http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#axzz4SsuDPfdq
- Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置
- Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置
- Ubuntu16.04+Cuda8.0(gtx1060)+Cudnn5.1+OpenCV2.4.13+anaconda2+caffe详细配置
- Ubuntu16.04+cuda8.0+Anaconda2+caffe安装
- caffe安装ubuntu16.04 opencv2.4.13 anaconda2
- ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历
- ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历
- Caffe的安装:ubuntu16.04+gtx1060+cuda8.0
- ubuntu16.04+gtx1060+cuda8.0+caffe安装、测试经历
- ubuntu16.04 caffe+cuda8.0+cudnn6.0+opencv2.3.14 配置
- Ubuntu16.04下Caffe环境搭建:cuda8.0 + opencv2.4.13
- Ubuntu16.04+CUDA8.0+ANACONDA2+cuDNN+caffe+opencv installation
- GTX1080+Ubuntu16.04+Cuda8.0+Anaconda2+Opencv3+Matlab2014a+caffe
- ubuntu16安装opencv2、cuda8.0、caffe
- ubuntu16.04+caffe+GPU Ubuntu16.04+CUDA8.0+caffe配置
- Ubuntu16.04+CUDA8.0+caffe配置
- Ubuntu16.04+cuda8.0+caffe配置记录
- Ubuntu16.04+CUDA8.0+caffe配置
- svg中path标签的用法(转载)
- Redis安装与应用
- myeclipse----怎么配置要使用的jdk
- RTP/RTCP/RTSP/SIP/SDP
- Git使用笔记
- Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置
- SQL server建表建约束(insert N'XXXX')
- CentOs7上Mysql快速迁移脚本
- 方法重写,abstract,final总结
- 中文不对比-Tomcat中文乱码问题的原理和解决方法
- 微服务架构
- ThinkPHP三种入口方式
- 深入Mysql字符集设置
- HTML简介