本机配置:i7-8700 GTX1070。经测试,本方案在i7-9700K TITAN XP; i7-7700K TITAN X上都也适用:

在安装之前首先感谢实验室师弟写的博客,但是写的估计有点乱,为了实验室以后装cuda这些东西方便一些,这里配上图,改进了一下之前师弟写的教程,更易懂一点:

1.安装nvidia-384:

进入软件更新,附加驱动,选择nvidia-384,之后点击右下角的应用更改,然后输入密码,等它安装:,你也可以通过手动安装驱动安装。

安装成功之后会提示我们重启:

然后我们选择重启。或者参考网址。

重启之后我们进入终端,输入命令:

nvidia-smi

如果能显示出下图类似的信息,则说明安装成功了:

2.检查相关环境配置:

在安装之前我们先更新一下,具体操作如下所示:

之后:

可能需要更新一些东西,我们输入y,然后回车就可以啦。之后系统就会自动下载更新一些东西。装完之后我们会显示如下信息:

就是不报错就可以了,我们接下来做一些测试:

1.验证自己的电脑是否有一个可以支持CUDA的GPU:

你可以在电脑的配置信息中找到显卡的具体型号,如果你是双系统,在windows下的设备管理器中也可以查到显卡的详细信息;在ubuntu下面的话,你可以通过下面这行命令来简单查看一下NVIDIA GPU版本信息:

lspci | grep -i nvidia

2.验证自己的linux版本是否支持CUDA:

