[深度学习] ubuntu18.04配置深度学习环境笔记
最近装过很多ubuntu18.04系统的nvidia驱动,cuda10.2,cudnn7.6.5,发现每次都会出现一些小问题。总结了具体步骤,做个记录。主要分为三个步骤:驱动安装,cuda安装,cudnn安装。本文主要参考了博客Ubuntu18.04安装CUDA10、CUDNN和Ubuntu18.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百度网盘分享地址。如下:
下载完成后直接输入
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配置深度学习环境笔记的更多相关文章
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (一)ubuntu18.04配置n ...
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (二)nvidia docker配 ...
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (三)配置远程桌面连接访问dock ...
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
- Ubuntu18.04配置中文输入法(系统自带的)
Ubuntu18.04配置中文输入法 之前安装Ubuntu18.04的时候选择了english,现在要配置中文的输入法 打开系统设置 点击其中的工具按钮左边第一个 点击管理语言 ==如果系统刚安装可能 ...
- Ubuntu20.04配置Java开发环境
Ubuntu20.04配置Java开发环境 JDK 1.8 安装 下载地址 下载后进行解压 tar -xvzf jdk-8u301-linux-x64.tar.gz 配置环境变量 gedit ~/.b ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(三):配置ActiveXForm运行环境
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- 【Tool】---ubuntu18.04配置oh-my-zsh工具
作为Linux忠实用户,应该没有人不知道bash shell工具了吧,其实除了bash还有许多其他的工具,zsh就是一款很好得选择,基于zsh shell得基础之上,oh-my-zsh工具更是超级利器 ...
- 【.net core 跨平台】第一步 在Ubuntu16.04 配置.net core环境
本次使用VMware10.0.4工具安装Ubuntu16.04系统并配置.net core环境 Ubuntu 16.04 desktop下载地址:http://releases.ubuntu.co ...
随机推荐
- 撸了一个简易的配置中心,顺带整合到了SpringCloud
大家好,我是三友~~ 最近突然心血来潮(就是闲的)就想着撸一个简单的配置中心,顺便也照葫芦画瓢给整合到SpringCloud. 本文大纲 配置中心的概述 随着历史的车轮不断的前进,技术不断的进步,单体 ...
- 华为设备配置和使用FTP服务命令
配置SFTP Server与Client server:aaa 进入aaa视图 local-user huawei2 password cipher huawei2 设置用户名和密码 local-us ...
- .NET周报【10月第2期 2022-10-17】
主题 宣布 .NET 7 发布候选版本 2 - .NET Blog https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/ .N ...
- Mysql通过Canal同步Elasticsearch
目录 版本管理 Mysql 设置 在MySQL配置文件my.cnf设置: 检查是否开启 增加新用户: 安装 Elasticsearch es 跨域问题 目录挂载 安装 Elasticsearch-He ...
- 在Centos7上安装JDK1.8和tomcat8.5的步骤和过程(亲测可用)
文章目录 1.在阿里云(Linux)Centos7上安装JDK1.8步骤过程 2.阿里云(Linux)centos7上安装Tomcat8.5步骤过程记录: 卸载JDK Centos7一般都会带有自己的 ...
- Redis 01: 非关系型数据库 + 配置Redis
数据库应用的发展历程 单机数据库时代:一个应用,一个数据库实例 缓存时代:对某些表中的数据访问频繁,则对这些数据设置缓存(此时数据库中总的数据量不是很大) 水平切分时代:将数据库中的表存放到不同数据库 ...
- HTML元素大全(1)
01.基础元素 <h1/2/3/4/5/6>标题 从大h1到小h6,块元素,有6级标题.是一种标题类语义标签,内置了字体.边距样式. 合理使用h标签,主要用于标题,不要为了加粗效果而随意使 ...
- 云小课|MRS基础原理之MapReduce介绍
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:MapReduce ...
- 面试官不按套路,竟然问我Java线程池是怎么统计线程空闲时间?
背景介绍: 你刚从学校毕业后,到新公司实习,试用期又被毕业,然后你又不得不出来面试,好在面试的时候碰到个美女面试官! 面试官: 小伙子,我看你简历上写的项目中用到了线程池,你知道线程池是怎样实现复用线 ...
- nginx转发到uwsgi的配置
server{ server_name ; listen 80 default_server; add_header Access-Control-Allow-Origin *; add_header ...