You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

conda环境装cudatoolkit/cudnn后PyTorch仍用CPU问题咨询

CUDA与PyTorch环境配置问题

环境信息

Conda环境中已安装的CUDA相关包:

(my_project_env) C:\Users...\pythonProject3\>conda list cudatoolkit

# packages in environment at C:\ProgramData\anaconda3\envs\my_project_env:

# 

# Name                    Version                   Build  Channel

cudatoolkit               11.8.0               hd77b12b_0
(my_project_env) C:\Users...\pythonProject3\>conda list cudnn

# packages in environment at C:\ProgramData\anaconda3\envs\my_project_env:

# 

# Name                    Version                   Build  Channel

cudnn                     8.9.2.26               cuda11_0

程序运行输出:

(my_project_env) C:\Users\Oliver\PycharmProjects\pythonProject3\>python asfdsfg.py
Using device: cpu

测试代码(asfdsfg.py):

import torch
import torch.nn as nn

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print("Using device:", device)
print(torch.cuda.get_arch_list())

系统级CUDA信息:

本地安装的CUDA Toolkit版本为12.2,路径为:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2

问题分析与解决

1. PyTorch未识别CUDA的核心原因

PyTorch的CUDA支持不依赖系统级的CUDA Toolkit(12.2),而是需要与自身编译版本匹配的cudatoolkit。你当前的问题大概率是PyTorch版本不对:要么装的是纯CPU版,要么是基于其他CUDA版本编译的,和conda环境里的11.8不兼容。

2. 排查与修复步骤

  • 先验证PyTorch绑定的CUDA版本:
    在conda环境中执行命令:
    python -c "import torch; print(torch.version.cuda)"
    
    如果输出为None或不是11.8,说明PyTorch是CPU版,需要重装对应CUDA版本的PyTorch。
  • 重装适配CUDA 11.8的PyTorch:
    conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
    
    这个命令会自动安装与cudatoolkit 11.8匹配的PyTorch版本,无需手动调整其他依赖。

3. 让conda环境识别本地新版cudnn的方法

Conda环境默认优先使用自身安装的cudnn,要切换到本地的12.2版本cudnn,需按以下步骤操作:

  • 先卸载conda环境中的cudnn:
    conda remove cudnn
    
  • 将本地cudnn的库路径添加到系统环境变量PATH中(Windows系统):
    路径示例:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\lib\x64,确保该路径在conda环境的库路径之前。
  • 重装适配CUDA 12.x的PyTorch:
    本地12.2的cudnn需要PyTorch支持CUDA 12.x,目前稳定版PyTorch支持到12.1(可兼容12.2),执行命令:
    conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
    

4. 额外注意事项

  • 系统级CUDA Toolkit主要用于编译自定义CUDA程序,PyTorch运行时使用的是conda环境内的cudatoolkit(或PyTorch自带的CUDA库),两者版本无需一致。
  • 检查显卡驱动版本:CUDA 11.8要求驱动版本≥450.80.02,CUDA 12.2要求≥525.60.13,驱动版本不足也会导致torch.cuda.is_available()返回False。

内容的提问来源于stack exchange,提问作者Oliver Bai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:17:49