我创建了一个深度学习虚拟机,使用一些自定义的tensorflow模型和谷歌视觉api、谷歌nlu api来运行项目。我用Debian10和tensorflow 2.4(cuda11(安装了一台机器,并选择了1个nvidia K80 GPU。我使用这个链接安装了cuda11。当我运行nvidiasmi时,我收到了一条著名的丑陋消息:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
我尝试安装cuda10或任何其他,但它根本不存在于debian:请参阅此cuda10
请告诉我如何解决这个问题!
我试图在自己的项目中重现这个错误。我安装了一个具有以下特征的VM实例:
- 机器类型:n1-标准-1
- GPU:1 x NVIDIA特斯拉K80
- 引导盘:debian-10-buster-v202001216
正如你在帖子中提到的,Linux没有驱动程序:CUDA Toolkit 10,所以我使用了这个链接中描述的步骤来安装它,安装驱动程序时遇到了一些麻烦,最后我能够重现你的问题,安装后我收到了以下消息:
$ sudo nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
我再试了一次,但现在我稍微更改了安装:
- 机器类型:n1-标准-1
- GPU:1 x NVIDIA特斯拉K80
- 引导盘:c0-common-gce-gpu-image-20200128
我这次使用的引导盘c0-common-gce-gpu-image-20200128
是一个GPU优化的Debian映像m32(带有CUDA 10.0(,一个基于Debian 9的映像,带有CUDA/CuDNN/NCCL预安装的
当我第一次通过ssh访问这个实例时,我收到了以下问题:
This VM requires Nvidia drivers to function correctly. Installation takes ~1 minute.
Would you like to install the Nvidia driver? [y/n] y
Installing Nvidia driver.
它自动安装了驱动程序。
$ sudo nvidia-smi
Thu Jan 7 19:08:06 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.104 Driver Version: 410.104 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 Off | 00000000:00:04.0 Off | 0 |
| N/A 75C P0 91W / 149W | 0MiB / 11441MiB | 100% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
我还尝试了TensorFlow图像,正如你提到的那样,你正在使用TensorFlow:c0-deeplearning-tf-1-15-cu110-v20201229-debian-10根据此图像的信息,它是一个深度学习图像:TensorFlow 1.15,m61 CUDA 110,一个基于debian-10 Linux的图像,带有TensorFlow 115(带有CUDA 110和英特尔(TM(MKL-DNN,英特尔®;MKL(,加上英特尔优化的NumPy、SciPy和scikit learn。在这种情况下,我也验证了TensorFlow的安装:
$ python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
2021-01-07 20:29:02.854218: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.11.0
Tensor("Sum:0", shape=(), dtype=float32)
而且效果很好。
因此,在安装的映像(Devian 10(和GPU类型所需的CUDA工具包(NVIDIA K80(之间似乎存在问题。
我的建议是使用深度学习虚拟机镜像,你可以在这个链接上看到完整的列表:选择镜像