uname -m && cat /etc/*release

3.验证系统是否安装了gcc

gcc --version

其实这个刚装完系统的话应该都装好了,但是为了保险起见,你还是可以查看一下,如果你没有安装的话,你可以采取下面的命令对其进行安装:

sudo apt-get install build-essential

4.验证系统是否安装了kernel header和package development:

a.查看正在运行的系统内核版本:

uname -r

b.安装对应kernel版本的kernel header和package development:

sudo apt-get install linux-headers-$(uname -r)

这个的话表示系统中已经有了,不用重复安装。

如果以上各项检查均满足要求的话,接下来就可以正式地进入安装界面了,如果有些地方没有满足要求的话,你需要参考cuda的官方文档,里面有详细的针对每个问题的解决方案。在以下链接中可以找到:https://docs.nvidia.com/cuda/

3.安装cuda:

我们首先进入nvidia的官方cuda9.0下载网页。https://developer.nvidia.com/cuda-90-download-archive

我们按照上述方案进行选择,之后选择下载Base Installer。下载完成之后的话,我们会在ubuntu的下载目录下找到:

但是我一般将其安装在home文件夹下面,所以我需要将其复制到home文件夹下面:

之后的话,我们可以采用MD5检验序号,看看序号是否会对得上:

cuda_9.0.176_384.81_linux.run

可以看到这里的版本是对到的,那么没有什么问题,一切都很正常。接下来的话,我们需要采用runfile安装cuda:

1.禁用nouveau驱动:

lsmod | grep nouveau

可以看到,我的电脑是没有输出的。如果有输出的话则代表nouveau正在加载,我们需要手动禁止掉(由于我的电脑是已经被禁止掉了的,所以下面禁止的方法并没有试验过,大家慎重一点):

Ubuntu的nouveau禁用方法:

a、在/etc/modprobe.d中创建文件blacklist-nouveau.conf,命令如下:

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在文件中输入以下内容:

blacklist nouveau
            options nouveau modeset=0

b.执行命令:

sudo update-initramfs –u

之后再次查看是否禁止成功:

lsmod | grep nouveau

若无内容输出,则禁用成功,若仍有内容输出,请检查操作,并重复上述操作。

2.按Alt + ctrl +F1进入命令行界面:

输入自己的用户名以及密码:

这里的话会显示中文乱码,我们可以下载一个包来解决这个问题:

sudo apt-get install fbterm

之后启动它:

sudo fbterm

然后我们进入zhiqianghe这个用户(每个人设定的不同):

su zhiqianghe

得到下面的界面:

之后我们关闭图形化界面:

sudo service lightdm stop

之后我们再切换到我们cuda文件的位置,在我这里就是在当前目录下,然后我们运行它:

sudo sh cuda_9.0.xx_xx_linux.run

对应自己的文件名称。之后我们进入nvidia的协议里面,需要我们看他的协议:

我们敲回车,敲到100%

之后它显示问我们是不是接受这个东西,我们在终端输入accept。

然后提示是否安装nivdia的驱动,我们不需要安装这个,输入n,之后敲回车:

遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU在工作需要选择no,否则可以yes),其他都选择yes或者默认即可。(如果您的电脑是双显卡且在这一步选择了yes,那么你极有可能安装完CUDA之后,重启图形化界面后遇到登录界面循环问题:输入密码后又跳回密码输入界面。 这是因为你的电脑是双显,而且用来显示的那块GPU不是NVIDIA,则OpenGL Libraries就不应该安装,否则你正在使用的那块GPU(非NVIDIA的GPU)的OpenGL Libraries会被覆盖,然后GUI就无法工作了。)

安装成功后,会显示installed,否则会显示failed。

之后我们重新启动图形化界面:

sudo service lightdm start

如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。如果不能进入的话,参考以下方案,否则跳过:

如果你遇到了重复登陆情况,不用急着重装系统,官方教程上有提及,原因上一步的注中有提及,在安装openGL时你可能不注意选择了yes,请卸载cuda,然后重装。
卸载:由于登陆进入不到图形用户界面(GUI),但我们可以进入到文本用户界面(TUI)

在登陆界面状态下,按Ctrl + Alt + f1,进入TUI
执行
$ sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl
$ sudo /usr/bin/nvidia-uninstall
然后重启
$ sudo reboot
重新安装.run   再次安装时请一定留意,在提示是否安装OpenGL时,你的是双显卡应该选则n。

进入ubuntu之后我们重启电脑:

sudo reboot

之后检查Device Node Verification

ls /dev/nvidia*

包含一个类似/dev/nvidia-uvm的,则安装成功。

大多数结果可能会是这样
ls: cannot access/dev/nvidia*: No such file or directory
或是这样的,只出现
/dev/nvidia0     /dev/nvidiactl
a中的一个或两个,但没有/dev/nvidia-num,即文件显示不全。
不用着急也不用急着重装系统(我在安装时就是这种情况),官方指导中有详细的解决方案,但是我的方法和官方稍微有些出入。

首先要添加一个启动脚本(添加启动脚本的方法大致有两种,我采用最直接的方法,另一种可以先创建一个文件然后通过mv的方式移动到启动文件夹下,可自行百度)
执行
$ sudo vi /etc/rc.local
如果你是第一次打开这个文件,它应该是空的(除了一行又一行的#注释项外)。这文件的第一行是
#!/bin/sh -e
把-e去掉(这步很重要,否则它不会加载这文本的内容)
然后把下列内容除了#!/bin/bash外复制到其中,(before exit 0 )保存退出。

#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi
下次重启时,你应该能直接看到/dev目录下的三个nvidia的文件
输入:$ ls /dev/nvidia*
结果显示:/dev/nvidia0       /dev/nvidiactl       /dev/nvidia-uvm

成功!

由于我这里是一次成功,所以上述方案仅供参考,并没有实践过。

接下来我们设置环境变量:

sudo gedit /etc/profile

上述命令会打开一个文件,我们在末尾添加两行:

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}}

我这里装的是cuda9.0如果你们装的不是的话,这个cuda-9.0这个目录就还得改一下。

如果是32位系统的话:

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

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib\
                                                   ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

之后我们选择重启电脑:

sudo reboot

a.之后我们检查上述环境是否设置成功:

cat /proc/driver/nvidia/version

得到上述结果。

b.再验证CUDA Toolkit:

nvcc -V

得到下图结果:

如果你的是:

The program 'nvcc' is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit

这样的话,那就表明环境变量没有添加成功,你需要按照上文中说的添加环境变量,再去添加一下。

接下来我们尝试编译一下cuda的例子:

我们首先需要进入NVIDIA_CUDA-9.0_Samples这个文件夹下面,在这下面打开终端,然后make一下:

我这里的话也是一次就成功了,如果出现没有gcc报错的话,我们可以安装一下:

 sudo apt-get install gcc

如果编译成功,最后会显示Finished building CUDA samples,如下图所示:

之后的话,我们运行编译生成的二进制文件:进入到这个NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release文件夹下面,输入:./deviceQuery

./deviceQuery  

结果如下图所示:看到类似如下图片中的显示,则代表CUDA安装且配置成功,其中 Result = PASS代表成功,若失败 Result = FAIL:

最后再检查一下系统和CUDA-Capable device的连接情况:

终端输入 : $

./bandwidthTest

看到类似如下图片中的显示,则代表成功:

4.安装cudnn:

我们需要进入nvidia的官网:https://developer.nvidia.com/rdp/cudnn-archive,区选择我们需要的版本:

然后提示我们登录,有帐号的话就登录,没有的话就注册一个:

之后我们点击上图的安装包进行下载:

我们将其解压,解压之后名称会变为cuda:

之后我们将其移入home文件夹下面,然后进入cuda的include文件夹下面,执行下面这个命令复制头文件:

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

之后在终端进入cuda/lib64文件夹下面,运行以下命令:

#复制动态链接库

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

#删除原有动态文件

cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 

#生成软衔接

sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7

#生成软链接

sudo ln -s libcudnn.so.7 libcudnn.so

随后需要将路径/usr/local/cuda/lib64 添加到动态库:

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

在打开的文件里面输入:

/usr/local/cuda/lib64

终端下接着输入命令使链接生效:

sudo ldconfig

之后查看一下是否链接成功:

sudo ldconfig -v

可以看到,我们这里是有这个文件的。ldconfig命令的用途主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。

之后用下面这个命令查看是否安装成功:

5.安装Tensorflow:

我们首先看一下有没有python:

一般都有,没有的话安装一下:

之后安装一下pip:

sudo apt-get install python-pip

更新一下pip:

sudo pip install -U pip

安装tensorflow-gpu 1.9.0:

sudo pip install tensorflow-gpu==1.9.0

之后进入python输入以下命令:

import tensorflow as tf
print(tf.__version__)

我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

系统类配置(二)【深度学习装机详细教程-ubuntu16.04下安装cuda9.0+nvidia-384+cudnn7.1.4+tensorflow1.9。】相关推荐

  1. ROS学习系列(一):ubuntu16.04下安装 ROS IDE RoboWare Studio 教程

    1.下载RoboWare Studio安装包 不要信从官网下载http://www.roboware.me/#/home 这个网站压根就进不去. 从github上下载安装包,链接https://git ...

  2. 深度学习环境 Ubuntu16.04 LTS + GTX750Ti + CUDA9.0 + cudnn7.0 + python3.6.5 + tensorflow1.6搭建

    从0搭建Ubuntu深度学习环境 Ubuntu16.04 LTS + GTX750Ti + CUDA9.0 + cudnn7.0 + python3.6.5 + tensorflow1.6 之前仅仅在 ...

  3. 2246xt u盘开卡详细教程_电脑重装系统:常规U盘PE装机详细教程~

    系统重装:常规U盘PE装机详细教程! 一适用条件 此方法适用任何情况下的电脑系统新装.重装! 8G大小的U盘 X1 微PE工具箱软件 X1 微软原版系统镜像文件 X1 PE系统我这里推荐使用微PE工具 ...

  4. 远程配置深度学习服务器详细教程,配置Conda+PyTorch环境

    进入实验室以后,大家就会用实验室的服务器跑一些深度学习模型.如何连接服务器,以及连接服务器后如何配置conda和PyTorch深度学习框架,在此进行详细的介绍. 首先,在连接服务器之前,需要向服务器的 ...

  5. cubieboard mysql_Cubieboard 安装Nand系统,配置nginx,php,mysql,samba详细教程

    安装前置条件 1.下载win32diskimager-v0.7-binary.zip 2.下载 将系统安装到Nand 1将TF卡装入读卡器,插入电脑USB接口. 2.解压win32diskimager ...

  6. cubieboard mysql_Cubieboard A10 安装Nand系统,配置nginx,php,mysql,samba详细教程

    安装前置条件 1.下载win32diskimager-v0.7-binary.zip 2.下载debian_wheezy_armhf_v1_mele.zip 3.下载cubie_nand_uboot_ ...

  7. 学习笔记:在Ubuntu16.04系统内安装Petalinux软件(包括如何安装Ubuntu16.04和相关支持库 详解)

    重要说明:笔者在linux这方面也属于是纯纯的新手小白,本篇文章主要是为了与初学者分享笔者开始接触Linux的学习轨迹和踩坑经验,若文章内的叙述存在错误,请大佬们及时指正,欢迎交流! 一条声明:本文有 ...

  8. ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程【转】

    本文转载自:https://blog.csdn.net/zhaoyu106/article/details/52793183 le/details/52793183 写在前面 一些废话 接触深度学习已 ...

  9. ubuntu16.04下安装opencv出现libgtk2.0-dev配置失败问题解决方法

    第一次在ubuntu下安装opencv,遇到很多问题,特别是libgtk2.0-dev总是配置失败的问题,在网上也看到一些解决方法,自己也遇到一些比较奇葩的问题,故整理于此. 网上大部分的解决方案就是 ...

  10. ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程

    文章来源:http://www.datacups.com/post/1 软件: ubuntu16.04+cuda8.0+cudnn v5+tensorflow 0.11 1. 下载 1.1 系统镜像 ...

最新文章

  1. python画图完整代码-Python科学画图代码分享
  2. 水平输送水汽通量matlab,分享:水汽通量散度
  3. log4j.rootLogger 与log4j.rootCategory 有什么区别 .
  4. 大剑无锋之linux如何查看系统开启了那些端口【面试推荐】
  5. 服务器端密钥库文件,使用密钥库文件为SOAP运行客户端WS
  6. Bootstrap(七):CSS--图片
  7. mysql 查询数据库名是否存在_SQL查询数据库是否存在
  8. spark概念、编程模型和模块概述
  9. vc通过编译指令传参_iOS开发你不知道的事编译amp;链接
  10. 一位全减器逻辑电路图_用74ls138实现一位全减器 - 数字电路图
  11. atom 64 linux,英特尔:Android的64位Atom处理器已完工
  12. 看我们无处安放的青春
  13. 深圳南山学区房_查查吧学区房地图
  14. 牛顿法求解柯西分布参数的最大似然估计(P055)
  15. 关于一个杯子的测试用例
  16. 基于struts2的留言板系统简单实现jdbc分页
  17. 阅读笔记:双核心Opteron处理器
  18. 诺基亚再裁员Lumia表现不佳
  19. Scanner的nextLine()方法读不到数据的小坑
  20. jsessionid用途

热门文章

  1. 判断Windows服务是否启动
  2. Lua Script - 初次接触
  3. python查找一段字符串中是否包含指定字符串
  4. NetDevOps网络设备日志分析与环境搭建-EFK(Elasticsearch+Filebeat+Kibana)
  5. KVM详解(五)——KVM虚拟机镜像格式
  6. LVS详解(二)——LVS工作模式
  7. 网络安全——局域网内网络攻击手段(MAC地址攻击、ARP攻击、DHCP攻击)
  8. 杭电计算机14年笔试真题
  9. Scrapy爬虫进阶操作之CrawlSpider(一)
  10. 聚焦强化学习,AAAI 2019杰出论文公布:CMU、斯坦福等上榜