最近装过很多ubuntu18.04系统的nvidia驱动,cuda10.2,cudnn7.6.5,发现每次都会出现一些小问题。总结了具体步骤,做个记录。主要分为三个步骤:驱动安装,cuda安装,cudnn安装。本文主要参考了博客Ubuntu18.04安装CUDA10、CUDNNUbuntu18.04+CUDA10.2 深度学习开发环境配置指南。本文也适用于其他linux系统安装不同版本cuda,cudnn。

1 nvidia驱动安装

安装驱动前,最好禁用nouveau驱动,这一步是建议,也可以不做。本文方法不需要禁止,我没有禁用这个nouveau驱动。禁用的教程见:Ubuntu下安装INVIDIA显卡驱动(避免循环登录问题)

nvidia驱动先通过以下命令查看你的系统支持的版本:

ubuntu-drivers devices

结果如下所示:

一般情况下是安装红线对应的recommend驱动,但是如果不是安装cuda10.2需要查看cuda版本和nvidia驱动版本是否对应。具体查看CUDA Toolkit and Compatible Driver Versions就有相关说明。

如下图所示,可以看到要安装的nvidia-driver-455符合cuda10.2的版本要求。

然后就是直接输入命令安装了,不需要自己下载驱动。命令如下:

sudo apt-get purge nvidia*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-455

应该是傻瓜式安装,安装完后直接重启系统。

sudo reboot

2 CUDA10.2安装

本文安装的是cuda10.2版本。进入CUDA历史版本下载页面。进去后先点击要安装的版本页面,

打开版本页面后,选择系统和版本信息。这里选择runfile安装,如下所示:

这个cuda安装包国内下载可能会很慢,可以复制wget后面的下载链接,用迅雷、IDM等下载工具先行下载。

如果以上方式还是下载太慢或者下载失败,可以找找网上别人的分享镜像。 比如CUDA下载分享这篇文章(可能cuda版本不全)就有cuda百度网盘分享地址。如下:

https://pan.baidu.com/s/14Qof5CVRUmeDMFgjBKGCjw 提取码:8488

下载完成后直接输入

sudo sh cuda_10.2.89_440.33.01_linux.run

在安装cuda的时候不要选择安装驱动,其他默认,就可以了。

安装成功后再添加环境变量,先用vim命令打开~/.bashrc文件。再最后添加如下命令就行了:

# cuda环境变量
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

当然可以看看是否安装成功,输入nvidia-smi看看显卡驱动是否安装成功,然后输入nvcc -V可以看到cuda版本。

3 cudnn安装

直接打开cudnn历史版本下载页面选择对应的版本。一般来说cuda版本和cudnn版本并不是一一对应的。只要符合cuda版本要求的cudnn版本都行。

本文用的是7.6.5版本,下载需要注册账号,很容易搞定。然后点击其中的cuDNN library for Linux即可。

下载完成后,解压文件。进入解压后的cuda文件夹,输入以下命令,cudnn就算安装好了。

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

通过以下命令查看cudnn版本:

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

根据输出可以判断cudnn版本为7.6.5.

4 参考

[深度学习] ubuntu18.04配置深度学习环境笔记的更多相关文章

  1. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (一)ubuntu18.04配置n ...

  2. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (二)nvidia docker配 ...

  3. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (三)配置远程桌面连接访问dock ...

  4. Ubuntu18.04下搭建LAMP环境

    一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update             # 获取最新资源包 2.sudo apt-get upgrade ...

  5. Ubuntu18.04配置中文输入法(系统自带的)

    Ubuntu18.04配置中文输入法 之前安装Ubuntu18.04的时候选择了english,现在要配置中文的输入法 打开系统设置 点击其中的工具按钮左边第一个 点击管理语言 ==如果系统刚安装可能 ...

  6. Ubuntu20.04配置Java开发环境

    Ubuntu20.04配置Java开发环境 JDK 1.8 安装 下载地址 下载后进行解压 tar -xvzf jdk-8u301-linux-x64.tar.gz 配置环境变量 gedit ~/.b ...

  7. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(三):配置ActiveXForm运行环境

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  8. 【Tool】---ubuntu18.04配置oh-my-zsh工具

    作为Linux忠实用户,应该没有人不知道bash shell工具了吧,其实除了bash还有许多其他的工具,zsh就是一款很好得选择,基于zsh shell得基础之上,oh-my-zsh工具更是超级利器 ...

  9. 【.net core 跨平台】第一步 在Ubuntu16.04 配置.net core环境

    本次使用VMware10.0.4工具安装Ubuntu16.04系统并配置.net core环境   Ubuntu 16.04 desktop下载地址:http://releases.ubuntu.co ...

随机推荐

  1. HTTPS涉及的加密算法讲解

    前言 从2015年左右开始,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS 为鼓励全球网站的 ...

  2. day50-正则表达式01

    正则表达式01 5.1正则表达式的作用 正则表达式的便利 在一篇文章中,想要提取相应的字符,比如提取文章中的所有英文单词,提取文章中的所有数字等. 传统方法是:使用遍历的方式,对文本中的每一个字符进行 ...

  3. 9.异步redis

    在使用Python代码操作redis时候,连接.操作.断开都是网络IO #安装支持异步redis的模块 pip3 install aioredis async def execute(address, ...

  4. 「浙江理工大学ACM入队200题系列」问题 L: 零基础学C/C++52——计算数列和2/1,3/2,5/3,8/5......

    本题是浙江理工大学ACM入队200题第五套中的L题 我们先来看一下这题的题面. 题面 题目描述 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,-- 计算这个数列的前n项和.注意: ...

  5. Java8中那些方便又实用的Map函数

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 java8之后,常用的Map接口中添加了一些非常实用的函数,可以大大简化一些特定场景的代码编写,提升代码可读性,一 ...

  6. [leetcode] 994. Rotting Oranges

    题目 You are given an m x n grid where each cell can have one of three values: 0 representing an empty ...

  7. 面试 考察网络请求HTTP相关知识(第六天!)

    01.HTTP 常⻅的状态码有哪些? 1xx 服务器收到请求 2xx 请求成功         ---   200 成功状态码 3xx 重定向            ---  301永久重定向,浏览器 ...

  8. java基础篇—基础语法

    一.关键字和保留字    1.什么是关键字? 通俗来说就是带有特殊含义的字符,有自己专门用途的单词 2.特点? 关键字全部由小写构成,以下是java官方列举出的关键字 注意: 保留关键字:指的是现有版 ...

  9. UBOOT编译--- UBOOT的编译和链接选项详解(六)

    1. 前言 UBOOT版本:uboot2018.03,开发板myimx8mmek240. 2. 函数 cc-option 编译选项变量cc-option 定义在 scripts/Kbuild.incl ...

  10. i春秋Not Found

    点开网页,显示404,告诉我们404.php的存在,我们先试试404.php,打开是haha四个字母,源码和抓包都没看到什么,然后其抓包,也没什么,无功,返回原网页,抓包,没发现什么的感觉,go一遍, ...