• 1、前言
  • 2、安装miniconda
  • 3、安装Pytorch
  • 4、安装CUDA和cuDNN
  • 5、验证


环境配置系列:

(一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程(二)Ubuntu系统Pytorch环境配置(三)Windows系统Pytorch环境配置(简易方法安装CUDA和cuDNN)
Ubuntu20.04+GTX 1050(notebook)安装paddlepaddle

1、前言

假设你已经按照(一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程安装好了Ubuntu系统,现在我们要为pytorch的使用配置环境:

  • miniconda:一个环境管理软件,环境和环境之间隔离,在不同环境中你可以安装不同python版本和pytorch版本等,这在实践中非常方便,我想你也不希望当你想使用另一个pytorch版本时,只能卸载当前pytroch在安装。有了miniconda你可以直接新建一个环境,在新环境中安装你想要的pytroch版本。
  • CUDA:想要使用GPU进行pytroch加速,就需要这个帮助你并行计算(当然不需要你去操作,你只需要安装好就行)
  • cuDnn:深度神经网络的加速库,CUDA的小弟
  • pytorch:不多说了

当然本文是Ubuntu下安装Pytorch,Windows下安装Pytorch环境移步:(三)Windows系统Pytorch环境配置(简易方法安装CUDA和cuDNN)

2、安装miniconda

你或许在其他教程中看到过要安装Anaconda,但实际上miniconda就够用了,两个的区别可以理解为Anaconda为全家桶,它会帮你预装很多东西,实际上却用不到(比如数据分析,如果你不是这个方向)。

miniconda可以从官网下载并安装,这里就不详细介绍了,这只是一个软件,而且网上有大量的安装教程和使用教程。

3、安装Pytorch

我们先使用miniconda创建一个python环境,在终端使用conda 命令

# 创建一个name为EnvsName的环境,该环境的python=3.7
conda create -n EnvsName python=3.7

# 激活进入使用该环境,此时提示符最前面应该有个(),里面是环境名字,表示你现在在这个环境里
conda activate EnvsName

现在来安装Pytorch,先去官网选择自己的配置,在下方给出了pip的安装命令

Ubuntu系统所以选择Linux,对于CUDA版本根据自己的需求选择,如果使用的是安培架构的GPU,推荐使用CUDA11以上。如果你使用的是非安培架构的GPU,推荐使用CUDA10.2,性能更优。
我的不是安培架构,所以选择了CUDA10.2

ubuntu pytorch Ubuntu pytorch环境配置_ubuntu


复制该命令(如果不需要,可以去掉torchaudio)到终端中执行,等待便可成功安装。

4、安装CUDA和cuDNN

本部分是借鉴了:Ubuntu下安装CUDA对于CUDA部分的安装完全按该教程是没有问题的

以下重点讲cuDNN部分

首先,进入官网下载cuDNN,选择与CUDA合适的版本。比如我安装的CUDA11.3,则直接选择Download cuDNN v8.4.1 (May 27th, 2022), for CUDA 11.x,该版本的cuDNN适合11.0系列的CUDA。

点击cuDNN v8.4.1展开后下载Local Installer for Windows (Zip),然后执行下面的命令:

# 为了方便,假设你的cudnn文件夹名为cuDNNFolder
1.解压下载的cuDNN的tar包.
  $ tar -xvf cuDNNFolder.tar.xz
  
2. 复制cuDNN文件(*代表符合该规则的所有文件)
  $ sudo cp cuDNNFolder/include/cudnn*.h /usr/local/cuda/include 
  $ sudo cp -P cuDNNFolder/lib/libcudnn* /usr/local/cuda/lib64 
  $ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

在~/.bashrc文件中添加环境变量(cuda-11.3是我安装的cuda版本):

export LD_LIBRARY_PATH=/usr/local/cuda-11.3/targets/x86_64-linux/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后重启终端或者重启电脑更新

5、验证

至此,Pytorch、CUDA和cuDNN都按照好了,来验证下是否成功

网上大多数是通过torch.cuda.is_availabel()来验证,但是实践中发现有时该命令输出True后,在后续pytorch使用中也会报错。

所以更稳靠的方式是创建一个tensor,并放置到cuda上去,如果没有报错并成功放上去了,就证明验证成功,并可以正常使用CUDA:

torch.tensor([1]).cuda()

该命令是创建一个内容为[1]的tensor,并将其放置到cuda上去,如下图结果是成功创建了tensor,并且该tensor位于’cuda:0’上

ubuntu pytorch Ubuntu pytorch环境配置_ubuntu_02

查询版本信息的代码:

print("Python Version:", sys.version)	# python版本
print("pytorch version:", torch.__version__)	# pytorch版本
print("CUDA Version:", torch.version.cuda)	# cuda版本
print("cuDnn Version:", torch.backends.cudnn.version())	# cudnn版本
print("Devices:", device)	# 使用的设备cuda or cpu