Ubuntu18.04双系统下安装CUDA10+cuDNN7.5
前言
本篇更新于2019-11-29
最近无奈重装了电脑,原来构建好的环境也没了,又要折腾一阵。但是时过境迁,这篇所写的一些方法却不好使了。无奈只好重新Google摸索。
更新主要有一下几点:
- 更换了所使用的Ubuntu镜像,使用Ubuntu_18.04.3
- 改变了制作镜像的方法
- 改变了解决安装Ubuntu时卡死的方法,原来的方法不好用了,可能跟镜像版本有关
- 使用了更高版本的Nvidia驱动
- 对于CUDA和cuDNN的安装方法并没有更新,但是其安装方法并不会变化太大
- 由于Tensorflow已经更新到2.0版本,建议使用新版本的Tensorflow,最后验证环境安装成功的方法也是基于Tensorflow2.0
以下是修改后的原文:
本篇写于2019-4-25
这两天装Ubuntu18.04双系统简直装到崩溃。一是非常著名的开机卡死在Logo界面的问题,另一个是在装Nvidia驱动和CUDA的时候,更是费心。而网上的资料又良莠不齐,走了不少弯路。于是做个总结,方便以后的自己,也方便别人。
首先:我的机器是戴尔灵越5577,以下方案不一定适合您的机器,操作失败还请自行百度解决,并且安装所CUDA和cuDNN版本请务必参照官网配置
装机
镜像是在Ububtu官网下载的镜像,这没有什么异议。启动盘制作方面我选择rufus,小巧免费好用,并且非常适合制作Linux启动盘。
选好U盘选好镜像后就可以制作了,制作启动盘的选项如下:

制作完成后,关闭rufus就可以了,带着U盘,重新启动。
进入U盘引导(不同品牌的电脑有不同的方式,Dell是按F12选择启动方式),进入grub界面。
为防止开机开在Logo,选中Install Ubuntu,然后按e编辑。在splash后面加上acpi=off,注意前后留一个空格。然后按F10即可正常安装启动了。关于acpi=off具体含义,可以参考这里
我的分区方式如下,共分给Linux 20G:
| 目录 | 大小 | |
|---|---|---|
| / | 19G | 主分区 |
| swap | 1G | 主分区 |
装完后,会显示重新启动,点击重新启动后,我还是在这里卡住了。按住电源键不放,强制关机后。再开机后却没有问题了。
但是有的博主也说这个方法会使得装好后的Ubuntu出现诸如键盘灯不亮,触摸板不能用的情况,还要再在grub的配置里把acpi=off去除,但是当我准备去去除的时候却发现grub的配置并没有acpi=off的配置,所以便跳过了这一步。如果你的电脑出现此类情况的话请参考这里
安装驱动
这里有很多教程说是通过sudo ubuntu-drivers autoinstall这个方法安装的,但是就我亲身经历而言,并不好使,这里安装驱动是没问题的,但是后来在安装CUDA的时候会遇到各种各样的问题。
这里的建议是,去Nvidia的官网选择一个适合你的显卡的驱动(我选的最新的),下载好备用。
在装驱动之前,先将nouveau加入黑名单:
sudo vim /etc/modprobe.d/blacklist.conf
在末尾加上一行blacklist nouveau,保存退出并重启。
接下来按CTRL+ALT+F2,进入纯字符界面,以root身份登入,开始安装显卡驱动。首先进入刚才下好的驱动所在的目录,执行
chmod 777 ./NVIDIA-Linux-x86_64-xxx.xx.run
./NVIDIA-Linux-x86_64-xxx.xx.run –no-opengl-files # 后面的参数可选
对于第二行的
–no-opengl-files参数可选,有的博主遇到安装驱动后在登陆界面循环登录的情况,加了该参数后解决,但是我并没有加也没有问题,可能是新版本的驱动已经解决了这个问题
然后一路确定,完成后重启系统,进入BIOS(戴尔是按F2,其他电脑型号请自行查找资料),关掉secure boot,设置为disable,关掉后保存重启。这里一定要关掉,不然开机后是没法用刚才装的Nvidia驱动的。
启动后在控制台输入nvidia-smi,若没有报错则证明安装成功。我安装完后如下:

