Windows下RTX 5070安装PyTorch GPU完整教程:Python 3.11 + PyTorch 2.8.0 + CUDA 12.9
2026/8/25 23:26:37 网站建设 项目流程

Windows下RTX 5070安装PyTorch GPU完整教程:Python 3.11 + PyTorch 2.8.0 + CUDA 12.9

1. 前言

最近在一台搭载NVIDIA GeForce RTX 5070的 Windows 电脑上重新配置 PyTorch GPU 深度学习环境。

最终成功配置如下:

操作系统:Windows 11 64位 GPU:NVIDIA GeForce RTX 5070 Conda环境:pytorchgpu Python:3.11.16 PyTorch:2.8.0+cu129 PyTorch CUDA Runtime:CUDA 12.9 CUDA可用:True

最终验证结果:

importtorchprint(torch.__version__)print(torch.cuda.is_available())print(torch.cuda.get_device_name(0))

输出:

2.8.0+cu129 True NVIDIA GeForce RTX 5070

这意味着:

PyTorch已经成功通过CUDA调用RTX 5070。

不过整个安装过程中踩了几个非常典型的坑:

  1. Conda创建Python 3.11环境失败;
  2. 普通CMD中Conda环境出现“假激活”;
  3. cp311版本的PyTorch wheel提示不支持;
  4. 命令行明明显示(pytorchgpu),实际却仍然运行Python 3.13;
  5. 最终切换到真正的Python 3.11环境后,PyTorch和CUDA才正常工作。

本文重点记录第三部分:

如何正确安装PyTorch GPU,并判断CUDA和显卡是否真正可用。


2. 为什么要单独创建Python 3.11环境?

本机Anaconda的base环境中Python版本为:

Python 3.13.9

虽然较新的PyTorch版本已经逐渐支持Python 3.13,但在科研和深度学习环境中,我更倾向于使用一个相对独立、兼容性较好的Python环境。

因此创建:

pytorchgpu

并安装:

Python 3.11.16

最终环境路径为:

C:\Users\用户名\.conda\envs\pytorchgpu

成功进入环境后:

python--version

输出:

Python 3.11.16

后续所有PyTorch相关软件包都安装到这个环境中。


3. 首先理解一个关键问题:CUDA、Python和PyTorch是什么关系?

很多刚开始配置GPU环境的人容易产生一个误解:

CUDA 12.9是不是只能配某一个固定Python版本?

实际上并不是。

Python和CUDA之间通常不是直接绑定的。

真正需要匹配的是:

Python版本 ↓ PyTorch版本 ↓ PyTorch对应的CUDA构建版本 ↓ NVIDIA显卡驱动 ↓ GPU

例如本文最终使用:

Python 3.11.16 + PyTorch 2.8.0 + cu129 + RTX 5070

其中:

cu129

表示:

CUDA 12.9

所以:

torch 2.8.0+cu129

可以理解成:

PyTorch 2.8.0的CUDA 12.9版本。


4. 不要把nvidia-smi中的CUDA版本和PyTorch CUDA版本混为一谈

执行:

nvidia-smi

通常会看到类似:

CUDA Version: xx.x

需要特别注意:

nvidia-smi显示的CUDA Version主要表示当前NVIDIA驱动支持的最高CUDA兼容能力之一,并不意味着PyTorch必须安装完全相同的CUDA版本。

例如显卡驱动可能显示:

CUDA Version: 13.x

但PyTorch仍然可以安装:

cu129

只要当前显卡驱动足够新,能够兼容PyTorch所需要的CUDA Runtime即可。

因此不要简单理解成:

nvidia-smi显示13.x ↓ PyTorch必须安装cu13x

这并不正确。


5. PyTorch wheel文件名到底是什么意思?

本文下载的PyTorch文件为:

torch-2.8.0+cu129-cp311-cp311-win_amd64.whl

第一次看到这个文件名可能比较复杂,其实可以拆成几部分:

torch │ ├── 2.8.0 │ ├── +cu129 │ ├── cp311 │ ├── cp311 │ └── win_amd64

