Python 3.13环境下PyTorch 2.8 CUDA支持问题:GPU检测失败报错AssertionError
我之前折腾新Python版本的时候也踩过一模一样的坑,尤其是Python刚出大版本(比如3.13)的时候,PyTorch的CUDA适配确实会慢半拍,给你捋清楚问题根源和实打实的解决办法:
问题根源
你碰到的AssertionError: Torch not compiled with CUDA enabled本质上只有两种可能:要么你装的是纯CPU版本的PyTorch,要么当前PyTorch 2.8稳定版还没针对Python3.13做CUDA编译适配。你说别人能用,大概率是他们要么用了Python3.12及以下的稳定版本(PyTorch对这些版本的CUDA支持非常成熟),要么装了PyTorch的预览版来适配3.13。
具体解决步骤
1. 先确认当前PyTorch的CUDA状态
先跑这段代码,把当前安装的PyTorch底裤扒得明明白白:
import torch print(torch.__version__) print(torch.version.cuda)
如果torch.version.cuda输出的是None或者空值,那百分百是装了纯CPU版,直接跳到下一步重新安装就行。
2. 选适配方案(二选一,按需挑)
方案一:降级Python到稳定兼容版本(最稳妥,首推)
Python3.13属于刚推的新版本,PyTorch 2.8稳定版还没跟上它的CUDA适配节奏。你可以把Python降级到3.12(目前PyTorch稳定版对这个版本的CUDA支持拉满),操作步骤:
- 先卸载现有PyTorch,避免残留冲突:
pip uninstall torch torchvision torchaudio -y - 安装对应你显卡CUDA版本的PyTorch,比如你的显卡支持CUDA 12.1,直接用这个命令:
(注:安装时会自动匹配对应CUDA版本的包,前提是你已经装了最新的显卡驱动)pip install torch torchvision torchaudio
方案二:坚持用Python3.13,装PyTorch预览版
如果你不想动Python版本,就试试PyTorch的nightly预览版——这个版本专门提前适配新Python版本,已经支持3.13+CUDA了:
- 同样先卸载现有PyTorch:
pip uninstall torch torchvision torchaudio -y - 安装预览版(对应CUDA 12.1的示例命令):
pip install --pre torch torchvision torchaudio
3. 验证安装结果
重新跑你的检测代码,看是不是成功唤醒GPU了:
import torch print(torch.cuda.is_available()) print(torch.cuda.get_device_name(0))
如果输出True加上你的显卡型号,就说明CUDA已经搞定了!之后训练模型时只要加一行device = torch.device("cuda" if torch.cuda.is_available() else "cpu"),把模型和数据都移到这个device上,就能享受GPU飞一般的训练速度了。
额外碎碎念
- 安装前一定要更显卡驱动!驱动版本必须和你要装的CUDA版本匹配,比如CUDA 12.1需要驱动版本≥530.30.02
- 如果你用conda环境,记得先激活对应环境再执行命令,别装到全局Python里白忙活
- 要是装完还是有问题,重启下Python解释器或者IDE,有时候缓存会搞鬼
我之前就是降级到3.12一次就成了,你可以先试试方案一,稳得很~




