Python3.8环境安装Keras时CUDA版本识别异常求助
解决Keras安装时的CUDA版本冲突问题
我来帮你梳理清楚核心问题和解决步骤——你的GTX970显卡是关键限制因素,先搞明白这点就能解决大部分冲突了:
1. 先搞懂为什么会报错
你的GTX970属于Maxwell架构,Compute Capability是5.2,而NVIDIA从CUDA 11.0开始就停止支持Compute Capability 5.x的显卡了。你之前安装CUDA 11.0的操作,导致conda环境里残留了对__cuda==11.0的依赖要求,哪怕你卸载了CUDA 11.0,这些依赖引用还留在环境里,所以才会一直报不兼容的错误。
2. 彻底清理CUDA 11.0的所有残留
先把系统里和CUDA 11.0相关的痕迹清干净:
- 打开「控制面板」→「程序和功能」,卸载所有带「CUDA 11.0」字样的程序(包括CUDA Toolkit、补丁、cuDNN相关组件,如果有的话)
- 检查系统环境变量:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,删除
CUDA_PATH_V11_0这类变量,同时把Path里指向CUDA 11.0的路径条目删掉 - 手动删除磁盘上的CUDA 11.0安装目录(默认是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0)
3. 确认CUDA 10.1环境的完整性
你的显卡最高支持到CUDA 10.2,你已经装了适配的CUDA 10.1,现在要确保它配置正确:
- 检查环境变量:确保
CUDA_PATH指向C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1,且Path里包含%CUDA_PATH%\bin和%CUDA_PATH%\libnvvp - 安装对应版本的cuDNN:下载cuDNN 7.6.5(专门适配CUDA 10.1),解压后把
bin、include、lib文件夹里的文件,分别复制到CUDA 10.1的对应目录下 - 验证CUDA是否正常:打开命令提示符,输入
nvcc --version,应该显示CUDA 10.1的版本信息
4. 创建干净的Anaconda虚拟环境
原有环境已经被CUDA 11.0的依赖污染了,最好新建一个专门的环境来装Keras:
# 创建Python 3.7的环境(Keras 2.x对Python 3.7兼容性更好,适配CUDA 10.1) conda create -n keras_env python=3.7 # 激活这个环境 conda activate keras_env
5. 安装适配的TensorFlow(自带Keras)
现在Keras已经集成在TensorFlow里了,安装适配CUDA 10.1的TensorFlow-GPU版本就行:
# 安装TensorFlow-GPU 2.3.0,conda会自动处理所有依赖匹配 conda install tensorflow-gpu=2.3.0 # 验证GPU是否能被识别 python -c "import tensorflow as tf; print(tf.test.is_gpu_available())"
如果输出True,说明GPU配置成功,之后直接用from tensorflow import keras就能调用Keras了。
6. 在PyCharm中配置这个虚拟环境
打开PyCharm后:
- 点击「File」→「Settings」→「Project: 你的项目名」→「Python Interpreter」
- 点击右上角的齿轮图标,选择「Add」→「Conda Environment」→「Existing environment」
- 找到Anaconda安装目录下的
envs\keras_env\python.exe,选中后点击「OK」,就可以在PyCharm里用这个配置好的环境了
额外提醒
千万不要再尝试安装CUDA 11.0及以上版本,你的显卡根本不支持,只会导致更多依赖冲突。如果之后还有问题,可以把conda安装时的完整报错日志贴出来,方便进一步排查。
内容的提问来源于stack exchange,提问作者ItsEveNow
相关产品推荐
相关产品推荐

