这篇博文的主要目的是记录我在Ubuntu18.04下配置深度学习环境的过程,方便自己以后配置的需求,也供大家参考,减少跳坑,虽然我主要是在Ubuntu18.04下实践的,但经过在Ubuntu16.04下测试,也基本上没有什么问题,大家可以放心参考。

电脑环境说明:

  • 系统:Ubuntu18.04 LTS
  • 显卡:RTX 2070 Super
  • cuda:10.1
  • cudnn:7.6.5

说明:
一些重要的步骤安装完成后都提供了测试方法,最好进行测试,确认安装成功,以免在后续的安装和使用过程中出现问题。

文章目录

  • 1、依赖项安装
  • 2、显卡驱动安装
    • 测试
    • 问题解决
  • 3、cuda安装
    • cuda卸载方法
    • 修改bashrc文件
    • 测试
  • 4、cudnn安装
  • 5、Pytorch安装
    • 测试
    • 说明
  • 参考

1、依赖项安装

$ sudo apt-get update
$ sudo apt-get upgrade$ sudo apt-get install build-essential cmake unzip pkg-config libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libopenblas-dev libatlas-base-dev liblapack-dev gfortran libhdf5-serial-dev python3-dev python3-tk python-imaging-tk

2、显卡驱动安装

查看自己的显卡支持的驱动版本:
网站1,这个比较全
网站2:GeForce显卡

我一般是直接在软件和更新-》附加驱动中选择系统推荐的显卡驱动进行安装即可:


勾选需要的显卡驱动版本之后,点击应用更改后,会自动联网下载该版本驱动进行安装。

另一种方法:
如果你想安装的驱动版本附加驱动中没有列出,你可以终端自行安装:

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update

查看已经下载的驱动版本:

sudo apt-cache search nvidia-*

进行驱动安装:

$ sudo apt install nvidia-driver-396
or
$ sudo apt install nvidia-396

然后进行重启,不重启直接执行nvidia-smi可能会报错:

$ sudo reboot now

方法三:
从驱动网站下载最新版驱动程序文件,一般是.run格式文件,然后执行:

sudo chmod a+x NVIDIA-*.run

然后最好在非图形化界面下进行安装,可以灵活设置安装选项,避免安装完后系统重复登录:

测试

安装显卡驱动后一般需要重启电脑,然后打开一个终端,执行:

nvidia-smi

会出现如下结果:

Mon Apr  6 09:49:06 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50       Driver Version: 430.50       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2070    Off  | 00000000:01:00.0  On |                  N/A |
|  0%   51C    P8    33W / 175W |    981MiB /  7979MiB |      1%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1273      G   /usr/lib/xorg/Xorg                            24MiB |
|    0      1350      G   /usr/bin/gnome-shell                          50MiB |
|    0      1623      G   /usr/lib/xorg/Xorg                           475MiB |
|    0      1798      G   /usr/bin/gnome-shell                         256MiB |
|    0      4371      G   ...uest-channel-token=17005436335969556960    73MiB |
|    0      8532      G   ...quest-channel-token=4090069519898305589    98MiB |
+-----------------------------------------------------------------------------+

就说明成功安装好显卡驱动了。

问题解决

1、Failed to initialize NVML: Driver/library version mismatch错误
如果执行nvidia-smi命令出现Failed to initialize NVML: Driver/library version mismatch错误,一般是显卡驱动加载异常导致,最快的解决方案是重启电脑

3、cuda安装

注意下载与GPU驱动版本对应的cuda版本。我的RTX2070需要的是cuda10.0以上的cuda,我下载的是cuda 10.1。

cuda 10.0版本已经不需要更改系统gcc版本为gcc 6的版本了,直接下载run文件(我一般下载run文件,可以比较灵活的进行配置,当然下载deb文件也是可以的),下载界面都会直接提示安装方法:


所有版本的cuda下载地址为:https://developer.nvidia.com/cuda-toolkit-archive

下载完成后执行:

sudo chmod +x cuda_10.1.168_418.67_linux.run
sudo sh cuda_10.1.168_418.67_linux.run

需要等待一段时间,然后出现界面:


输入accept,回车,出现界面:


这个界面要注意,因为我们之前已经安装过显卡驱动了,因此此处应该取消勾选Driver,方法是使用上下方向键选择Driver,然后回车即可,最后选到Install,进行安装。

如果没有取消勾选Driver,则在安装完成的最后会提示:

Completed with errors. See log at /var/log/cuda-installer.log for details

安装完成后会提示Successfully。

cuda卸载方法

