Google Colab运行AlexNet.ipynb遇libcudnn.so.8缺失错误求助
问题:导入MXNet时出现
libcudnn.so.8找不到的错误 正在学习并实现AlexNet,在Google Colab笔记本中运行以下代码单元时出错:
from mxnet import init, np, npx from mxnet.gluon import nn from d2l import mxnet as d2l npx.set_np()
错误信息如下:
OSError Traceback (most recent call last) <ipython-input-9-f3fc22c8b0fb> in <cell line: 0>() ----> 1 from mxnet import init, np, npx 2 from mxnet.gluon import nn 3 from d2l import mxnet as d2l 4 5 npx.set_np() 4 frames /usr/lib/python3.11/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error, winmode) 374 375 if handle is None: ---> 376 self._handle = _dlopen(self._name, mode) 377 else: 378 self._handle = handle OSError: libcudnn.so.8: cannot open shared object file: No such file or directory
运行!ls /usr/local | grep cuda的输出为:
cuda cuda-12 cuda-12.5
解决方案
方法1:降级CUDA到11.8并安装匹配的cuDNN 8
Colab默认安装的CUDA 12.x与MXNet依赖的libcudnn.so.8不兼容,需降级到CUDA 11.x版本并安装对应cuDNN:
- 卸载现有CUDA组件并安装CUDA 11.8:
# 卸载现有CUDA相关内容 !apt-get --purge remove cuda nvidia* libnvidia-* !dpkg -l | grep cuda- | awk '{print $2}' | xargs -n1 dpkg --purge !apt-get remove cuda-* !apt autoremove !rm -rf /usr/local/cuda* # 下载并安装CUDA 11.8 !wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run !sudo sh cuda_11.8.0_520.61.05_linux.run --override --silent --toolkit # 设置环境变量 !echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc !echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc !source ~/.bashrc
- 安装适配CUDA 11.x的cuDNN 8.7.0:
!wget https://developer.download.nvidia.com/compute/cudnn/8.7.0/local_installers/cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz !tar -xvf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz !sudo cp -P cudnn-linux-x86_64-8.7.0.84_cuda11-archive/include/cudnn*.h /usr/local/cuda-11.8/include !sudo cp -P cudnn-linux-x86_64-8.7.0.84_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64 !sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*
- 重新安装适配CUDA 11.8的MXNet版本:
!pip install mxnet-cu118
完成后重启Colab运行时,再执行原导入代码即可。
方法2:使用CPU版本的MXNet(简易但性能受限)
若无需GPU加速,可直接安装CPU版本的MXNet:
!pip uninstall mxnet -y !pip install mxnet
内容的提问来源于stack exchange,提问作者Gajji3107
相关产品推荐
相关产品推荐

