【问题标题】:How to save a MASK RCNN model after training?训练后如何保存 MASK RCNN 模型?
【发布时间】:2019-11-17 09:54:23
【问题描述】:

我正在使用 matterport 存储库在自定义数据集上训练 MASK RCNN。我在训练中取得了成功。现在我想保存经过训练的模型并在 Web 应用程序中使用它来检测对象。训练后如何保存 mask rcnn 模型?请指导我。

仓库的链接:

https://github.com/matterport/Mask_RCNN

【问题讨论】:

  • 您是在寻找保存的权重还是训练后的模型架构?
  • 模型架构

标签: python keras deep-learning computer-vision


【解决方案1】:

基于this discussion on GitHubmatterport/Mask RCNN 的训练模型或权重似乎可以以类似于通过标准 Keras 训练的方式保存为 JSON 文件em>:

import keras
import json

def save_model(trained_model, out_fname="model.json"):
    jsonObj = trained_model.keras_model.to_json()
    with open(out_fname, "w") as fh:
        fj.write(jsonObj)
 
save_model(model, "mymodel.json")

更新:如果您遇到与线程类对象相关的错误,您可能会发现this post 很有帮助...

【讨论】:

    【解决方案2】:

    在“加载模型”主题下的 Inspect_model.ipynb 笔记本中,您可以在它以推理模式加载模型后保存它。

    【讨论】:

      【解决方案3】:

      在文件夹 Mask_RCNN/logs 里面生成一个文件夹

      【讨论】:

      • OP 询问如何保存模型拱门,而不是权重。在每个时期都保存权重的情况下,您的答案是正确的。
      【解决方案4】:

      我不确定我们是否真的需要再次保存整个模型,因为通常当我们使用 matterport git 时,我们只是在现有架构上训练新的权重,而不对架构进行更改。当我们将它用于宠物项目时,后期训练 - 我们将新模型定义为 MASK RCNN 对象(来自 mrcnn.model 导入 MaskRCNN),参数模式作为推理,然后加载新训练的权重 model.load_weights('', by_name=True)

      【讨论】:

        猜你喜欢
        • 2022-06-23
        • 1970-01-01
        • 1970-01-01
        • 2021-08-30
        • 2016-02-18
        • 2018-02-04
        • 2020-07-25
        • 2020-03-31
        相关资源
        最近更新 更多