我想在我的计算机上使用PyTorch及其GPU计算。
我有一台运行Ubuntu 17.10的计算机。电脑(Alienware m17x)有两张显卡:
为了安装PyTorch,我按照PyTorch网站pytorch.org上的说明进行操作
1)我用deb文件安装了CUDA 9:https://developer.nvidia.com/cuda-downloads
=> Linux/x86_64/Ubuntu/17.04/deb (local)
2)我使用conda命令行安装了Pytorch:conda install pytorch torchvision cuda90 -c pytorch
这两个步骤都没有给我带来任何类型的错误。
我重新启动了电脑。显然,检测到两张卡片:
$ lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF114M [GeForce GTX 675M] (rev a1)
但显然驱动程序或CUDA本身存在问题。 nvidia-detector不会给我任何回报:
$ nvidia-detector
none
并且pytorch不能使用cuda:
[1]: import torch
In [2]: torch.cuda.is_available()
Out[2]: False
你可以帮帮我吗?如有必要,我可以提供额外的信息,但我不确定什么是相关的。
你不需要安装cuda来使用带有pytorch的GPU,如果你安装这样的pytorch:pytorch二进制文件包括所有必要的cuda库。
因此,安装pytorch时选择哪种cuda版本并不重要。通常人们可能会想要最新版本,但是在需要使用旧GPU的情况下,旧的cuda版本附带的pytorch二进制文件可能是唯一仍然支持GPU的版本。
如果没有检测到GPU,那么这可能与CUDA库无关,而与内核驱动程序无关。确保您的系统安装了最新的经过测试的NVIDIA专有内核驱动程序。
可能有点令人困惑的是,可以在任何系统上安装具有cuda支持的pytorch二进制文件,包括没有GPU或GPU但没有安装系统驱动程序的系统。这很好,直到你尝试实际使用GPU并调用.cuda()
1.如果您有两个gpus,请不要使用CUDA deb文件。请改用运行文件,因为在询问是否安装openGL和x-server选项时需要选择N.
2.更重要的是,Cuda 9.0不支持17.10。 Cuda 9.0仅支持ubuntu 17.04和16.04
3.Only cuda 9.2支持ubuntu 17.10 qazxsw poi
4.请务必仔细阅读linux的安装指南。我在这里写了一个相关的答案。 https://developer.nvidia.com/cuda-92-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1710