您的位置:首页 > Web前端

ubuntu16.04下 1080ti显卡驱动384.98+cuda9.0+cudnn+caffe 安装过程,本人新测,没毛病

2017-12-05 11:49 1416 查看

ubuntu16.04下 显卡驱动384.98+cuda9.0+cudnn9.0+caffe 安装

我自己尝试的在16.04下安装如上所述,系统安装不多说,主要说显卡驱动往下的部分,和我自己遇到的问题和解决办法。

装ubuntu16.04

显卡驱动384.98

cuda9.0

cudnn9.0

caffe

装ubuntu16.04

原系统是win10,在这个基础上用u盘安装的双系统。所用系统https://www.ubuntu.com/download/desktop 如下图



显卡驱动384.98

第一开始我以为cuda中自带GPU显卡驱动,不用独立安装,实际上我是没成功的,还是要先安装显卡驱动。第二因为我的主板上有集成显卡的插槽,所以在gpu显卡驱动装上之前,都是用的集成显卡。如果是没有集成显卡插槽,我就没试过了,用其他人的方法吧。

首先去官网下载对应GPU版本的显卡驱动,我的是微星的GTX1080Ti ,到nvidia网站http://www.nvidia.cn/Download/index.aspx?lang=cn



点击搜索,下载。我放在了下图的位置



接下来我遇到了第一个大坑,-》安装这个驱动。安装驱动是需要关闭ubuntu的图形桌面的,但是我在用ctrl+alt+F1 或者 sudo service lightdm stop 命令想关闭图形,都会满屏幕输出nouveau。。。。SCHED_ERROR 08 这样的错误,我搜索解决方法,网上说还是显卡的原因,有一堆解决方法,说是引导的问题,或者显卡的问题,我都没解决。接下来说解决方案。首先我用了http://blog.csdn.net/u012005313/article/details/50582808 这个方法,问题没有完美解决,但是我不确定不操作这一步之后会不会成功。

sudo apt-get install grub
sudo apt-get install grub2
sudo gedit /etc/default/grub

#将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"中的quiet splash改为modeset


并没有解决,仍然是接下来我又看了个博客,地址找不到了,就是先注销当前账户,在输入密码的那个界面 用ctrl+alt+F1,这次成功进入到命令行界面,输入用户名密码(相当于在图形化界面里输入密码,当然用户名需要自己输入,它不会直接显示)成功完成。

#首先关闭图形服务
sudo service lightdm stop
#给NVIDIA-Linux-x86_64-384.98.run赋权限,版本不一样自行修改,还有我
#的当前目录就是~目录,注意路径
sudo chmod 777 NVIDIA-Linux-x86_64-384.98.run
sudo sh NVIDIA-Linux-x86_64-384.98.run
#打开图形服务
sudo service lightdm start
#重启
sudo reboot


如果上述步骤都没问题,那么显卡驱动安装成功,可以把显示器插口插在gpu的口上了,重启后屏幕可以显示,安装成功,图形界面也恢复了。

cuda9.0

下面安装cuda,我下载了目前最新版本的9.0。去官网下载https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal





#运行
sudo sh cuda_9.0.176_384.81_linux.run


run文件类似于win的安装了,一步一步有提示的,第一个好像问装不装显卡驱动,选择n,其他就选择y吧。接下来修改环境变量和库路径

sudo gedit /etc/profile
#添加一句 export PATH=/usr/local/cuda-9.0/bin:$PATH
source /etc/profile #让它生效
#添加lib库路径,需要新建一个文件
sudo gedit etc/ld.so.conf.d/cuda.conf
#在文件里添加一句 /usr/local/cuda-9.0/lib64 记得保存
sudo ldconfig #让它生效


接下来编译samples ,进入sample

sudo cd /usr/local/cuda-9.0/samples


接下来编译

sudo make


验证编译

cd /usr/local/cuda-9.0/samples/bin/x86_64/linux/release
./deviceQuery