分别代表:

2.8.0

PyTorch版本:

PyTorch 2.8.0

cu129

代表CUDA构建版本:

CUDA 12.9

因此:

2.8.0+cu129

就是:

PyTorch 2.8.0 + CUDA 12.9。


6. cp311是什么意思?

这一点非常重要。

文件名中的:

cp311

表示:

CPython 3.11

类似地:

cp310 → Python 3.10 cp311 → Python 3.11 cp312 → Python 3.12 cp313 → Python 3.13

所以:

torch-2.8.0+cu129-cp311-cp311-win_amd64.whl

要求使用:

Python 3.11

如果当前实际运行的是Python 3.13,就不能直接安装这个wheel。


7. win_amd64又是什么意思?

最后:

win_amd64

表示:

Windows 64位

这里的amd64并不是说:

只有AMD处理器才能安装。

它实际上代表Windows x86-64架构。

因此Intel或AMD的普通64位Windows电脑都可以使用。

综合起来:

torch-2.8.0+cu129-cp311-cp311-win_amd64.whl

可以解释为:

PyTorch 2.8.0 + CUDA 12.9 + CPython 3.11 + Windows 64位。


8. 本次第一次安装为什么失败?

进入下载目录后执行:

pip install "torch-2.8.0+cu129-cp311-cp311-win_amd64.whl"

结果出现:

ERROR: torch-2.8.0+cu129-cp311-cp311-win_amd64.whl is not a supported wheel on this platform.

同时还出现:

Defaulting to user installation because normal site-packages is not writeable

一开始很容易怀疑:

PyTorch版本不对? CUDA 12.9不支持? RTX 5070不支持? wheel下载错了? Windows版本不支持?

但最后发现:

这些都不是根本原因。


9. 真正原因:当前实际上运行的是Python 3.13

虽然CMD前面显示:

(pytorchgpu)

但执行:

python

却得到:

Python 3.13.9 | packaged by Anaconda, Inc.

进一步执行:

where python

得到:

D:\ruanjian\anaconda\python.exe

说明实际调用的是:

Anaconda base环境 Python 3.13.9

而不是刚刚创建的:

pytorchgpu Python 3.11.16

于是实际情况变成:

下载的wheel: cp311 ↓ 要求Python 3.11 当前实际Python: 3.13.9 结果: 版本不兼容 ↓ not a supported wheel on this platform

这就是第一次安装失败的真正原因。


10. 不要只看命令行前面的环境名称

这是整个安装过程中非常重要的经验。

即使终端显示:

(pytorchgpu)

也最好执行:

python --version

确认Python版本。

再执行:

where python

确认解释器路径。

例如本文正确环境应该是:

Python 3.11.16

并且Python路径应该类似:

C:\Users\用户名\.conda\envs\pytorchgpu\python.exe

如果看到:

D:\ruanjian\anaconda\python.exe

说明实际还是base环境。

所以:

终端前缀只是一种提示,真正决定环境的是当前调用的python.exe。


11. 正确进入PyTorch环境

由于普通CMD中的Conda激活存在异常,本次最终使用:

Anaconda PowerShell Prompt

执行:

conda activate pytorchgpu

然后检查:

python--version

输出:

Python 3.11.16

进一步进入Python:

python

显示:

Python 3.11.16 | packaged by conda-forge

至此可以确认:

当前真正进入了Python 3.11的pytorchgpu环境。


12. 推荐使用python -m pip安装,而不是直接pip

在多Python环境电脑上,推荐使用:

python-m pip install xxx

而不是:

pip install xxx

原因是:

pip install

依赖Windows PATH寻找:

pip.exe

如果电脑中同时存在:

Python 3.13 Python 3.11 Anaconda Conda虚拟环境

就可能找到错误的pip。

而:

python-m pip

表示:

使用当前这个Python解释器所对应的pip。

因此更加可靠。


13. 安装本地PyTorch wheel

首先进入下载目录:

cd"F:\edge浏览器下载的内容"

确认:

python--version

输出:

Python 3.11.16

