以下代码给出错误:
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
-请参阅答案