【环境搭建】Caffe配置 ubuntu16.04+CUDA9.0+cudnn7.1

一、个人电脑配置

硬件:NVIDIA GeForce 1080(lspci | grep -i vga 可以查看)

OS:ubuntu16.04

二、安装NVIDIA驱动

(1)在NVIDIA官网 http://www.nvidia.com/Download/index.aspx?lang=en-us 查看适合自己的显卡的驱动并下载

我的电脑是GeForce 10serials NVIDIA GTX 1080,系统是linux64位,对应最新的驱动版本是440,下载后是一个后缀为.run的文件

(2)在系统设置中安装,系统设置--->软件与更新--->附加驱动,这时候会显示很多适配的驱动,我下载的是430版本。

 有时候会不显示适配开源驱动,现在终端输入:sudo lshw -c video | grep coniguration(好像是,这里有点忘了,不过不显示那一定是需要先搜索一下驱动)

安装驱动完成后,要重启电脑,就可以打开终端测试:nvidia-smi,出现下面界面就成功了

这个是示例,跟实际我的配置不一样。

三、 CUDA安装

首先在官网(https://developer.nvidia.com/cuda-toolkit-archive),按照自己的配置选择,下载CUDA9.0版本:

 下载完成后执行安装命令:

sudo chmod 777 cuda_9.0.176__384.81_linux.run
sudo ./cuda_9.0.176__384.81_linux

出现下面的界面后,一直点回车直到100%:

下面会陆续弹出一些选择项,如图选择即可,第二个我们已经下载好驱动,就不需要下载了

Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /home/pci ]:

安装完成后,配置环境变量:

打开~/.bashrc文件:sudo gedit ~/.bashrc

将一下内容写到最后:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PYTHONPATH=/home/ubuntu/caffe/python$PYTHONPATH

保存关闭之后执行source ~/.bashrc

输入 sudo ldconfig //环境变量生效

测试一下CUDA的samples

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery

显示以下信息,就是安装成功了

 sudo  /home/ubuntu/NVIDIA_CUDA-8.0_Samples

make 

需要等待几分钟,不报错则测试成功

四、配置cuDNN

下载cuDNN,到官网https://developer.nvidia.com/rdp/cudnn-download下载,需要注册一个账号才可以下载的

我这里下载的是cuDNN7.1版本,下载后进行解压:

sudo tar -zxvf /cudnn-7.1-linux-x64-v5.1.tgz

显示如下文件:
*cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.5
cuda/lib64/libcudnn.so.5.1.5
cuda/lib64/libcudnn_static.a*

解压后 cd cuda/include

sudo cp cudnn.h /usr/local/cuda/include  复制头文件

再进入lib64目录下复制生成软连接:

cd ..
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      #生成软链接

继续执行指令:
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

设置环境变量和动态链接库:

sudo gedit /etc/profile

在打开的文件最后加上:

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

保存后创建链接:

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

加入:/usr/local/cuda/lib64,保存退出

sudo ldconfig 设置生效

在编译之前,备份配置文件

​​​​​​​cd /usr/local/cuda-8.0/include
sudo cp host_config.h host_config.h.bak

进入例文进行编译:

cd /usr/local/cuda/samples
sudo make all -j4
cd /usr/local/cuda/samples/bin/x86_64/linux/release
sudo ./deviceQuery

出现以下界面就是安装成功了 

 五、安装OpenCV3.4.9

在官网https://opencv.org/releases/下载源码openCV3.4.9,解压并建立build文件

unzip opencv-3.4.9.zip
sudo cp ./opencv-3.4.9 /media/pci
sudo mv opencv-3.4.9 opencv

cd ~/opencv
mkdir build
cd build

配置并编译

sudo apt install cmake
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local 
sudo make -j8

我的编译过程还挺顺利,不过有时候也会出现一些问题,可自行在网上查找,问题都有普遍性,类似版本兼容、缺少库等问题还挺多的

六、配置caffe

1、下载caffe

git clone https://github.com/BVLC/caffe

2、复制一个Make文件,并修改编译文件

sudo cp Makefile.config.example Makefile.config
sudo gedit Makefile.config

修改内容:

(1)#USE_CUDNN := 1         改成          USE_CUDNN := 1(使用cudnn)

(2)#OPENCV_VERSION := 3   改成   OPENCV_VERSION := 3(使用的是opencv3的版本)

(3)#WITH_PYTHON_LAYER := 1   改成   WITH_PYTHON_LAYER := 1(使用Python写layer)

(4)# Whatever else you find you need goes here. 下面的

1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include   改成   INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib   改成  LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial 

2、修改makefile文件

原文处:NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) 

修改后:NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

3、编辑/usr/local/cuda/include/host_config.h文件(这步我没有操作,不知道什么原因,不过也没有影响结果,应该gcc的版本满足要求)

#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

改为

//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

4、编译

在caffe路径下:make all -j4

5、测试

sudo make runtest

这一步要安装一个:sudo apt-get install ffmpeg,否则会报错

出现下面的界面就是大功告成了

http://images2015.cnblogs.com/blog/829125/201612/829125-20161216222255120-811606555.png

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值