2024年Pytorch + CUDA配置教程(Windows版)
请注意,由于PyTorch和其依赖项(如CUDA、cuDNN)会不断更新,因此安装过程中可能需要参考最新的官方文档和指南。
准备工作
确认Python环境:
PyTorch需要Python 3.6或更高版本。可以通过命令行输入python --version或python3 --version来检查Python版本。
如果未安装Python或版本不符合要求,建议从Python官网下载安装。
安装Anaconda(可选但推荐):
Anaconda是一个开源的Python和R语言的分布式版本,用于科学计算(数据科学、机器学习应用、大数据处理和可视化)。它简化了包管理和部署,并允许用户轻松地安装、运行和更新包及其依赖项。
从Anaconda官网下载适合您操作系统的版本并安装。
[Step 1] GPU驱动安装——版本越新越好
Windows系统的显卡驱动应该很好装,全是图形化窗口,显卡驱动的下载网站是:英伟达显卡驱动查找地址
在这里选择你的显卡并点击“开始搜索”查找驱动,并在下方下载名为GeForce Game Ready驱动程序的驱动即可,其余安装过程直接一直下一步就可以安装完成了。
[Step 2] 决定Pytorch版本——要在装CUDA之前就确定好
此步骤非常关键,这也是很多人装了卸载,然后再装再卸多次都不能成功的原因之一。
打开这个网页查看pytorch官网支持的两各版本CUDA:Pytorch下载链接
截至2024年6月22日,官网支持11.8和12.1两个版本的CUDA,因此我们只需要根据一会安装的CUDA来选择安装pytorch的命令即可
[Step 3] CUDA安装及环境变量配置
此步骤前提为安装好GPU驱动,若驱动没有安装好,请移步[Step 1]。
首先进入cmd命令行,输入如下命令:
nvidia-smi
命令行输出:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.02 Driver Version: 555.42.02 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4080 Off | 00000000:01:00.0 On | N/A |
| 0% 49C P0 60W / 320W | 1209MiB / 16376MiB | 5% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
等等......
其中, Driver Version:
后面是驱动版本,这个当然越高越好,越高的版本有可能支持更高的CUDA版本;CUDA Version:
后面是支持的最高CUDA版本。也就是说本机安装的CUDA版本不能高于此版本。
最高CUDA版本为11.x
的不可以安装12.1版本CUDA所支持的pytorch;
最高CUDA版本为12.x
的可以选择安装任意一种pytorch,语法没有差别。
以本机为例,CUDA版本不能高于12.5,也就是说我可以选择安装12.1版本的pytorch
接下来我们来到CUDA Release下载安装CUDA工具包(CUDA Toolkit)
CUDA版本号a.b.c
三个位置中,a
必须与pytorch对应的CUDA版本相同,b
必须高于pytorch对应的CUDA版本,如我想要下载12.1CUDA对应的pytorch,我可以下载12.4版本的CUDA甚至最新版(12.5)CUDA。
下载完成后,安装还是一直下一步,不需要更改安装位置,只需要默认即可。
CUDA会默认安装到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\{版本号}
中。
此时打开命令行并输入
nvcc -V
来检查CUDA安装是否成功,并查看CUDA版本号。
若安装成功,则命令行输出类似信息:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:18:24_PDT_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0
否则找不到nvcc命令。
若安装失败,原因有可能是nvcc目录没有在环境变量中,在此提供一个解决办法:
- 进入“编辑系统环境变量”
- 添加环境变量
CUDA_HOME
,值为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\{版本号}
- 修改
Path
变量,在后面追加%CUDA_HOME%\bin
- 一路确定
- 重新打开命令行窗口
- 输入
nvcc -V
,成功查看上述消息
至此,CUDA安装成功!
[Step 4] Anaconda安装及环境变量配置
Anaconda拥有强大的包管理器和较简单的虚拟环境配置过程。可以说,学习数据处理或者人工智能,这个Anaconda是必备的软件之一。因此这部分不了解的就别跳过啦,好好看完吧!
Anaconda安装
进入上述官网进行Anaconda下载,选择Windows平台下载,并进入安装。
安装位置可以选择空间较大的盘,因为以后可能会创建多个虚拟环境。默认的安装位置为C:\ProgramData\anaconda3
,为了方便记忆,我只改变盘符而不改变其他路径,我将其修改为D:\ProgramData\anaconda3
这一步骤全选:
然后点击Install
开始安装,等待安装完成。(可能需要一定的时间)
添加CONDA环境变量
安装之后需要主动将conda执行文件配置到环境变量中:
-
首先创建环境变量
CONDA_HOME
,值为{anaconda3文件夹位置}
,例如,在本人的例子中为D:\ProgramData\anaconda3
。 -
然后在Path变量中追加以下五条内容:
%CONDA_HOME%
%CONDA_HOME%\Library\bin
%CONDA_HOME%\Library\usr\bin
%CONDA_HOME%\Library\mingw-w64\bin
%CONDA_HOME%\Scripts
-
添加完毕后新打开一个命令行窗口输入
conda --version
来测试conda是否可用。 -
初始化conda命令:
依次输入以下两条命令:
conda init conda init cmd.exe
至此,conda配置成功
[Step 5] 新建Python虚拟环境
此步骤使用conda创建虚拟环境
conda换源<可选步骤>
若不能使用魔法从官方库下载,或连接十分缓慢,可选择此步骤。此步骤将conda源换为清华源
-
执行
conda config --set show_channel_urls yes
生成.condarc
文件之后进行修改。.condarc
文件生成于C:\Users\{电脑用户名}
文件夹下。 -
打开此文件后将其修改为如下内容并保存:
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
- 运行
conda clean -i
,清空索引缓存,确保使用的是清华源
创建适合于pytorch的虚拟环境
-
我们新建一个虚拟环境,使用如下命令创建(命令中
{虚拟环境名}
替换为你想创建的名字,使用英文):conda create -n {虚拟环境名} python=3.9 matplotlib numpy pandas jupyter
我们新建一个python版本为3.9的虚拟环境,初始化安装了matplotlib, numpy, pandas库,以避免后续依次安装而造成的依赖版本冲突问题。
Tips: 经验得出的结论,这样安装的python包会自动协调版本内容,避免冲突。所以尽可能在创建时一次安装完成。但有些python包比较大,下载如果过慢会导致创建时间随之延长。
等环境创建完毕后进入此虚拟环境,命令为:
conda activate {虚拟环境名}
-
新建完虚拟环境后,就可以正式安装pytorch了。
我们回到pytorch的官网
选择
Stable
的build版本,Windows
平台,Conda
包管理器,Python
语言和与自己安装的CUDA版本兼容的CUDA复制下面的安装指令,以我的电脑为例,大概长这个样子:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
-
经过漫长的等待之后,pytorch安装成功
验证安装
安装完成后,可以通过Python脚本来验证PyTorch是否安装成功,并检查是否可以正确利用GPU(如果安装了GPU版本)。
测试GPU是否可用
-
在本虚拟环境中,使用
python
命令进入python控制台 -
导入pytorch包,并验证cuda是否可用
>>> import torch
>>> torch.cuda.is_available()
- python控制台输出
True
,则GPU可用,环境安装完毕