然后安装:

python-m pip install"torch-2.8.0+cu129-cp311-cp311-win_amd64.whl"

由于此时:

当前Python:3.11.16 wheel:cp311 系统:Windows 64位

三者完全匹配,因此可以正常安装。


14. 安装torchvision

对应的torchvision文件为:

torchvision-0.23.0+cu129-cp311-cp311-win_amd64.whl

同样执行:

python-m pip install"torchvision-0.23.0+cu129-cp311-cp311-win_amd64.whl"

这样PyTorch和torchvision保持对应版本。

本文最终组合为:

torch 2.8.0+cu129 torchvision 0.23.0+cu129

15. 如果不想手动下载wheel怎么办?

也可以直接使用PyTorch对应软件源在线安装。

基本形式为:

python-m pip install torch torchvision torchaudio--index-url <对应的PyTorch CUDA软件源>

在线安装的优点是:

pip会根据当前Python版本和操作系统选择对应wheel。

因此可以减少手动下载:

cp311 cp312 cp313

错误版本的概率。

如果网络环境不稳定,手动下载wheel后本地安装也完全可以。


16. 安装完成后第一步:检查PyTorch版本

进入Python:

python

然后:

importtorch

首先检查:

print(torch.__version__)

本文输出:

2.8.0+cu129

这里非常关键。

如果只显示:

2.8.0

还需要进一步确认具体安装包。

本文:

2.8.0+cu129

明确说明当前安装的是:

PyTorch 2.8.0 CUDA 12.9构建。


17. 第二步:检查CUDA是否可用

执行:

print(torch.cuda.is_available())

本文得到:

True

这是PyTorch GPU环境最核心的检测之一。

如果输出:

True

说明:

PyTorch已经能够正常访问CUDA设备。

如果输出:

False

则需要继续检查:

是否安装CPU版PyTorch NVIDIA驱动是否正常 GPU是否被系统识别 PyTorch CUDA构建是否正确 环境是否装错

18. 第三步:检查PyTorch识别到了哪张显卡

执行:

print(torch.cuda.get_device_name(0))

本文输出:

NVIDIA GeForce RTX 5070

这一步非常重要,因为它说明:

PyTorch不仅检测到了CUDA,而且已经成功识别实际GPU设备。

最终验证结果:

>>>importtorch>>>print(torch.__version__)2.8.0+cu129>>>print(torch.cuda.is_available())True>>>print(torch.cuda.get_device_name(0))NVIDIA GeForce RTX5070

到这里就可以认为:

RTX 5070的PyTorch GPU环境已经完整打通。


19. 还可以进行更完整的GPU检测

除了上面三条,还可以执行:

importtorchprint("PyTorch版本:",torch.__version__)print("CUDA是否可用:",torch.cuda.is_available())print("PyTorch CUDA版本:",torch.version.cuda)print("GPU数量:",torch.cuda.device_count())iftorch.cuda.is_available():print("当前GPU:",torch.cuda.get_device_name(0))

预期结果类似:

PyTorch版本: 2.8.0+cu129 CUDA是否可用: True PyTorch CUDA版本: 12.9 GPU数量: 1 当前GPU: NVIDIA GeForce RTX 5070

这比只看:

torch.cuda.is_available()

更加完整。


20. 进一步测试:真正创建一个CUDA Tensor

有时候仅仅检查:

torch.cuda.is_available()

还不够直观。

可以直接创建一个GPU Tensor:

importtorch x=torch.randn(3,3).cuda()print(x)print(x.device)

如果最后显示:

cuda:0

说明这个Tensor已经真实存放在GPU显存中。

也可以写成:

device=torch.device("cuda"iftorch.cuda.is_available()else"cpu")x=torch.randn(3,3).to(device)print(x.device)

输出:

cuda:0

这就是更加直接的CUDA运行测试。


21. 深度学习代码中怎么让模型使用RTX 5070?

以后自己的PyTorch代码中推荐这样写:

importtorch device=torch.device("cuda"iftorch.cuda.is_available()else"cpu")print("当前设备:",device)

