You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现mRCNN时遇Keras 2.0环境下‘No module named keras.engine’错误求助

解决Mask RCNN搭配Keras 2.0时keras.engine模块找不到的问题

问题根源

你使用的Mask RCNN 2.1版本是基于旧版Keras API编写的,而Keras 2.x版本调整了keras.engine下的模块结构,导致导入路径不匹配,触发ModuleNotFoundError。

可行解决方案

1. 安装兼容版本的Keras和TensorFlow

Mask RCNN 2.1对Keras 2.2.5及以下版本适配性更好,同时需要搭配TensorFlow 1.x版本(推荐1.15.0),执行以下命令安装:

pip install keras==2.2.5 tensorflow==1.15.0

2. 修改Mask RCNN源码的导入语句

如果不想降级依赖,可以手动修改mrcnn/model.py中第23行的导入代码:

  • 找到原导入from keras.engine import ...的语句
  • 根据导入的具体模块替换为Keras 2.x的正确路径,例如:
    # 若导入Layer
    from keras.engine.base_layer import Layer
    # 若导入Input
    from keras.engine.input_layer import Input
    

3. 使用适配新版Keras的Mask RCNN修改版本

可以寻找社区维护的、适配Keras 2.x的Mask RCNN分支,替换当前安装的mask_rcnn包。

内容的提问来源于stack exchange,提问作者warren briggs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 12:20:54