如果你之前安装过cuda其他版本,或者安装cuda最后出现了失败,在重新安装之前最好卸载之前安装的cuda,卸载方法网上有很多,其实cuda自带了卸载文件,该卸载文件为/usr/local/cuda/bin/cuda-uninstaller,所以你只需要cd到该路径,执行该文件即可卸载干净cuda了:

$ cd /usr/local/cuda/bin
$ sudo ./cuda-uninstaller

对于cuda 10.0以前的版本的cuda,卸载文件是/usr/local/cuad/bin/uninstall_cuda_*.*.pl,执行方法同上。

sudo ./uninstall_cuda_*.*.pl

卸载完cuda之后,因为可能还装了cudnn,所以cuda的文件夹可能还没删除干净,执行:

sudo rm -rf cuda-9.0

即可,请注意修改为你的实际cuda版本文件夹名。

修改bashrc文件

打开bashrc文件,末尾加入:

# NVIDIA CUDA Toolkit
export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64

测试

打开一个终端,输入:

source ~/.bashrc
nvcc -V

出现结果:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:17_PST_2019
Cuda compilation tools, release 10.1, V10.1.105

说明安装成功。

4、cudnn安装

下载地址:https://developer.nvidia.com/rdp/cudnn-download
需要注册,可以用QQ登录。注意下载与自己的cuda版本对应的cudnn版本。
选择如下文件:

cudnn的安装其实就是复制一些库文件和头文件到cuda中:
下载后解压缩,然后复制文件即可:

tar -zxf cudnn-10.1-linux-x64-v7.6.5.32.tgz
cd cuda
sudo cp -P lib64/* /usr/local/cuda/lib64/
sudo cp -P include/* /usr/local/cuda/include/

5、Pytorch安装

参考网址:https://pytorch.org/

安装命令:

pip3 install torch torchvision

如果你没有pip3,需要进行安装:

sudo apt-get install python3-pip

测试

测试之前需要重启一下电脑,然后执行:

python
import torch
print(torch.cuda.is_available())

或者直接执行:

python -c 'import torch; print(torch.cuda.is_available())'

返回为True,则说明Pytorch此时已经能够调用GPU了。

说明

如果你在使用Pytorch过程中出现类似:

RuntimeError: CUDA error: invalid argument

的错误,建议你安装Pytorch的时候选择安装包含cuda编译的版本,安装命令如下:

pip install torch==1.3.0+cu100 torchvision==0.4.1+cu100 -f https://download.pytorch.org/whl/torch_stable.html
或(如果你用到代理服务器的话)
pip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f http://download.pytorch.org/whl/torch_stable.html --trusted-host pytorch.org --trusted-host download.pytorch.org

上述命令就能下载支持cuda10.0的Pytorch,其中cu100表示cuda 10.0。

其他完整版本:

torch版本:

from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2, 0.3.0.post4, 0.3.1, 0.4.0, 0.4.1, 1.0.0, 1.0.1, 1.0.1.post2, 1.1.0, 1.2.0, 1.2.0+cpu, 1.2.0+cu92, 1.3.0, 1.3.0+cpu, 1.3.0+cu100, 1.3.0+cu92, 1.3.1, 1.3.1+cpu, 1.3.1+cu100, 1.3.1+cu92, 1.4.0, 1.4.0+cpu, 1.4.0+cu100, 1.4.0+cu92, 1.5.0, 1.5.0+cpu, 1.5.0+cu101, 1.5.0+cu92

torchvision版本:

from versions: 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.2.0, 0.2.1, 0.2.2, 0.2.2.post2, 0.2.2.post3, 0.3.0, 0.4.0, 0.4.0+cpu, 0.4.0+cu92, 0.4.1, 0.4.1+cpu, 0.4.1+cu100, 0.4.1+cu92, 0.4.2, 0.4.2+cpu, 0.4.2+cu100, 0.4.2+cu92, 0.5.0, 0.5.0+cpu, 0.5.0+cu100, 0.5.0+cu92, 0.6.0, 0.6.0+cpu, 0.6.0+cu101, 0.6.0+cu92

也可以从网站:https://download.pytorch.org/whl/cu100/torch_stable.html
直接下载wheel文件进行pip install安装,要注意cp35表示支持python3.5版本,版本要对应上才行。

参考

  1. https://www.pyimagesearch.com/2019/01/30/ubuntu-18-04-install-tensorflow-and-keras-for-deep-learning/
  2. https://blog.csdn.net/qq_41931821/article/details/89239388

Ubuntu18.04 RTX2070 显卡驱动、Cuda、cudnn和Pytorch深度学习环境配置——亲测可用相关推荐

  1. ubuntu16.04+双显卡驱动+cuda9.1+cudnn7.05深度学习环境配置

    因为项目需要,准备入坑facebook的detectron目标检测框架.由于目前框架只能在linux+gpu环境下运行,所以准备了以下工作: 先说下我的硬件配置: i5-6500破铜 华硕gtx 10 ...

  2. ubuntu系统(八):ubuntu18.04双系统安装+ros安装+各种软件安装+深度学习环境配置全家桶

    0 说明 1.安装ubuntu18.04系统 1.1 ubuntu18.04镜像地址(可以用迅雷等下载): 1.2 下载Rufus: 1.3 制作镜像: 1.4 磁盘分区 1.5 关闭win11快速启 ...

  3. 一文搞定实验室服务器配置:硬件+Ubuntu+CUDA/cuDNN+Python/Anaconda深度学习环境配置

    写在最前面 这个标题可能有点标题党了.几个月之后回顾这篇博客,觉得这个方案并不适合服务器:服务器应该使用虚拟化的方法搭建环境,这样更加安全.然而如果你是一个做深度学习的,想为自己的主机配置环境,那么这 ...

  4. ubuntu22.04安装显卡驱动+cuda+cudnn

    ubuntu22.04安装显卡驱动+cuda+cudnn 1. 下载驱动和卸载.禁用自带驱动程序 1.1 查看系统显卡型号 1.2 从NVIDIA官网下载相应驱动 1.3 卸载Ubuntu自带的驱动程 ...

  5. Ubuntu22 Linux 服务器安装显卡驱动,cuda,cudnn和pytorch

    Ubuntu22 Linux 服务器安装显卡驱动,cuda,cudnn和pytorch 1. 首先了解自己服务器的操作系统内核版本等信息: (1)查看操作系统的版本信息:cat /etc/issue或 ...

  6. Ubuntu18.04 安装Nvidia驱动+CUDA+cuDNN+Anaconda3(图文超详细)

    文章目录 原创声明 前言 一. Nvidia显卡驱动 二. CUDA 三. cuDNN 四. Anaconda 总结 感谢以下这几篇文章: 授权须知 原创声明 本文为 HinGwenWoong 原创, ...

  7. 联想拯救者Y7000P-RTX3060安装显卡驱动 CUDA cudnn anaconda pytorch pycharm

    ubuntu配置深度学习环境 关闭原有开源驱动: 删除原有nvidia驱动(选做)sudo apt purge nvidia* 关闭系统自带驱动nouveau sudo gedit /etc/modp ...

  8. Centos8安装英伟达显卡驱动并通过docker部署深度学习环境

    20201107 - 每个人的机器和实际需要的环境都不一样,本文只是提供了在自己实验室centos8上的部署过程,部署过程中,没有什么问题.请谨慎参考本篇文章,以免浪费宝贵时间. 0. 引言 之前的时 ...

  9. Ubuntu18.04安装显卡驱动+CUDA

    第一步: 安装显卡驱动 ubuntu-drivers devices 安装需要的驱动版本 sudo apt install nvidia-driver-470 # install后面为安装驱动的名字, ...

最新文章

  1. 字符串json怎么把双引号去掉_Java Json字符串的双引号("")括号如何去掉
  2. cmd.exe命令行方式执行matlab代码 【转】
  3. python中str是什么函数_Python str()函数
  4. THREE TRACKS AT UNIVERSITY
  5. 华为驳斥鸿蒙六月上线,终于来了!华为鸿蒙6月初将正式上线手机
  6. Please ensure that adb is correctly located at……问题解决方案
  7. 关于CSS3实现响应式布局的一些概念和术语
  8. Java的深拷贝的例子
  9. python教程七牛云_通过Python来使用七牛云存储的方法详解
  10. linux的python开发环境_linux下python开发环境之一——安装python
  11. 基于Pairwise排序学习的因子分解推荐算法
  12. aclocal-1.16:未找到命令
  13. pytorch实现反向传播
  14. Google Cloud API设计指南
  15. 一款很好用的在线作图工具ProcessOn,推荐大家使用
  16. TOM邮箱6.0版全面上线,全新交互设计,让办公更从容
  17. [VT虚拟化驱动]启用EPT
  18. 产品经理——产品原型设计规范
  19. android室内地图,概述-Android 室内地图SDK | 高德地图API
  20. 安装MongoDB出现的问题

热门文章

  1. PB触发itemchanged
  2. 本周工作心得系列(20)
  3. python如何将字符转换为数字?
  4. laravel 调试 debugbar 安装及使用
  5. Go语言_通神路之灵胎篇(5)
  6. 【原创】抖音关键词搜索
  7. 微信小程序ReferenceError:xxx is not defined报错
  8. (重点)jQuery模板:jQuery Templates Proposal
  9. docker 基础概念 Linux Namespace
  10. 微信小程序小结之框架