如果显示显卡信息就ok了,其实上一步make不报错基本就成功了。

安装cudnn

cudnn 是让gpu加速的一个库,运行起来快吧。cudnn的版本要与cuda对应,所以去官网下载https://developer.nvidia.com/rdp/cudnn-download 我选的是下图有下划线那个版本。我应该下载了一个压缩包,要解压。





cudnn的安装学习了这篇博客http://blog.csdn.net/xuezhisdc/article/details/48651003

http://blog.csdn.net/guoyunfei20/article/details/78191599

#解压文件
tar -zxvf cudnn-9.0-linux-x64-v7.tgz
#切换路径,文件夹名字被我改成了cuda
cd cuda
#复制lib文件到cuda安装路径下的lib64/
sudo cp lib* /usr/local/cuda/lib64/
#复制头文件
sudo cp cudnn.h /usr/local/cuda/include/

#更新软连接 文件名具体要自己看一下
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7.0
sudo ln -s libcudnn.so.7.0.4 libcudnn.so.7.0
sudo ln -s libcudnn.so.7.0 libcudnn.so

sudo gedit /etc/profile
#添加export LD_LIBRARY_PATH=/usr/local/cuda/cudnn/lib64$LD_LIBRARY_PATH
source /etc/profile


当然可以按照上面链接的方法测试cudnn是否成功,我就不写了。

caffe的安装

安装caffe之前要安装python或者matlab,opencv也是可选的,我就不写了。ubuntu16.04 python2 python3都有的 。

还要安装一个东西mkl或者blas ,简单点就是blas

sudo apt-get install libatlas-base-dev


然后下载caffe,github https://github.com/BVLC/caffe

并且解压。

首先安装一堆依赖包,否则后面编译caffe会有各种各样的错误。参考http://blog.csdn.net/jpday/article/details/70741619

#先下载一个glog,貌似谷歌又上不去,csdn有人传又收金币,日了够
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3/
./configure
make
sudo make install

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

#cython 我没有装上,报错了。我没管它。

sudo apt-get install -y protobuf-c-compiler protobuf-compiler


首先需要在官方提供的Makefile.config文件的基础上进行一些配置工作。先拷贝一份原始Makefile.config文件

cd ~/caffe-master
cp Makefile.config.example Makefile.config
sudo gedit Makefile.config
#需要对配置文件做一些修改


因为相关博客有很多,我就直接贴我修改了哪些内容吧

一 开启cudnn

# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1


*

二 compute_20这里以后会报错,因为cuda版本问题,所以注释掉

*

# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
# For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
# For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
CUDA_ARCH := \
#               -gencode arch=compute_20,code=sm_20 \
#       -gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61


三 因为要用py2 和py3 所以注释去掉

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
# $(ANACONDA_HOME)/include/python2.7 \
# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

# Uncomment to use Python 3 (default is Python 2)
# PYTHON_LIBRARIES := boost_python3 python3.5m
PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include


四 这个路径一定要修改,不然找不到hdf5,或者其他依赖包

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include/hdf5/serial \
/usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial \
/usr/local/lib /usr/lib


那个反斜杠是换行,不要搞错了,我直接复制的,可能格式不太好看

五 关于opencv 和matlab 的配置文件修改部分,我没用就没改,其他博客中写的很清楚,也很简单。

总之,有错误就搜一下错误,总有前人会犯过的。。。。再贴几个帮助很大的博客

http://blog.csdn.net/striker_v/article/details/51615197

http://m.blog.csdn.net/w113691/article/details/77937193

http://blog.csdn.net/jpday/article/details/70741619

http://www.linuxidc.com/Linux/2016-12/138870p2.htm

http://blog.csdn.net/u010417185/article/details/52065472

接下来就是编译caffe了,在当前文件夹下

make all
make test
make runtest
make pycaffe


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu cuda caffe