导入keras.layers.core的Activation时触发get_config导入错误如何解决
报错根因
这个ImportError是独立Keras版本与当前TensorFlow版本不兼容导致的,独立Keras已经停止官方维护,目前官方推荐直接使用TensorFlow内置的tf.keras,你仅修改代码中部分导入语句没用的核心原因是环境中还安装了独立Keras包,导入时优先调用了独立Keras的库文件,触发了版本兼容问题。
具体解决步骤
- 先彻底卸载环境中的独立Keras包:
若使用pip管理包,执行:pip uninstall keras -y
若使用conda管理包,执行:conda remove keras -y - 统一修改代码中所有Keras相关的导入路径:
把所有keras.开头的导入全部替换为tensorflow.keras.开头,比如你报错里的from keras.layers.core import Activation要改为from tensorflow.keras.layers import Activation(新版本tf.keras不需要加core层级,直接从layers下导入对应类即可) - 若操作完上述两步仍报错,可安装版本兼容性更高的TensorFlow稳定版本:
执行命令:pip install tensorflow==2.10,该版本的内置tf.keras接口完善,不会出现get_config导入缺失的问题 - 验证修复结果:执行命令
python -c "from tensorflow.python.eager.context import get_config; print('环境适配成功')",无报错则说明问题已解决
注意事项
不要同时在环境中安装独立Keras和TensorFlow,二者会出现导入优先级冲突,后续开发优先使用TensorFlow内置的
tf.keras,所有功能和原独立Keras完全一致,不需要修改业务逻辑代码,仅需调整导入路径即可。
内容的提问来源于stack exchange,提问作者jerome
相关产品推荐
相关产品推荐

