我尝试运行matterport/MaskRCNN代码,但遇到以下错误
----> 6 from mrcnn.model import MaskRCNN
/usr/local/lib/python3.7/dist-packages/mrcnn/model.py in <module>()
253
254
--> 255 class ProposalLayer(KE.Layer):
256 """Receives anchor scores and selects a subset to pass as proposals
257 to the second stage. Filtering is done based on anchor scores and
AttributeError: module 'keras.engine' has no attribute 'Layer'
9条答案
按热度按时间c9x0cxw01#
我在github问题讨论中发现了这一点,它对我很有效。
您需要卸载以下组件:
并强制执行这些版本:
2admgd592#
我在运行项目时遇到了这个问题。https://github.com/matterport/Mask_RCNN
在文件www.example.com中model.py,有一行
import keras.engine as KE
我把它改成了
import keras.engine.topology as KE
个问题就消失了。
goucqfw63#
安装以下版本的tensorflow
以上操作之后,会出现一些错误,您可以通过以下步骤解决这些错误。
@错误:[模块'tensorflow'没有属性XXXXXXXX]
在
model.py
或您的代码中,使用tf.compat.v1
解析某些api,例如tf.compat.v1.Session
或import tensorflow.compat.v1 as tf
@错误:[值错误:尝试将“shape”转换为Tensor,但失败。错误:不支持None值。]
将此if-else代码块替换为:
@错误:[值错误:不支持None值。]
替换为
@错误:[属性错误:模块“keras.engine.saving”没有属性"来自hdf5_group_by_name的加载权重“]
替换为
和
替换为
参考编号:
whhtz7ly4#
这并不是严格意义上的重复,但这里也有一个类似的问题:AttributeError: module 'keras.engine' has no attribute 'input_layer'
从本质上讲,keras中的许多导入和属性错误都是因为keras会根据您使用的是CPU还是GPU或ASIC来更改其导入。有些引擎类并不是在所有情况下都能导入。
而是使用
from keras.layers import Layer
并使用该图层类代替引擎中的图层类。jvidinwx5#
对于使用
ProposalLayer(KE.Layer)
等图层的线不要使用
KE.Layer
并将
KE
的所有示例替换为KL
fcwjkofz6#
您应该写入
keras.layers
而不是www.example.com文件中导入部分
keras.engine
model.pyttp71kqs7#
在运行https://github.com/matterport/Mask_RCNN仓库的时候,我也遇到了前面提到的所有问题。几天后,我终于找到了一种运行这个仓库的方法,我想和大家分享一下:
首先,我安装了WSL 2 + Ubuntu 20.04 GUI(https://medium.com/@japheth.yates/the-complete-wsl2-gui-setup-2582828f4577),然后创建了以下环境:
需要注意的是,我已经调整了
requirements.txt
:即使基于TensorFlow 2的https://github.com/akTwelve/Mask_RCNN存储库可用,预训练的权重-自动下载或可从https://github.com/matterport/Mask_RCNN/releases检索-也会导致results不令人满意。但是,如果使用此存储库从头开始训练模型,它肯定比tf 1版本更受欢迎。尽管如此,如果意图是查看该模型在需要适当的预先训练的权重的不同数据集上工作得有多好,则TF 1版本是要与之一起使用的储存库。
olmpazwi8#
于2022年10月23日尝试并测试
后藤matterpot的掩码_RCNN/mrcnn/model.py文件
搜索KE.并替换为KL。
该代码运行良好并且能够下载COCO权重。
ljo96ir59#
我挣扎了一点与过时的Keras和Tensorflow版本在这个Mask-RCNN回购。
如果您想使用当前版本,我建议您克隆以下存储库,而不是替换行:https://github.com/akTwelve/Mask_RCNN它已更新为在tensorflow v2+和keras v2+上运行。