然后将模型放到GPU:

model=model.to(device)

数据也要放到相同设备:

x=x.to(device)y=y.to(device)

例如:

forx,yintrain_loader:x=x.to(device)y=y.to(device)output=model(x)

只要:

torch.cuda.is_available()

为:

True

这里:

device

就会自动选择:

cuda

也就是RTX 5070。


22. 一个非常容易误解的问题:必须安装本地CUDA Toolkit吗?

很多人认为:

使用PyTorch GPU之前,一定要先安装和PyTorch完全相同版本的CUDA Toolkit。

实际上对于PyTorch官方提供的CUDA wheel来说,并不总是如此。

例如:

torch-2.8.0+cu129

本身已经带有运行PyTorch所需的一套CUDA相关运行时依赖。

因此对于普通PyTorch训练任务,更核心的是:

正确的NVIDIA显卡驱动 + 正确的PyTorch CUDA构建

而不是:

系统必须另外安装一个完全相同版本的CUDA Toolkit。

只有在一些特殊场景,例如:

编译自定义CUDA扩展 CUDA C/C++开发 某些第三方库需要nvcc

时,本地CUDA Toolkit才更加重要。

所以:

torch.version.cuda

和:

nvcc --version

反映的并不一定是同一个东西。


23. PyTorch中的cu129和系统CUDA不是同一个概念

假设:

print(torch.version.cuda)

输出:

12.9

表示:

当前PyTorch是基于CUDA 12.9相关运行时构建的。

而执行:

nvcc --version

显示的是:

本机安装的CUDA Toolkit编译器版本。

执行:

nvidia-smi

看到的:

CUDA Version

主要和当前NVIDIA驱动支持能力有关。

因此三个地方的CUDA版本:

nvidia-smi nvcc --version torch.version.cuda

出现不同数字,并不一定意味着环境有问题。

这是配置PyTorch时非常容易混淆的一点。


24. 常见错误一:not a supported wheel on this platform

如果出现:

xxx.whl is not a supported wheel on this platform

优先检查:

python --version

以及:

where python

然后查看wheel名称。

例如:

cp311

必须对应:

Python 3.11

如果实际Python是:

3.13

就会直接不兼容。


25. 常见错误二:环境名前面显示正确,但Python版本不对

例如:

(pytorchgpu) C:\Users\xxx>

看起来进入了环境。

但:

python --version

却是:

Python 3.13.9

这种情况下不要继续安装任何包。

一定继续检查:

where python

真正激活后应该指向:

...\envs\pytorchgpu\python.exe

26. 常见错误三:torch.cuda.is_available()返回False

如果:

torch.cuda.is_available()

返回:

False

可以按照以下顺序排查:

1. nvidia-smi能否识别显卡 ↓ 2. torch.__version__是什么 ↓ 3. 是否安装了CUDA版PyTorch ↓ 4. torch.version.cuda是否有值 ↓ 5. 当前Python是否来自正确环境 ↓ 6. 是否误装了CPU版torch

例如:

print(torch.__version__)print(torch.version.cuda)

如果:

torch.version.cuda

为:

None

通常需要重点怀疑安装的是CPU构建。


27. 常见错误四:pip把库装到了错误的Python中

如果电脑中存在多个Python:

Python 3.13 Python 3.11 Conda base Conda pytorchgpu

不建议只执行:

pip install xxx

建议:

python -m pip install xxx

还可以提前检查:

python -m pip --version

确保路径中包含:

pytorchgpu

28. 普通CMD不能正常activate怎么办?

即使普通CMD中的:

conda activate pytorchgpu

存在问题,也不是不能安装软件包。

可以执行:

conda run -n pytorchgpu python -m pip install numpy

或者直接指定Python:

"C:\Users\用户名\.conda\envs\pytorchgpu\python.exe" -m pip install numpy

因此:

使用PyTorch并不是只能依赖Anaconda PowerShell Prompt。

只要最终调用的是正确解释器即可。

不过如果Anaconda PowerShell Prompt可以正常激活,日常使用它通常最省心。


