Conda环境下Keras配置异常:已设Tensorflow后端却默认使用Theano
嘿,我之前也踩过这个一模一样的坑,咱们一步步来排查解决:
排查与解决步骤
1. 先确认你修改的是当前conda环境对应的keras.json
很多人会不小心修改全局配置文件,但conda环境有自己独立的配置路径。你可以在激活目标环境后,运行这段Python代码找到Keras实际读取的配置文件位置:
from keras import backend print(backend.keras_config_path())
打开输出的路径对应的文件,确认里面的"backend": "tensorflow"是否正确设置——别改了半天改的是全局的配置,当前环境根本没用到!
2. 清理残留的Theano相关文件或依赖
如果之前用过Theano,可能会有残留的配置或缓存干扰:
- 删除Keras的缓存目录,一般在
~/.keras/cache/,直接删掉整个文件夹就行。 - 检查当前conda环境里是不是不小心装了Theano,有的话先卸载:
conda remove theano -y
3. 检查隐性的环境变量设置
虽然你说没手动设KERAS_BACKEND,但有时候conda的环境激活脚本或者你的shell配置文件(比如.bashrc、.zshrc)里可能偷偷加了这个变量。激活环境后运行下面的命令检查:
echo $KERAS_BACKEND
如果输出是theano,就去对应的配置文件里删掉那行设置,然后重新激活环境。
4. 重装Keras确保版本兼容
有时候版本不匹配也会导致这种异常,你可以先卸载当前的Keras,再重新安装适配TensorFlow的版本:
conda remove keras -y conda install keras tensorflow -y
要是conda源的版本不对,也可以用pip安装(记得加--no-cache-dir避免缓存问题):
pip uninstall keras -y pip install keras --no-cache-dir
5. 验证是否生效
完成上面的步骤后,重新打开Python终端,导入后端验证:
from keras import backend as K print(K.backend())
如果输出是tensorflow,问题就解决啦!
内容的提问来源于stack exchange,提问作者GuillaumeA
相关产品推荐
相关产品推荐

