Warm tip: This article is reproduced from serverfault.com, please click

python-对MaskRCNN进行有关自定义数据问题的培训

(python - Training MaskRCNN on custom data issue)

发布于 2020-12-27 12:22:26

我正在尝试在平面图的自定义数据集中训练Mask RCNN。我正在中型网站上关注此文章,以做到这一点:https : //medium.com/analytics-vidhya/a-simple-guide-to-maskrcnn-custom-dataset-implementation-27f7eab381f2

在注释格式和软件包方面遇到了一些问题之后,我开始进行模型训练。但是,我偶然发现了以下错误代码:

Traceback (most recent call last):
  File "custom.py", line 391, in <module>
    train(model)
  File "custom.py", line 222, in train
    layers='heads')
  File "C:...\Custom_MaskRCNN-master\mrcnn\model.py", line 2356, in train
    self.compile(learning_rate, self.config.LEARNING_MOMENTUM)
  File "C:...\Custom_MaskRCNN-master\mrcnn\model.py", line 2201, in compile
    self.keras_model.add_metric(loss, name)
AttributeError: 'Model' object has no attribute 'add_metric'

我找不到有关此错误的任何信息,希望有人可以提供帮助或提供有关如何解决此问题的指示。

Questioner
Sam V
Viewed
11
Swishonary 2020-12-27 22:30:49

如我们所见,需求文件未指定确切的TF&Keras版本,而仅指定了下限。

#requirements.txt
numpy
scipy
Pillow
cython
matplotlib
scikit-image
tensorflow>=1.3.0
keras>=2.0.8
opencv-python
h5py
imgaug
IPython[all]

创建环境时,将安装TensorFlow&Keras的最新版本。由于已对这些框架进行了重大的版本更新,因此可能不建议使用“ add_metric”方法或将其移至已安装的最新版本中的另一个类。请注意,与本文相关联的回购协议的作者在过去两年中尚未更新。甚至是此存储库所基于的原始存储库的作者,都尚未对其进行更新(原始存储库:https : //github.com/matterport/Mask_RCNN)。一旦解决了当前的错误,你很可能将面临更多的错误。

解决此问题的一种方法是将TF和Keras版本降级(tensorflow降至1.3.0,keras降至2.0.8可以解决)。

最好的做法是使用TensorFlow提供的官方转换工具来移植代码,以将TF1.x代码转换为TF2.x或使用已经转换了代码的回购协议。

具有更新的TF和Keras的MaskRCNN Repo:https : //github.com/ahmedfgad/Mask-RCNN-TF2

希望对你有所帮助!干杯:)