29. 本次完整安装逻辑

整个流程可以总结成:

RTX 5070 ↓ 安装/确认NVIDIA显卡驱动 ↓ 创建Conda独立环境 ↓ Python 3.11.16 ↓ 确认python --version ↓ 确认Python解释器路径 ↓ 安装torch 2.8.0+cu129 ↓ 安装torchvision 0.23.0+cu129 ↓ import torch ↓ torch.__version__ 2.8.0+cu129 ↓ torch.cuda.is_available() True ↓ torch.cuda.get_device_name(0) NVIDIA GeForce RTX 5070 ↓ GPU环境配置成功

30. 推荐的最终验证代码

环境安装结束后,可以保存下面代码为:

test_gpu.py

内容:

importtorchprint("="*50)print("PyTorch GPU Environment Check")print("="*50)print(f"PyTorch version :{torch.__version__}")print(f"CUDA available :{torch.cuda.is_available()}")print(f"PyTorch CUDA :{torch.version.cuda}")print(f"GPU count :{torch.cuda.device_count()}")iftorch.cuda.is_available():print(f"GPU name :{torch.cuda.get_device_name(0)}")device=torch.device("cuda")x=torch.randn(3,3,device=device)print(f"Tensor device :{x.device}")print("GPU test : SUCCESS")else:print("GPU test : FAILED")print("="*50)

执行:

python test_gpu.py

如果得到类似:

PyTorch version : 2.8.0+cu129 CUDA available : True PyTorch CUDA : 12.9 GPU count : 1 GPU name : NVIDIA GeForce RTX 5070 Tensor device : cuda:0 GPU test : SUCCESS

说明PyTorch GPU环境已经真正可以使用。


31. 本次最终配置

最终成功环境:

Conda环境: pytorchgpu Python: 3.11.16 PyTorch: 2.8.0+cu129 CUDA Runtime: 12.9 GPU: NVIDIA GeForce RTX 5070 torch.cuda.is_available(): True

也就是:

Python 3.11 ↓ PyTorch 2.8.0 ↓ CUDA 12.9 Runtime ↓ NVIDIA RTX 5070 ↓ GPU深度学习环境成功

32. 总结

这次配置过程中最值得记住的并不是某一条安装命令,而是以下几个原则。

第一:

下载PyTorch wheel时一定要看Python版本。

例如:

cp311 → Python 3.11 cp312 → Python 3.12 cp313 → Python 3.13

第二:

终端显示(pytorchgpu)并不能替代Python版本检查。

始终建议执行:

python --version

以及:

where python

第三:

安装Python软件包建议使用python -m pip

例如:

python -m pip install xxx

第四:

不要简单要求nvidia-smi、本地CUDA Toolkit和PyTorch CUDA版本三个数字完全一致。

它们代表的概念并不完全相同。

第五:

判断PyTorch GPU是否真正成功,最有说服力的是运行结果。

本文最终结果:

print(torch.__version__)

输出:

2.8.0+cu129
print(torch.cuda.is_available())

输出:

True
print(torch.cuda.get_device_name(0))

输出:

NVIDIA GeForce RTX 5070

这三个结果同时成立,说明:

Python 3.11 → PyTorch 2.8.0 → CUDA 12.9 → RTX 5070这条GPU计算链已经完整打通。


附:常用检查命令

检查Python:

python --version

检查Python路径:

where python

检查pip:

python -m pip --version

检查NVIDIA显卡:

nvidia-smi

检查PyTorch版本:

importtorchprint(torch.__version__)

检查PyTorch CUDA Runtime:

print(torch.version.cuda)

检查CUDA:

print(torch.cuda.is_available())

检查GPU:

print(torch.cuda.get_device_name(0))

检查GPU数量:

print(torch.cuda.device_count())

创建GPU Tensor:

x=torch.randn(3,3,device="cuda")print(x.device)

如果最终得到:

cuda:0

并且:

NVIDIA GeForce RTX 5070

那么恭喜你:

PyTorch GPU环境已经配置完成,可以正式开始模型训练。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询