TensorFlow调用GPU时报错cudnn_cnn_infer64_8.dll错误码126如何解决?
问题解决方案
步骤1:验证cuDNN文件完整性
- 首先找到你解压的cuDNN文件夹,检查
bin目录下是否存在cudnn_cnn_infer64_8.dll文件 - 如果文件缺失,重新下载对应CUDA11.5版本的cuDNN v8.3安装包,避免下载过程中文件损坏
- 把cuDNN的
bin、include、lib三个目录下的文件,分别复制到CUDA安装目录的对应文件夹下,默认CUDA路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5
步骤2:配置系统环境变量
- 右键此电脑→属性→高级系统设置→环境变量→系统变量里找到
Path,点击编辑 - 确认以下两条路径已经添加,没有的话手动补上:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\libnvvp - 添加完成后点击所有窗口的确定保存,必须重启电脑让环境变量全局生效,多次安装无效大概率是未重启导致旧环境变量残留。
步骤3:解决不同运行环境的路径差异问题
你遇到的三个环境表现不一致,本质是不同启动方式加载的环境变量不一样:
- Jupyter Notebook走的是Anaconda或者对应Python虚拟环境的路径,你可以在Jupyter里运行以下代码查看当前环境的路径配置:
如果输出里没有CUDA的bin路径,就把CUDA的bin目录路径手动加到对应虚拟环境的启动配置里,或者直接把import os print(os.environ['PATH'])cudnn_cnn_infer64_8.dll复制到你当前Python环境的Scripts文件夹下。 - VS Code Notebook和直接运行Python文件的报错,也可以通过把dll复制到项目当前运行目录临时验证,如果复制后可以正常运行,即可确认是路径配置问题。
步骤4:验证版本匹配
- 确认你安装的TensorFlow版本和CUDA11.5、cuDNN8.3匹配,TensorFlow2.7及以上版本才支持CUDA11.5,你可以运行
pip show tensorflow查看版本,如果版本过低就升级到对应匹配版本。 - 可以运行以下代码验证TensorFlow是否能正常识别GPU和cuDNN:
import tensorflow as tf print(tf.config.list_physical_devices('GPU')) print(tf.test.is_built_with_cuda())
临时快速解决方案
如果上面的路径配置始终不生效,可以直接把cuDNN bin目录下的所有dll文件复制到你当前运行Python项目的工作目录下,就能直接调用到对应的库文件。
内容的提问来源于stack exchange,提问作者Hseran
相关产品推荐
相关产品推荐

