天天看点

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

Ubuntu14配置cuda8

  • 1安装NVIDIA显卡驱动
    • 1.1 禁用nouveau(自带驱动)
    • 1.2 禁用X server
    • 1.3 安装驱动
  • 2 安装CUDA
  • 3 安装cuDNN(深度学习加速器)
  • 附加:安装好上述环境后安装darknet

参考:

安装CUDA:Ubuntu 安装cuda-9.0

安装cudnn:Ubuntu安装cudnn

准备工作:把cuda和cudnn下载好,我是放在download目录下。

1安装NVIDIA显卡驱动

1.1 禁用nouveau(自带驱动)

ubuntu 默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。

编辑文件blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf

若未安装vim则sudo apt-get install vim安装或使用vi

在文件最后部分插入以下两行内容

blacklist nouveau

options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启系统(一定要重启,注销不行)

验证nouveau是否已禁用

lsmod | grep nouveau

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

没有信息显示,说明nouveau已被禁用。

1.2 禁用X server

如果不禁用,在安装时会报下错:

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

怎样关闭X server:

在ubuntu下按ctrl+alt+f1进入命令行界面(控制器),

然后在输入:

sudo service lightdm stop //这个是关闭图形界面,不执行会出错。

然后卸载掉原有驱动:

sudo apt-get remove nvidia-* (若安装过其他版本或其他方式安装过驱动执行此项)

然后可以在控制器里安装驱动了。

1.3 安装驱动

进入下载好的驱动.run文件目录,

改变文件的执行权限:

然后开始安装:

sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files //只有禁用opengl这样安装才不会出现循环登陆的问题
           

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

(后面几项如果不写,装好驱动后系统会循环登录…)

安装结束后,输入

sudo service lightdm restart

重启X server,这时就可以登入桌面了。

桌面终端,挂载Nvidia驱动:

modprobe nvidia
           

检查驱动是否安装成功:

nvidia-smi
           

如果出现如下提示,则说明安装成功:

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

2 安装CUDA

由于我的系统是Ubuntu14.04,不支持cuda9及以上版本,因此安装了cuda8.

步骤:

进入下载好的cuda目录(我下载的是run文件),更改权限(直接777),然后

sudo ./cuda.......run 
           

开始安装

出现下边边的界面时使用按键“Q”跳过。

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

嘛也不说了,就是接受 accept

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

到了选择安装显卡驱动时,由于前面已经安装好了驱动,这里使用“n”选择不安装。

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

后边就是选择是或者默认设置一直往下继续进行。

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

安装完成后添加环境变量

打开环境变量

sudo gedit ~/.bashrc
           

在环境变量中进行添加

#cuda-9.0
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
           

将环境变量文件保存关闭,并且在终端中输入环境变量更新指令

source ~/.bashrc 
           

验证安装是否成功

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

在终端中输入上边的指令,如果终端中显示下边的指令,result=pass 则证明cuda-9.0安装成功。

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

3 安装cuDNN(深度学习加速器)

cuDNN的下载链接在文章开始,需要注册账号,下载选择和cuda版本匹配的,我选择的是cuDNN v7.1.3for CUDA 8.0,选择第一个for Linux版。

安装过程实际上是把cudnn的头文件复制到CUDA的头文件目录里面去;把cuDNN的库复制到CUDA的库目录里面去。

首先需要将下载的cudnn tgz包解压,之后再执行如下命令:(大家也可以一个一个的移动到相应的cuda文件下):

# 复制cudnn头文件
sudo cp cuda/include/* /usr/local/cuda-10.0/include/
# 复制cudnn的库
sudo cp cuda/lib64/* /usr/local/cuda-10.0/lib64/
# 添加可执行权限
sudo chmod +x /usr/local/cuda-10.0/include/cudnn.h
sudo chmod +x /usr/local/cuda-10.0/lib64/libcudnn*
           

测试:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
           

如果出现类似这样的说明安装成功。

ubuntu14配置cuda1安装NVIDIA显卡驱动2 安装CUDA3 安装cuDNN(深度学习加速器)附加:安装好上述环境后安装darknet

附加:安装好上述环境后安装darknet

darknet官网教程,先GitHub克隆到电脑,然后进入darknet目录:

git clone https://github.com/pjreddie/darknet.git
cd darknet
           

如果不需要cuda、cudnn、opencv,可以直接接着make编译即可。如果需要,则要修改一下该目录的Makefile文件:

sudo gedit Makefile
           

把前几行需要用到的把0修改成1保存即可,然后执行make编译。

编译过程中可能报错:

nvcc"not found

[obj/convolutional_kernals.o] Error 127

解决办法是:

修改刚才那个Makefile,找到NVCC=nvcc那一行,修改为

NVCC=/usr/local/cuda-8.0/bin/nvcc

即把中间路径加上去,保存再执行make即可。

安装完darknet后,测试时可能又出现这样的错误:

ImportError: libcudart.so.8.0:cannot open shared object file:No such file or…

解决办法参考:

https://blog.csdn.net/qq_38451119/article/details/81007904