Windows环境下transformers与Keras兼容报错:No module named 'keras.engine'
解决transformers与Keras3.x版本不兼容导致的
No module named 'keras.engine'错误 问题根源
transformers 4.25.1的代码逻辑依赖旧版Keras(Keras 2.x系列)的模块结构,其中包含对keras.engine的直接引用;而Keras 3.4.1是完全重构后的版本,已移除该旧模块结构,两者版本不匹配导致导入失败。
可行解决方案
降级Keras到兼容版本
给transformers 4.25.1搭配适配的Keras 2.x版本,推荐降级到Keras 2.15.0,执行命令:pip install keras==2.15.0升级transformers至支持Keras3的版本
transformers从4.30.x版本开始正式支持Keras3,升级到较新版本即可解决模块引用问题,执行命令:pip install --upgrade transformers临时应急补丁(不推荐长期使用)
若无法调整版本,可手动修改transformers/utils/import_utils.py及相关文件中引用keras.engine的代码,将其替换为Keras3对应的模块路径(如keras.src.engine),但此方法可能引发其他兼容问题,仅作临时应急用。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

