先说一下问题的产生和发现。本来建了一套conda环境,用着挺正常,后面因为实验需要安装caffe,所以又建了一套conda环境,之后
conda install -c defaults caffe-gpu
安装了conda环境,当时进了环境import caffe
可以成功没问题。然后回到第一套conda环境就出现了以下错误:
RuntimeError: Unexpected error from cudaGetDeviceCount()
然后网上查到了这篇解答,进行了相应的检查:
acsguser@weiling-vm01-Large ~> nvidia-smi (base)
Failed to initialize NVML: Driver/library version mismatch
acsguser@weiling-vm01-Large ~ [255]> dpkg -l | grep nvidia (base)
ii libnvidia-compute-515-server:amd64 515.65.01-0ubuntu0.18.04.1 amd64 NVIDIA libcompute package
ii libnvidia-container-tools 1.4.0-1 amd64 NVIDIA container runtime library (command-line tools)
ii libnvidia-container1:amd64 1.4.0-1 amd64 NVIDIA container runtime library
ii nvidia-container-runtime 3.4.2-1 amd64 NVIDIA container runtime
ii nvidia-container-toolkit 1.4.2-1 amd64 NVIDIA container runtime hook
acsguser@weiling-vm01-Large ~> cat /proc/driver/nvidia/version (base)
NVRM version: NVIDIA UNIX x86_64 Kernel Module 460.73.01 Thu Apr 1 21:40:36 UTC 2021
GCC version: gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
我们可以看到可能是因为之前安装caffe的缘故,系统里现在有515和460两套驱动,所以造成了版本不兼容的问题,我这里用的解决方法是:
sudo apt-get --purge remove "*nvidia*"
卸载了515这套驱动,之后再进入第一套conda环境可以正常运行,nvidia-smi
也不再报错。
网友评论