Ubuntu20.04安装CUDA+CUDNN+Conda+PyTorch

  • Post author:
  • Post category:其他

步骤:

1、安装显卡驱动;

2、安装CUDA;

3、安装CUDNN;

4、安装Conda;

5、安装Pytorch。

一、系统和硬件信息

1、Ubuntu 20.04

2、显卡:1050Ti

二、安装显卡驱动

(已经安装的可以跳过)

1、通过“附加驱动”应用安装

 选择一个推荐的驱动,安装即可。

2、自动安装

sudo ubuntu-drivers autoinstall

 3、手动安装

手动安装之前要知道自己的显卡型号和推荐的驱动型号。

查看显卡型号:

ubuntu-drivers devices

 手动安装驱动(以1050Ti为例)

sudo apt install nvidia-driver-515

4、检查安装

在终端输入

nvidia-smi

出现如图内容,则驱动安装成功

 三、安装CUDA

        首先是CUDA和驱动的对应关系,可以从此网站查阅;

        确定好版本之后,从此网站下载。

        我个人而言一般会按照高版本的驱动+低版本的CUDA+与CUDA对应的cudnn+与CUDA对应的PyTorch这样的顺序去配置环境。                                                               

                                                                                                                                 ——土豆

本文以下载CUDA10.2为例

1、GCC和G++降级

Ubuntu20.04自带的GCC版本为9.7,要安装CUDA10.2需要降级为7

输入命令安装gcc7

apt-get install gcc-7 g++-7

查看gcc版本,可以看到目前系统中存在7和9两个版本

ls /usr/bin/gcc*
ls /usr/bin/g++*

 使用update-alternatives进行版本切换(修改优先级),输入以下命令

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 50

查看当前gcc和g++版本

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

 可以看到优先级最高的是gcc7和g++7。

2、安装CUDA10.2

转到下载CUDA的路径,先给权限,在执行

sudo chmod a+x cuda_10.2.89_440.33.01_linux.run 
sudo ./cuda_10.2.89_440.33.01_linux.run 

选择continue–>输入accept–>按空格去掉安装显卡驱动的选项–>选择install

3、配置环境变量

sudo nano ~/.bashrc

在尾部加入以下内容(路径不一定和我一样,看版本号)

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

更新环境变量

source ~/.bashrc

查看CUDA版本信息

nvcc -V

 4、测试CUDA

进入samples,(看当时安装的时候,案例放在了哪里)

4.1、测试deviceQuery

cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

出现以下结果说明安装成功

 4.2、测试bandwidthTest

cd /usr/local/cuda-10.2/samples/1_Utilities/bandwidthTest
sudo make
./bandwidthTest 

 结果为PASS即为通过。

四、安装Cudnn

1、下载cudnn

下载与CUDA版本对应的cudnn,下载地址(注册之后才能下载)

本文以CUDA10.2和1050Ti为例

 下载Library for Linux, Ubuntu(x86_64 & PPC architecture)中的,最好下载到一个地方

cuDNN Library for Linux (x86)

cuDNN Runtime Library for Ubuntu18.04 (Deb)

cuDNN Developer Library for Ubuntu18.04 (Deb)

cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)

2、进行文件替换

解压

tar zxvf cudnn-10.2-linux-x64-v8.0.5.39.tgz 

进行文件替换(注意路径)

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 /usr/local/cuda/lib64/libcudnn*

 安装其余三个deb包

sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda11.0_amd64.deb

3、测试cudnn

测试环节

cd /usr/src/cudnn_samples_v8/mnistCUDNN
sudo make
./mnistCUDNN

出现下面内容

 测试通过即可。

五、安装Anaconda或者Miniconda

 1、Miniconda安装

本文以miniconda为例,下载地址,对应好自己的系统版本和想用的python版本

 本文以下面配置为例:

Python 3.8 Miniconda3 Linux 64-bit

下载完成之后,进入相应目录,运行

bash ./Miniconda3-py38_4.12.0-Linux-x86_64.sh

1、安装过程中根据提示输入enter;

2、选择安装路径的时候可以默认或者是自定义,因为默认的路径root不一定有权限,可以放在opt里面,例如路径为/opt/miniconda3;

3、最后一部问是否添加环境变量,最好选择yes;

4、验证安装(重开终端窗口)(如果不行可能是环境变量没加进去)(或source环境)

conda -V

2、Miniconda使用

查看当前所有的env

conda env list

创建新的env

conda create -n pt python=3.8

例如这个语句就是创建一个名字叫pt的,python版本为3.8的一个虚拟环境。

激活环境命令

conda activate pt

可看到终端命令前面出现了(pt),说明已经在环境pt里面

 退出环境命令

conda deactivate

六、PyTorch安装

首先要进入自己的conda虚拟环境,终端前面带(pt)或其它。

安装链接在这里

https://pytorch.org/get-started/previous-versions/

进入之后,可以看到不同操作系统,不同conda,不同cuda的命令,根据自己的实际所需选择

以torch1.7.1为例

与自己的cuda版本对应

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.2 -c pytorch

静待安装完成就ok。

 七、PyCharm安装及使用torch

官网地址在这里

下载解压之后,进入解压目录,进入bin目录,./pycharm.sh可以运行,可以在里面设置快捷方式;

在工具栏Tools,有Create Desktop Entry..,可以创建快捷方式。

新建工程,选择

选择环境使用conda,然后Interpreter选择自己刚才建立的虚拟环境

代码测试torch

import torch

print(torch.cuda.is_available())
a = torch.zeros(5, 3)
print(a)

运行之后

 则说明pytorch以及搭建完成。

参考链接:

1、NVIDIA三件套环境配置 – PleasureReceiver

2、安装Ubuntu20.04后的配置 – 知乎


版权声明:本文为Hao_ge_666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。