基于PyTorch2.0镜像升级至2.1.1后运行模型遇libcudnn错误求助
PyTorch 2.1.1升级后libcudnn加载失败的解决方案
问题本质
这个错误是CUDA与cuDNN版本不匹配导致的。PyTorch 2.1.1对CUDA和cuDNN版本有明确要求,仅升级PyTorch而保留旧版cuDNN会出现符号缺失,当前无法正常运行模型,必须修复依赖版本问题。
解决方法
匹配对应版本的cuDNN
PyTorch 2.1.1官方推荐搭配CUDA 11.8或12.1,对应cuDNN版本需满足:- CUDA 11.8 → cuDNN 8.7.0及以上
- CUDA 12.1 → cuDNN 8.9.2及以上
通过conda安装匹配版本:
# CUDA 11.8环境 conda install cudnn=8.7.0 -c conda-forge # CUDA 12.1环境 conda install cudnn=8.9.2 -c conda-forge安装完成后重启Python环境再运行模型。
重新安装带对应CUDA的PyTorch 2.1.1
直接安装官方预编译的包含适配CUDA、cuDNN的PyTorch包,避免手动版本冲突:# 适配CUDA 11.8 pip3 install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118 # 适配CUDA 12.1 pip3 install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu121回退到兼容版本组合
若暂时不想调整CUDA/cuDNN环境,可回退PyTorch到与原有cuDNN兼容的版本(如PyTorch 2.0对应cuDNN 8.6.0):pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118
错误链说明
最初的libcudnn_cnn_train.so.8符号缺失是问题根源,导致PyTorch自动求导时无法找到CUDA执行引擎,进而抛出RuntimeError: FIND was unable to find an engine to execute this computation,因此必须优先解决cuDNN版本匹配问题。
内容的提问来源于stack exchange,提问作者Tulsi Shah
相关产品推荐
相关产品推荐

