当前位置:   article > 正文

(环境搭建四) ubunut安装gpu版本pytorch: (Ubuntu16.04 RTX2080ti: 安装NVIDIA驱动+cuda10.0+cudnn7.4)_geforce 2080ti性能调优 ubuntu

geforce 2080ti性能调优 ubuntu

背景介绍:新机器2080ti的显卡,安装gpu版本pytorch
(后来又装了一台2张3080ti的机器)
本文参考:
1 Ubuntu16.04 RTX2080 安装NVIDIA驱动+cuda10.0+cudnn7.3.1
https://blog.csdn.net/qq_39418067/article/details/87978848  
2 Ubuntu16.04安装NVIDIA驱动、实现GPU加速
Ubuntu16.04安装NVIDIA驱动、实现GPU加速_zhang970187013的博客-CSDN博客

1 安装anaconda

1 上官网下载anaconda

这是官网地址:

Anaconda | Individual Edition

 

https://www.anaconda.com/products/individual


https://www.anaconda.com/distribution/#download-section选择3.7的python  ps:有线下载也是比较慢,等着吧
一定要安装anaconda这个可以分开不同的环境,
让不同版本gpu或者cpu的tensorflow, pytorch共存。

conda管理环境很方便:Conda常用命令整理---创建环境----conda create --name your_env_name python=3.7_如何利用html码转载别人的博客-CSDN博客_conda create

2 安装Anaconda

这个比windows简单,一条命令。

首先切换到anaconda安装包的路径,在该路径下执行指令:

sh Anaconda3-5.0.1-Linux-x86_64.sh   #后边的文件名称是你的安装包的名称

PS:再此之后需要按enter或者yes等按键,需要重新开启终端,否则会如图:

重新开启终端,正常,已经是python3.7了

2 安装nvidia显卡驱动-失败篇

(这步我没有安装成功,装cuda的时候会带有这个驱动,可以先跳过安装nvidia这步骤,但是我比较一根筋,看了另外一个安装显卡驱动的教程成功了,
请看
3再次安装nvidia显卡驱动-成功篇)

1 查看自己电脑显卡型号RTX2080Ti

2 nvida官网下载对应自己显卡的驱动 官方 GeForce 驱动程序 | NVIDIA
   查找:

3 首先查看自己电脑自己电脑支持的驱动版本:

sudo apt-cache search nvidia*

NVIDIA驱动官方地址 官方 GeForce 驱动程序 | NVIDIA

我选择了最新的

3 安装显卡驱动
1 进入下载的.run文件所在位置打开终端
$ sudo sh NVIDIA-Linux-x86_64-430.50.run 但是报错了

ERROR: You appear to be running an X server; please exit X before  For further details, please see the section INSTALLING  THE NVIDIA DRIVER in the README available on the Linux driver download page at www.nvidia.com.错误:您似乎在运行X服务器;请退出X之前,为进一步的细节,请参阅安装NVIDIA驱动程序的自述部分在Linux驱动程序下载页面www.nvidia.com。


3 $ nvidia-smi 查看gpu情况 我好像没能安装好.run文件

4 验证是否安装好显卡

$ glxinfo|grep rendering

Yes表示安装好了,
运行后发现没安装mesa-utils,

$ sudo apt mesa-utils

安装了mesa-utils再输入:

$ glxinfo|grep rendering

3 再次安装nvidia显卡驱动-成功篇

我总结了下前面安装失败的可能原因:
1 可能原因一:安装的驱动版本太新
我下载了两个版本的驱动
NVIDIA-Linux-x86_64-430.50.run 和 NVIDIA-Linux-x86_64-410.93
我是在安装410的时候成功的
下面是当时的可选驱动:(此图是后来补充的,当时我最初下载时,是有410版本的)