安装CUDA
接下来,我们安装CUDA,我这里使用的是CUDA10.0,因为目前tensorflow已经可以使用CUDA10了,也就不挑旧版本安装了。
到Nvidia官网上找到CUDA10.0的下载链接,Nvidia给出的默认的CUDA的下载链接是CUDA10.1,因为我没试验过,所以不知道可不可以用,你可以自行决定。
依次选择 Linux -> x86_64 -> Ubuntu -> 18.04 -> runfile(local),选好后选择Base Install开始下载。
下好后,找到CUDA安装包所在的位置,在控制台输入
sudo sh ./cuda_10.0.130_410.48_linux.run
然后等待一会后,会出来安装协议,按住空格键快速看完。然后选择安装选项:
- 第一项,选择accept接受。
- 第二项,询问你是否安装CUDA中带的显卡驱动,由于我们前面已经安装了驱动,所以不安装,选n
- 剩下的,能选y的选y,能Enter的Enter就好。
装好后,在~/.bashrc最后 添加环境变量,保存后退出
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export PATH=$PATH:/usr/local/cuda-10.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0
测试一下:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
若最后一行的结果为Result = PASS,说明安装成功。
安装cuDNN
最后,去官网找对应版本的cuDNN,这里我选择的是7.5(7.4也是可以的),下载(这里需要登陆Nvidia才可以)
将下载好的压缩包解压,一般解压出来的目录为cuda,拷贝到CUDA中
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
最后
至此,CUDA已安装完成,装个gpu版本的tensorflow试试(你也可以先使用virtualenv创建个虚拟环境再安装)
pip3 install tensorflow-gpu # 这里pip3需要手动下载,并且默认装TensorFlow2.0
装好后,进入python交互环境
>>> import tensorflow as tf
>>> tf.test.is_gpu_available()
执行后,会有日志打印,若最后显示True,即证明安装成功。
参考:
- https://blog.csdn.net/qq_32408773/article/details/84111244
- https://blog.csdn.net/u010801439/article/details/80483036
- https://www.jianshu.com/p/6f54b4f96556
- https://blog.csdn.net/qwqw3qee/article/details/90499038
Ubuntu18.04双系统下安装CUDA10+cuDNN7.5的更多相关文章
- Ubuntu18.04 英文系统下安装中文输入法
今天尝试了Ubuntu18.04LTS(依旧装的英文版)发现按照之前的方法( http://www.cnblogs.com/asmer-stone/p/5227188.html)安装中文输入法不行了, ...
- win10+Ubuntu16.04双系统下深度学习环境的搭建
环境零零碎碎地搭了三四天,虽然碰到各种问题,但还是搭建好了,自己整理记录下,同时也算给有需要的人一些指导吧 一.双系统的安装 Win10硬盘管理助手 压缩或者直接利用未使用的空间,空间大小自定,将腾出 ...
- Windows10安装ubuntu18.04双系统教程
写在前面:本教程为windows10安装ubuntu18.04(64位)双系统教程,是我多次安装双系统的经验总结,安装方法同样适用于ubuntu16.04(64位).为了直观和易于理解,我会尽量图文并 ...
- windows10和ubuntu16.04双系统下时间不对的问题 ZT
最近装了windows10和ubuntu16.04双系统,仍然出现了喜闻乐见的老问题,装完后,在windows下时区不对,之前的老办法是: sudo gedit /etc/default/rcS ut ...
- windows10和ubuntu16.04双系统下时间不对的问题
最近装了windows10和ubuntu16.04双系统,仍然出现了喜闻乐见的老问题,装完后,在windows下时区不对,之前的老办法是: sudo gedit /etc/default/rcS ut ...
- 解决windows10和ubuntu16.04双系统下时间不对的问题
电脑安装完windows10与ubuntu16.04双系统后,Ubuntu的时间总会和Windows的时间相差8小时,原因在于windows认为BIOS时间是本地时间,Ubuntu认为BIOS时间是U ...
- win10系统下安装Ubuntu18.04双系统
1.http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso下载Ubuntu 18.04镜像,准备好一个空的U盘 2.下载ru ...
- Mac安装Ubuntu18.04双系统经验以及感悟
1.扯一会 提到Mac很多人估计会觉得高大上,其实我也是这么认为的,因为我在13年之前用的不是Mac 而是普通的笔记本,总幻想着拥有一台Mac,当然了这个愿望在13年10月份左右就实现了 Mac最大的 ...
- Win 10 和 Ubuntu 16.04 双系统,安装完成后,设置默认的启动项
当安装好了 Windows 和 Ubuntu 双系统之后,默认的启动项是 Ubuntu,我们可以来设置默认的启动项, 开机时,在启动项选择处,可以通过↑↓ 键来选择启动哪个系统,第一行序号是 0 ,第 ...
随机推荐
- RocketMQ中Broker的启动源码分析(一)
在RocketMQ中,使用BrokerStartup作为启动类,相较于NameServer的启动,Broker作为RocketMQ的核心可复杂得多 [RocketMQ中NameServer的启动源码分 ...
- 一个项目的SpringCloud微服务改造过程
SSO是公司一个已经存在了若干年的项目,后端采用SpringMVC.MyBatis,数据库使用MySQL,前端展示使用Freemark.今年,我们对该项目进行了一次革命性的改进,改造成SpringCl ...
- 【Java例题】1.4圆类
4.定义一个圆类,包括半径.构造方法.计算周长方法, 计算面积方法和显示半径方法. 然后编写一个主类,在其主方法中通过定义一个圆对象来 显示圆的半径.周长和面积. package study; imp ...
- Vue系列:滚动页面到指定位置实现
方法1:scrollTop 滚动到某位置 方法2:scrollTo,scrollBy,scroll滚动到某位置 方法3:scrollIntoView() 实现滚动到具体某元素 需注意,上述3种方法都不 ...
- Git使用(码云)
1.安装git软件(码云/GitHub) 2.码云注册,保存代码 3.创建代码托管仓库,仓库名相当于码云上的文件夹 4.写作业并提交 在作业文件夹上,右键选择‘get bash here’ 在黑框里输 ...
- SQL中一些实用的快捷键
Ctrl+A全选 快速选中一行: 若光标在这条语句末尾用Shift+Home 若光标在这条语句开头用Shift+End Ctrl+K+U快捷注释本行 Ctrl+K+C反注释 Ctrl+R 关闭下面的 ...
- javaScript基础-02 javascript表达式和运算符
一.原始表达式 原始表达式是表达式的最小单位,不再包含其他表达式,包含常量,直接量,关键字和变量. 二.对象和数组的初始化表达式 对象和数组初始化表达式实际上是一个新创建的对象和数组. 三.函数表达式 ...
- 面试java后端面经_1
1 自我介绍(建议提前准备:没准备的可以这样说:来自某学校 姓名 专业 学的啥 为啥学 自己陆陆续续开发的项目 毕业将近 找工作 在哪看到贵公司的招聘 准备了啥 大概这样) 例子:您好!我是来自XXX ...
- JDK基础必备面试十问
1. new一个对象在Java内部做了哪些工作? 从静态角度来看,new一个对象表示创建一个类的对象实例. 从JVM运行角度来看,当JVM执行到new字节码时,首先会去查看类有没有被加载到内存以及初始 ...
- Java笔记(持续更新中)
Java语言的特点: 面向对象(封装,继承,多态) 平台无关性(JVM运行.class文件) 语言(泛型,Lambda) 类库(集合,并发,网络,IO/NIO) JRE(Java运行环境,JVM,类 ...