导入keras 2.2.4报错:generic_utils无populate_dict_with_module_objects属性
报错根本原因
你当前安装的Keras 2.2.4属于适配TensorFlow 1.x的旧版本,和你环境中的TensorFlow 2.5.0版本不兼容,二者底层接口存在差异,才会触发工具类属性缺失的报错。
解决方案
提供两种可选择的修复路径,按需选择即可:
路径1:保留Keras 2.2.4版本
如果你的训练代码依赖Keras 2.2.4的旧特性,降级TensorFlow到适配版本即可,Keras 2.2.4的官方适配TensorFlow版本范围为1.13~1.15。
操作命令如下:
- 先卸载当前环境中的不兼容版本
pip uninstall -y tensorflow keras
- 安装匹配版本
pip install tensorflow==1.15.0 keras==2.2.4
注:TensorFlow 1.15最高支持Python 3.7,你当前使用的Python 3.7版本符合要求,无需调整Python版本。
路径2:保留TensorFlow 2.5.0版本
如果不需要强制使用Keras 2.2.4,直接使用TensorFlow 2.x内置的Keras即可,无需单独安装Keras包:
- 先卸载单独安装的旧版Keras
pip uninstall -y keras
- 修改代码中的导入语句
将原有的import keras统一替换为:
import tensorflow.keras as keras
原有基于Keras的代码逻辑基本不需要修改即可正常运行。
内容的提问来源于stack exchange,提问作者Dexter
相关产品推荐
相关产品推荐

