You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PyCharm中PyTorch无法调用CUDA的问题求助

PyCharm中PyTorch无法调用CUDA的问题求助

我来帮你一步步排查和解决这个问题,先别着急~

首先得纠正一个认知:你说的Anaconda里“设置CUDA为内核”,本质上是让项目关联了一个提前配置好对应CUDA版本PyTorch的虚拟环境,PyCharm里并没有“直接选CUDA内核”的选项,核心是要让项目用对正确的Python解释器。下面是具体排查步骤:

1. 先确认CUDA和PyTorch的版本匹配

这是最常见的坑,版本不匹配直接导致CUDA无法调用:

  • 先查你本地装的CUDA版本:打开Windows命令提示符,输入nvcc --version,看输出里的release版本(比如release 12.1, V12.1.105

  • 再查当前PyCharm用的PyTorch是否支持这个CUDA版本:在PyCharm的Python控制台输入以下代码:

    import torch
    print(torch.version.cuda)
    

    如果输出是None,说明你装的是CPU版PyTorch;如果版本和你本地的CUDA版本不兼容(比如你装了CUDA12.1,但PyTorch的CUDA版本是11.8),那就要重装PyTorch。

    重装的话,打开命令提示符(要切换到你项目用的Python环境),用对应CUDA版本的安装命令,比如CUDA12.1的话用:

    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
    

    (注意:这里的命令要和你的CUDA版本严格对应,比如cu121对应CUDA12.1,cu118对应11.8)

2. 检查PyCharm使用的Python解释器

这是关键!PyCharm默认可能用了系统Python或者没配置CUDA的环境,必须切换到正确的环境:

  • 打开PyCharm,点击顶部菜单栏的FileSettings(Windows/Linux),Mac的话是PyCharmSettings
  • 找到Project: [你的项目名称]Python Interpreter
  • 点击右上角的小齿轮 → Add,然后选择你要的环境:
    • 如果是用Anaconda的虚拟环境,直接选C:\Users\你的用户名\anaconda3\envs\你的环境名\python.exe
    • 如果是用venv虚拟环境,选项目目录下venv\Scripts\python.exe
  • 选好后点击OK,重启PyCharm的控制台或者重新运行代码。

3. 卸载多余的CUDA相关包

你之前装的cuda-pythonnvidia-cuda-runtime-cu12其实没必要,PyTorch本身已经自带了所需的CUDA运行时库,装了反而可能冲突:

  • 在PyCharm的Python Interpreter页面,找到这两个包,点击减号-卸载
  • 或者在项目的终端输入:
    pip uninstall cuda-python nvidia-cuda-runtime-cu12 -y
    

4. 验证CUDA是否可用

做完上面的步骤后,在PyCharm的Python控制台输入以下代码验证:

import torch
print(torch.cuda.is_available())
print(torch.cuda.device_count())
print(torch.cuda.get_device_name(0))

如果输出True,并且能显示你的显卡名称(比如NVIDIA GeForce RTX 3060),就说明成功了!

5. 额外排查点(如果上面都没解决)

  • 确认你的显卡支持CUDA:打开设备管理器,看显示适配器里的显卡是NVIDIA的,且属于CUDA支持的型号(比如GTX 10系列及以上,或者专业级Tesla/Quadro卡)
  • 更新NVIDIA驱动:打开NVIDIA GeForce Experience,把驱动更到最新版本,旧驱动可能不兼容新的CUDA版本
  • 检查系统环境变量:确保系统的Path变量里有CUDA的路径,比如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\binC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp(把v12.1换成你的CUDA版本号)

如果还有问题,可以把你查的CUDA版本、PyTorch的CUDA版本、显卡型号这些信息补充上来,我再帮你看~

火山引擎 最新活动