[深度学习] 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 ...
随机推荐
- 面向对象的照妖镜——UML类图绘制指南
1.前言 感受 在刚接触软件开发工作的时候,每次接到新需求,在分析需求后的第一件事情,就是火急火燎的打开数据库(DBMS),开始进行数据表的创建工作.然而这种方式,总是会让我在编码过程中出现实体类设计 ...
- Pep9课下作业
(1)编写一个伪代码算法 Set sum to 0 Input num1 Read num1 Set sum to sum + num1 Input num2 Read num2 Set sum to ...
- ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码) ASCII简介 ASCII(American Standard ...
- How to get the return value of the setTimeout inner function in js All In One
How to get the return value of the setTimeout inner function in js All In One 在 js 中如何获取 setTimeout ...
- 齐博x1模型里边钩子的创建与使用
在模型里边的钩子创建与使用方法跟在控制器里边的钩子创建及使用方法是有所区别的在模型里边创建的钩子,你可以理解为执行一个函数,是无法调用模型里边的类的方法及属性的.比如系统文件\application\ ...
- go-zero docker-compose 搭建课件服务(一):编写服务api和proto
0.转载 go-zero docker-compose 搭建课件服务(一):编写服务api和proto 0.1源码地址 https://github.com/liuyuede123/go-zero-c ...
- UEC 利用代理/委托写一个生命组件
首先基于ActorComponent创建一个组件 HealthComponent,将需要的变量与函数创建 #include "CoreMinimal.h" #include &qu ...
- Python 多重继承时metaclass conflict问题解决与原理探究
背景 最近有一个需求需要自定义一个多继承abc.ABC与django.contrib.admin.ModelAdmin两个父类的抽象子类,方便不同模块复用大部分代码,同时强制必须实现所有抽象方法,没想 ...
- Transformer 结构分析
self-attetion 1. 输入 \[X = EmbeddingLookup(X) + PositionalEncoding \\ X.shape == (batch\_size, seq\_l ...
- 13、设计一个函数process,在你调用他的时候,每次实现不同的功能,输入a,b两个数, 第一次调用时找出a,b中的最大者。 第二次找出最小者,,第三次求两个数的和。
/* 设计一个函数process,在你调用他的时候,每次实现不同的功能,输入a,b两个数, 第一次调用时找出a,b中的最大者. 第二次找出最小者,,第三次求两个数的和. */ #include < ...