【问题标题】:Training MaskRCNN on custom data issue在自定义数据问题上训练 MaskRCNN
【发布时间】:2021-05-05 02:58:51
【问题描述】:

我正在尝试在自定义的平面图数据集上训练 Mask RCNN。我正在关注 Medium 上的这篇文章: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'

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

【问题讨论】:

    标签: python mask tensor


    【解决方案1】:

    正如我们所见,需求文件没有指定确切的 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' 方法可能已被弃用或移动到安装的最新版本中的另一个类,因为这些框架已经进行了主要版本更新。请注意,与本文相关的 repo 的作者在过去两年没有更新它。甚至此 repo 所基于的原始 repo 的作者也尚未对其进行更新(原始 repo:https://github.com/matterport/Mask_RCNN)。一旦解决了当前错误,您很可能会面临更多错误。

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

    最好的做法是使用 TensorFlow 提供的官方转换工具移植代码,将 TF1.x 代码转换为 TF2.x,或者使用已转换代码的存储库。

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

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

    【讨论】:

      【解决方案2】:

      如下更改该行,

      来自:

      self.keras_model.add_metric(loss, name)
      

      到:

      self.keras_model.metrics_tensors.append(loss)
      

      【讨论】:

        猜你喜欢
        • 2017-07-27
        • 1970-01-01
        • 1970-01-01
        • 2023-01-31
        • 2017-10-09
        • 2020-04-29
        • 2017-12-11
        • 1970-01-01
        • 2021-07-08
        相关资源
        最近更新 更多