2 可能原因二:ubuntu 是UEFI模式启动的,但是在BIOS中却打开了Security Boot选项
(此法是在一片博客上面看到的,非常有可能是这个问题,博客=>
Ubuntu16.04 安装NVIDIA英伟达驱动教程 及常见几种报错Error的解决方案_ZeroZone零域的博客-CSDN博客
就是安装完仍不能nvidia-smi,解决办法是去boot里将secureboot 设置成disable,这步操作完nvidia-smi就有结果了
正确的做法是禁用该项,如图:


开机时候按f1进入此界面,中“安全引导”,也就是英文“Security Boot”这里被我关闭(disable)了(圆点在左边)
如果不使用此法,会在下面的 步骤8:一直选择它默认的那个选项就好
这部分遇到让你输入private key 的问题,我并不知道要输入什么,尝试了密码也不行,只能强制关机,
但是禁用Security Boot选项会让安装过程非常简单

0 事前准备:f1进入bios,将“Security Boot”这里关闭(disable) 按照上面原因二去做

0 查看自己电脑显卡型号RTX2080Ti
首先查看自己电脑自己电脑支持的驱动版本:

sudo apt-cache search nvidia*


nvida官网下载对应自己2080ti显卡的驱动 官方 GeForce 驱动程序 | NVIDIA
   查找:

我感觉这步骤没有任何参考意义,因为显示的驱动在下面可选驱动里面并没有,可选的都是410以上版本
NVIDIA驱动官方地址 https://www.geforce.cn/drivers对应2080ti显卡可选驱动(此图是后来补充的,当时我最初下载时,是有410版本的,结论:尽量下载老版本)


1 删除原有驱动(可选):$ sudo apt-get remove --purge nvidia*
我在删除的时候就提示我没有原有的驱动。
2 禁用nouveau,安装NVIDIA需要把系统自带的驱动禁用
打开文件:sudo gedit /etc/modprobe.d/blacklist.conf
在文本最后添加以下内容:

  1. blacklist nouveau
  2. option nouveau modeset=0

然后保存退出
重新生成内核initramfs:
执行:sudo update-initramfs -u
3 重启,命令行输入lsmod | grep nouveau
没有任何输出的话就代表禁用成功。
4 安装NVIDIA驱动程序(ps:准备另一台电脑,用来看教程或者是查找需要输入的命令)
禁用图形界面服务:sudo service lightdm stop
5 进入非图形界面:
按Ctrl+Alt+F1进入命令行,输入用户名密码登录(通过Ctrl+Alt+F7可返回界面)
6 给文件赋予执行权限
下载的是.run文件,首先给文件赋予执行权限,首先cd到下载目录:(重要的事情说三遍:注意参数、注意参数、注意参数)
打开所在的文件夹:cd ~/download/ 或者 放在home文件夹下
(这里应该写你当时把.run文件下载到的文件夹的路径,一般默认是下载文件夹.)
(如果你在这里出现错误,比如找不到文件,或者路径是中文的,可以尝试把.run文件移动到一个home下,这样可以直接打:cd /home/你的用户名/ 这样就可以打开了。)

赋予执行权限输入,选择比较老的版本410:sudo chmod a+x NVIDIA-Linux-x86_64-410_93.run
(敲自己下载的文件名字, 这是不会有什么输出。)
我下载了两个版本的nvidia驱动,430和410

尽量使用旧的版本吧,430我怎么也没办法成功安装,最终用410安装成功了
7 接着安装:sudo ./NVIDIA-Linux-x86_64-xxx.run –no-opengl-files
说明:

no-opengl-files 只安装驱动文件,不安装opengl文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
8 接着就是一直选择它默认的那个选项就好。
9 挂载驱动: modprobe nvidia
10 查看是否已经安装好了:nvidia-smi
此时我在非图形界面(也就是在ctrl+alt+f1状态下)
输入可以看到nvidia-smi的界面,但是当时不能截图
下图是在reboot重启之后在终端里面再次输入得到。

11 重启 $ reboot
12 在终端输入 nvidia-smi

(但是此时还是有一些小问题,
第一次不知道是输入打错了,还是真的有问题,此界面没能出现,
在我就要放弃的时候,我再次打开终端输入,显示下面界面,表示驱动安装成功)

成功安装之后可以开心的进入下面的环节~
13 打开图形界面
可以打开图形界面了:
$ sudo service lightdm start
后面的安装直接在终端即可。

4 下载安装cuda文件-.run文件失败篇

(这步我没有安装成功,下载的10.1版本安装不成功,可以直接跳过,请看:
5 再次下载安装cuda文件-.deg成功篇)

1 cuda下载网址:
Accelerated Computing Tools | Developer
我下载10.1安装失败
下载10.0
找到老版本还挺费劲
下拉找到 documentation

点击右上角older版本

选择10.0版本

2 选择下载
10.0版本

下面是10.1版本

  1. wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
  2. sudo sh cuda_10.1.243_418.87.00_linux.run

3 在终端运行第一条指令:第二条等会再运行
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
4 下载得到.run文件
cuda_10.1.243_418.87.00_linux.run

5 改变第二条指令如下:
 

  1. wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
  2. sudo sh cuda_10.1.243_418.87.00_linux.run --tmpdir=/home/nk/CUDA/

$ sudo sh cuda_10.1.243_418.87.00_linux.run --tmpdir=/home/nk/CUDA/
CUDA是自己建立的文件夹,把CUDA安在这个位置

这里加 --tmpdir 主要是直接运行后,会提示空间不足的问题, 后面应该填自己下载之后文件所在的路径,
我直接放在了home下, 这时会出现很长的声明,一直按enter键,把声明读完,然后就可以进行选择了。
如下图:

6 新版本10.1的cuda如下图选择:
注意这里第一个不安装NVIDIA Driver, 选择X
上下键,换选项,按回车选择,

6 老版本的cuda如下图选择:
注意这里第一个不安装NVIDIA Driver, 选择no

因为我是独立安装的NVIDIA 程序,所以进行上面的选择,安装完成后会出现个提醒,这是因为我在安装CUDA的时候没有选择安装驱动,提示需要安装驱动,忽略就行。

5 再次下载安装cuda文件-.deb成功篇

PS: 同学说cuda里面带有显卡的驱动,可以不用进行上面3、4的步骤
因为我已经安装过显卡驱动了,就这样继续往下

因为下载10.0版本的.run文件总是失败

1 从同学那里拷贝了.deb文件,自己下载也行(他用这个方法成功安装)

官网提供的安装四条指令如下:

Installation Instructions:
  1. `sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb`
  2. `sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
  3. `sudo apt-get update`
  4. `sudo apt-get install cuda`

2 输入第一条指令
$ sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
报错如下:

按照上图上图终端提示输入指令:
$ sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
再次输入第一条指令:

$ sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb

3 输入第二条指令 sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub (version对应修改如下:)
$ sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48//7fa2af80.pub
可以用tab进行补充
4 输入第三条指令
$ sudo apt-get update

5 输入第四条指令
$ sudo apt-get install cuda

6 重启 $ reboot

7 加入环境路径:
打开.bashrc 文件:$ sudo gedit ~/.bashrc
打开文件后将下面两句话加入进去:

  1. export LD_LIBRARY_PATH=$LDLIBRARY_PATH:/usr/local/cuda-10.0/lib64
  2. export PATH=$PATH:/usr/local/cuda-10.0/bin
  3. export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0

ps: 对应不同版本,上面cuda-xxx写相应版本, 对应路径下有这些文件,可以看一下验证~
   

8 保存 关闭,命令行输入,激活:$ source ~/.bashrc  
PS:是“/.”   /在前

但是会遇到如下问题: 1 设置数据失败  2找不到文件
此博客说下述警告没有影响: https://blog.csdn.net/sandalphon4869/article/details/100765858
PS:$ source ~/.bashrc   
是“/.”       
/ 在前输入正确,就不会有下图的找不到文件

9 验证是否安装好
$ nvcc --version  输出CUDA的版本信息
下图表示成功~

a. 在source ~/.bashrc正确的情况下,会如下

b. 在source ~./bashrc不正确的情况下,会如下

根据终端提示进行: $ sudo apt install nvidia-cuda-toolkit
过程比较慢,稍等,超级慢...

6 安装cudnn文件
(这个要比win下简单太多)

1.官网下载https://developer.nvidia.com/rdp/cudnn-download
进入时需要登录,没有账户的话就注册一个(可以qq登录),进入即可。选择和自己cuda适配的版本
2 下载&安装
是一个压缩包.tgz格式,我下载完之后电脑自动跳出来提取,是一个cuda文件夹
这个是cuDNN 7.6.4 来适配 CUDA 10.0

我参考的博主版本是7.5,如下图
这与当前更新的情况有关,也不一定非得是老版本,老版本是真的不好找到


(但是,我拷贝了同学的cuDNN7.4.2.24,因为他的显卡是2080所以我觉得这个版本万无一失,其实是懒得下载了~)

3 提取cuDNN 7.4.2.24 
$ tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz

解压后如下:

4 右击cuda文件夹,选择在终端打开
然后输入

  1. $ sudo cp include/cudnn.h /usr/local/cuda/include/
  2. $ sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
  3. $ sudo chmod a+r /usr/local/cuda/include/cudnn.h
  4. $ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

5 查看cudnn版本
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
看到下图,说明安装成功~

7 pip安装pytorch-成功篇

1 登录官网https://pytorch.org/

2 选择对应版本

cuda这块有3个选项 9.2, 10.1, None
ps:
注意我自己的cuda是10.0, 这里选择10.1,我猜想是10.x的版本都能是这个选项,None表示是cpu版本,
因为指令:

这里要写pip替换pip3不然会出现下面的错误

pip3 install torch torchvision


明明已经安装成功了,但是import不了

3 验证是否安装成功
在python
import torch

但是发现不行
4 我更换了指令
$ pip install torch torchvision
(默认会装最新的torch,这次我的是pytorch1.3.1)
(建议控制版本
pip install torch==1.0 torchvision)
特别注意这里是pip不是pip3就成功了,我参考了我的另外一篇博客

https://blog.csdn.net/zjc910997316/article/details/101234706当时我是在macbook上面安装的cpu版本的pytorch就与到了这个问题,

成功的结果

5 遇到问题:nvida cuda 版本太老,
这个问题也可以理解自己的pytorch太新 1.3.0

这是因为安装指令是 pip install torch torchvision
解决办法:装pytorch1.0
pip install torch==1.0 torchvision
 
The NVIDIA driver on your system is too old (found version 10000)可能的原因_昌山小屋的博客-CSDN博客

AssertionError:

您系统上的NVIDIA驱动程序太旧了(发现版本10000)。

请更新你的GPU驱动程序下载和安装一个新的

来自URL的版本:http://www.nvidia.com/Download/index.aspx

或者,到https://pytorch.org安装

用您的版本编译的PyTorch版本

CUDA的司机。

AssertionError:
The NVIDIA driver on your system is too old (found version 10000).
Please update your GPU driver by downloading and installing a new
version from the URL: http://www.nvidia.com/Download/index.aspx
Alternatively, go to: https://pytorch.org to install
a PyTorch version that has been compiled with your version
of the CUDA driver.

8 conda安装pytorch-失败篇

请看 7 pip安装pytorch-成功篇

1 登录官网https://pytorch.org/

2 选择对应版本

得到如下指令:$ conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

3 更换源
Ubuntu 16.04 安装gpu版本的pytorch_一只蛋糕糕的博客-CSDN博客
 

conda config --add channels https://repo.continuum.io/pkgs/free/
conda config --add channels https://repo.continuum.io/pkgs/main

conda config --set show_channel_urls yes

4 改为: $ conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
但是下载到一半就失败了,可能是conda的源不好用



 

9 查看cuda cudnn版本

1 查看cuda cudnn版本

cat /usr/local/cuda/version.txt

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

2.安装好anaconda

3.配置anaconda的环境变量(如果输入conda提示:未找到命令,则需要这一步,配置环境变量)

4.更换源 ps:未验证是否有用

conda config --add channels https://repo.continuum.io/pkgs/free/
conda config --add channels https://repo.continuum.io/pkgs/main

conda config --set show_channel_urls yes

5.创建conda环境

conda create -n pytorch(环境名)python=3.5

6.进入创建好的环境

conda activate pytorch(环境名)

7.安装cuda对应版本的torch

conda install pytorch torchvision cuda90 -c pytorch
 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/561315
推荐阅读
相关标签
  

闽ICP备14008679号