文章目录
一、为什么你的PyTorch总是装不上?(灵魂拷问)
每次看到新手在安装PyTorch时抓狂的样子(别问我怎么知道的),就想起当年自己连续三天通宵配环境的惨痛经历。明明跟着教程一步步操作,却总是报各种CUDA runtime error
、DLL load failed
,甚至出现torch.cuda.is_available()
返回False的灵异事件!
(敲黑板)根本原因就三个:
- Python版本不匹配 → 比如用Python3.12装只支持到3.10的PyTorch
- CUDA驱动不兼容 → 显卡驱动版本低于PyTorch要求
- torchvision版本乱搭 → 这个可视化库和PyTorch必须严格对应
二、5秒定位你的CUDA版本(Windows/Linux通用)
方法1:核弹级命令
nvidia-smi
右上角显示的CUDA Version
就是驱动支持的最高版本(注意这是驱动版本,不是实际安装的CUDA Toolkit版本!)
方法2:温柔查询法
import torch
print(torch.version.cuda) # 显示PyTorch需要的CUDA版本
print(torch.cuda.is_available()) # 终极验货命令
三、2023年最稳安装命令大全
黄金组合推荐(实测稳定):
PyTorch | torchvision | Python | CUDA |
---|---|---|---|
2.1.0 | 0.16.0 | 3.8-3.10 | 11.8 |
2.0.1 | 0.15.2 | 3.7-3.10 | 11.7 |
无脑复制代码(以PyTorch 2.1.0为例):
# CUDA版(N卡用户必看)
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=11.8 -c pytorch -c nvidia
# CPU版(核显勇士专用)
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 cpuonly -c pytorch
四、避坑指南(血泪教训总结)
⚠️ 致命陷阱1:不要用pip install pytorch
!这是第三方包,正牌是torch
⚠️ 隐藏大坑2:Anaconda环境记得先升级:
conda update conda
conda update --all # 这句能解决90%的依赖冲突
⚠️ 玄学问题3:安装后务必验证:
import torch
print(torch.__version__) # 应该显示2.1.0
print(torch.cuda.is_available()) # 必须返回True!
五、版本对应表(2023.10最新)
PyTorch官网的版本选择器经常抽风,我整理了最新对应关系:
PyTorch | 支持Python版本 | CUDA版本 | 推荐torchvision |
---|---|---|---|
2.1.0 | 3.8-3.10 | 11.8 | 0.16.0 |
2.0.1 | 3.7-3.10 | 11.7/11.8 | 0.15.2 |
1.13.1 | 3.7-3.9 | 11.6 | 0.14.1 |
六、灵魂拷问环节
Q:我的显卡是RTX 4090该怎么选?
A:直接上PyTorch 2.1.0 + CUDA 11.8,这是目前对40系显卡支持最好的组合
Q:安装时报错Could not find a version that satisfies...
?
A:九成概率是Python版本不对!用python --version
确认后再战
Q:conda和pip混用会怎样?
A:轻则依赖冲突,重则环境爆炸!建议全程使用conda安装
七、终极验证大法
写完第一个PyTorch程序后,强烈建议运行这个测试脚本:
import torch
# 显存探测器
x = torch.randn(3,3).cuda()
print(x.device) # 应该显示cuda:0
# 性能测试(看看有没有偷用CPU)
%timeit torch.mm(x, x) # 正常应该在微秒级
八、冷知识:版本号里的秘密
PyTorch的版本号2.1.0
其实暗藏玄机:
- 第一位:主版本(重大更新)
- 第二位:功能更新
- 第三位:bug修复
所以2.0.0→2.0.1
可以随便升级,但2.0.1→2.1.0
就要谨慎了!
结语
记得去年帮学弟配环境时,因为没注意torchvision版本,结果在实验室调试到凌晨三点(别问,问就是泪)。希望这篇指南能让大家少走弯路,如果还有坑没写到——欢迎在评论区开炮!