Pytorch 找不到 CUDA 设备

Kru*_*lur 5 pytorch

我尝试在我的设置中使用 Pytorch 中的 Cuda,但无法检测到它,我很困惑为什么。

torch.cuda.is_available()
Run Code Online (Sandbox Code Playgroud)

返回False。深层发掘,

torch._C._cuda_getDeviceCount()
Run Code Online (Sandbox Code Playgroud)

返回 0。使用版本 1.5,例如

$ pip freeze | grep torch
torch==1.5.0
Run Code Online (Sandbox Code Playgroud)

我尝试编写一个小型 C 程序来执行相同的操作,例如

#include <stdio.h>
#include <cuda_runtime_api.h>

int main() {
   int count = 0;
   cudaGetDeviceCount(&count);
   printf("Device count: %d\n", count);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

打印 1,因此 Cuda 运行时显然可以找到设备。另外,运行nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21       Driver Version: 435.21       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 106...  Off  | 00000000:02:00.0  On |                  N/A |
|  0%   41C    P8     9W / 200W |    219MiB /  6075MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
Run Code Online (Sandbox Code Playgroud)

那么我的 Cuda 设备在 Python 中消失到哪里去了?

Kru*_*lur 5

我现在刚刚意识到,如果 Pytorch 对于 CUDA 的每个不同次要版本都有不同的版本,因此在我的情况下,版本torch==1.5.0显然默认为 CUDA 10.2,而特殊包torch==1.5.0+cu101可以工作。

我希望这能为其他像我一样开始阅读 PyPi 文档的人澄清问题(如果您知道在哪里查找,可以查看更多最新文档: https: //pytorch.org/get-started/locally/