Spacy+GPU出现错误:GPU不可访问.库安装正确吗



以下代码给出错误:

import spacy
spacy.require_gpu()
Traceback (most recent call last):
File "/home/user/PycharmProjects/new_tsg/training/spacy_train_data/spacy_pipeline.py", line 39, in <module>
spacy.require_gpu()
File "/home/user/PycharmProjects/new_tsg/venv/lib/python3.6/site-packages/thinc/neural/util.py", line 87, in require_gpu
raise ValueError("GPU is not accessible. Was the library installed correctly?")
ValueError: GPU is not accessible. Was the library installed correctly?

我的配置是:

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:17_PST_2019
Cuda compilation tools, release 10.1, V10.1.105
GeForce RTX 2080 Driver Version: 418.39 

Spacy v 2.3.5安装了cuda 10.1支持:

pip-install—无缓存目录spacy[cuda101]

我该怎么办?

在这种情况下,我的错误是使用了由nvidia-smi而不是nvcc --version指定的CUDA版本。

您应该使用nvcc --version中指定的版本。我认为nvidia-smi表示您的GPU支持的最大可能的cuda版本,而不是您安装的实际版本。

因此,如果nvcc说您有11.1版本,那么您应该安装带有:的spacy

pip install -U spacy[cuda111]

我通过将cuda 10.1更新到最新版本来解决这个问题:CUDA Toolkit 10.1 update2 (Aug 2019)从…起https://developer.nvidia.com/cuda-toolkit-archive

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

我使用了以下命令:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda-10-1  

在上一个中,我不仅使用了cuda(就像在nvidia网站上一样(,还使用了cuda-10-1

之后,视频驱动程序更新为455.45.01

$ nvidia-smi 
Mon Dec 14 22:14:53 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.45.01    Driver Version: 455.45.01    CUDA Version: 11.1     |
... 

更新:

在另一台电脑上,我也遇到了类似的问题,之前的回答也无济于事。经过调查,我发现cupy库调用cuda。所以我安装了cupy-cuda[101]并执行了以下代码:

import cupy
a = cupy.zeros((5, 5))

得到CCD_ 11此文件在中

/usr/local/cuda-10.2/targets/x86_64-linux/lib

而不在:

/usr/local/cuda-10.1/targets/x86_64-linux/lib

因此,我将/usr/local/cuda-10.2/targets/x86_64-linux/lib路径添加到/etc/ld.so.conf.d/cuda-10-1.conf并执行ldconfig-请参阅答案

最新更新