[深度学习] 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 ...
随机推荐
- MSQL-->存储引擎
概述 MySQL体系结构图 Innodb引擎是在mysql的5.5版本之后的默认存储引擎. Index是在引擎层次的,不同的存储引擎index的用法不同. 存储引擎就是存储数据,建立索引,更新查询数据 ...
- JavaScript基本语法(数组与JSON)
5.数组 #①使用new关键字创建数组 // 1.创建数组对象 var arr01 = new Array(); // 2.压入数据 arr01.push("apple"); ar ...
- 13.MongoDB系列之分片简介
1. 分片概念 分片是指跨机器拆分数据的过程,有时也会用术语分区.MongoDB既可以手工分片,也支持自动分片 2. 理解集群组件 分片的目标之一是由多个分片组成的集群对应用程序来说就像是一台服务器. ...
- 8.uvloop
uvloop是asyncio的事件循环的替代方案,性能高于默认asyncio的事件循环的效率,相当于提升两倍,效率可以比肩Go pip3 install uvloop import asyncio ...
- Ubuntu 下安装 redis 并且设置远程登陆和密码
安装redis sudo apt-get install -y redis-server 更改配置 sudo vim /etc/redis/redis.conf 如果不知道怎么找 直接在命令行模式下输 ...
- 状态估计和KalmanFilter公式的推导与应用
状态估计的概率解释 运动和观测方程: \[\left\lbrace \begin{array}{l} x_k = f(x_{k_1}, u_k) + w_k \\ z_k = h(y_j, x_k) ...
- Django系列---理论一
教程:http://c.biancheng.net/django/ 特点 集成 ORM 组件:Django 的 Model 层自带数据库 ORM 组件,为操作不同类型的数据库提供了统一的方式. URL ...
- java反序列化漏洞cc_link_one
CC-LINK-one 前言 这里也正式进入的java的反序列化漏洞了,简单介绍一下CC是什么借用一些官方的解释:Apache Commons是Apache软件基金会的项目,曾经隶属于Jakarta项 ...
- 基于python的数学建模---蒙特卡洛算法
import math import random m = input('请输入一个较大的整数') n = 0 for i in range(int(m)): x = random.random() ...
- 秦皇岛2020CCPC补题
秦皇岛2020CCPC A,E,F,G,I,K A. A Greeting from Qinhuangdao 知识点:简单题 复杂度:\(O(logn)\) #include<bits/stdc ...