You need to enable JavaScript to run this app. 运行Matterport Mask RCNN导入Keras报错兼容性问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

运行Matterport Mask RCNN导入Keras报错兼容性问题咨询

问题根因

你当前遇到的报错本质是版本匹配冲突:

  • Matterport/Mask_RCNN官方适配环境为TensorFlow 1.3+、Keras 2.0.8~2.2.4,和你安装的TensorFlow 2.5.0版本完全不兼容
  • 环境内同时存在两个冲突的Keras版本(2.2.5正式版 + 2.5.0开发版),独立Keras包尝试调用TensorFlow 2.5内部不存在的属性触发报错
解决方案

方案1:降级依赖到官方适配版本(推荐,改动最小)

适用于可以调整环境版本的场景,无需修改项目源码:

  • 先卸载所有冲突的相关包:
    pip uninstall -y keras keras-nightly tensorflow tensorflow-estimator tensorboard h5py
  • 安装官方匹配的依赖版本(注意需要Python 3.6~3.7版本支持TensorFlow 1.x):
    pip install tensorflow==1.15.0 keras==2.2.4 h5py==2.10.0
  • 验证安装是否正常:
import keras
print(keras.__version__)

输出2.2.4即为配置成功。

方案2:适配TensorFlow 2.x环境

适用于无法降级环境的场景,需要少量修改项目源码:

  • 先卸载冲突的独立Keras包:
    pip uninstall -y keras keras-nightly
  • 修改Mask_RCNN所有源码文件中的导入语句:把所有import keras替换为import tensorflow.keras as keras,所有Keras子模块导入(如from keras.layers import *)同步替换为from tensorflow.keras.layers import *格式
  • 在你自己的业务代码开头添加兼容配置:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
  • 同步修改源码中所有TensorFlow 1.x专属API调用:比如把tf.placeholder替换为tf.compat.v1.placeholder,其余TF1专属API统一添加tf.compat.v1前缀即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 09:15:03