无法说服 Pytorch 与 Cuda 一起安装(Windows 11)

问题描述 投票:0回答:1

我正在尝试在 Windows 11 上使用 Anaconda3 安装带有 Cuda 的 PyTorch:

  • 我的 GPU 是 RTX 3060
  • 我的conda环境是Python3.10.13
  • nvidia-smi 输出驱动程序版本:551.23,CUDA 版本:12.4

我尝试过的:

很多文章说我不需要独立安装CUDA,所以我卸载了系统范围的版本 - 但可以预见的是,这没有什么区别。无论我尝试什么,

torch.cuda.is_available()
始终是错误的。

我认为我的结论是nVidia驱动程序必须与CUDA版本匹配,但对我来说这是违反直觉的。我一直训练自己安装最新、最好的 nVidia 驱动程序(我用我的机器玩游戏,就像我想用它进行机器学习一样)——我的理解是否正确,让 PyTorch 与 CUDA 一起工作的唯一方法是将我的 GPU 驱动程序从 551.23 降级到支持 CUDA 12.1 的驱动程序?

python windows pytorch anaconda
1个回答
0
投票

解决方案 - 查找并卸载非 CUDA torch 安装!

就我而言,该问题是由另一个系统范围内的 torch 安装引起的。在开始使用 Anaconda 之前,我有一种愚蠢的印象,认为使用普通 Python 就可以逃脱惩罚。此外,我混合使用了系统范围和用户安装的软件包 - 这是一个灾难的好方法。

@talonmies 提供了一个很棒的提示:打印出 torch.cuda.get_arch_list()

 的输出。就我而言,它是一个空列表
[]
,表明加载了错误的火炬库。

我在 Anaconda 环境之外使用常规 Python 运行 pip list,你瞧,我安装了非 cuda 火炬!我已经使用 pip 卸载了与 torch/pytorch 有关的所有内容(并注意到一些奇怪的 ~orch 残留物,我强行清除了) - 然后一切都很好。

经验教训 - 当使用 Python 做复杂的事情(例如 ML)时,总是从虚拟环境开始(Anaconda、Miniconda、VirtualEnv,等等),否则你以后会后悔的。

© www.soinside.com 2019 - 2024. All rights reserved.