配置CUDA后tensorflow-gpu 2.4.0缺失cusolver64_10.dll运行报错
问题根因
强行重命名不同版本的CUDA动态库是导致报错的核心原因,cusolver64_10.dll是CUDA 11.0版本的专属文件,你当前安装的CUDA 10/11非11.0子版本均不包含该文件,版本不匹配导致cuBLAS算子库初始化失败,后续的NotFoundError、参数类ValueError均为GPU环境异常引发的连锁报错,和你的代码输入、路径配置无关。
修复步骤
- 完全卸载当前系统内所有版本的CUDA Toolkit、cuDNN、NVIDIA显卡驱动,重启设备避免多版本残留冲突。
- 安装与tensorflow-gpu==2.4.0严格匹配的GPU依赖:
- NVIDIA显卡驱动版本≥450.x(CUDA 11.0的最低驱动要求)
- 安装CUDA Toolkit 11.0官方安装包,安装完成后确认系统环境变量
Path中已添加CUDA 11.0的bin、libnvvp目录路径 - 下载cuDNN v8.0.5 for CUDA 11.0压缩包,将包内的
bin、include、lib三个文件夹直接覆盖到CUDA 11.0的安装根目录下
- 重置Python依赖环境,清除残留冲突包:
- 执行批量卸载命令:
pip uninstall -y tensorflow tensorflow-gpu keras h5py opencv-python opencv-python-headless imageai - 依次安装匹配版本的依赖:
pip install tensorflow-gpu==2.4.0 pip install keras==2.4.3 pip install h5py==2.10.0 pip install opencv-python==4.5.5.62 pip install imageai==2.1.6
- 执行批量卸载命令:
- 执行验证代码确认环境正常:
输出结果包含import tensorflow as tf # 验证GPU是否可识别 print(tf.test.is_gpu_available()) # 打印所有可用GPU设备 print(tf.config.list_physical_devices('GPU'))True和对应GPU设备信息即为配置完成,此时再运行RetinaNet检测代码即可正常执行GPU推理。
内容的提问来源于stack exchange,提问作者Josip Maričević
相关产品推荐
相关产品推荐

