Python 培训后如何保存掩码RCNN模型?

Python 培训后如何保存掩码RCNN模型?,python,keras,deep-learning,computer-vision,Python,Keras,Deep Learning,Computer Vision,我正在使用matterport存储库在自定义数据集上训练掩码RCNN。我在训练中取得了成功。现在我想保存经过训练的模型,并在web应用程序中使用它来检测对象。培训后如何保存掩码rcnn模型?请引导我 存储库的链接: 在笔记本的“加载模型”主题下,您可以在以推理模式加载模型后将其保存 在“加载模型”主题下的笔记本中,您可以在以推理模式加载模型后将其保存 在文件夹Mask\u RCNN/logs中生成文件夹在文件夹Mask\u RCNN/logs中生成文件夹基于,matterport/Mask RC

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

存储库的链接:


在笔记本的“加载模型”主题下,您可以在以推理模式加载模型后将其保存

在“加载模型”主题下的笔记本中,您可以在以推理模式加载模型后将其保存

在文件夹Mask\u RCNN/logs中生成文件夹

在文件夹Mask\u RCNN/logs中生成文件夹

基于,matterport/Mask RCNN的经过训练的模型或权重可以以类似于通过标准Keras训练的方式保存为JSON文件:

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

基于,matterport/Mask RCNN的经过训练的模型或权重可以以类似于通过标准Keras训练的方式保存为JSON文件:


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

我不确定我们是否真的需要再次保存整个模型,因为通常在使用matterport git时,我们只需在现有架构上训练新权重,而不会对架构进行更改。当我们将其用于pet项目后训练时,我们将一个新模型定义为掩码RCNN对象(来自mrcnn.model import MaskRCNN),参数模式为推断,然后加载新训练的权重模型。加载权重(“”,by_name=True)

我不确定我们是否真的需要再次保存整个模型,因为通常在使用matterport git时,我们只是在现有体系结构上训练新的权重,而不对体系结构进行更改。当我们将其用于pet项目后训练时,我们将一个新模型定义为掩码RCNN对象(来自mrcnn.model import MaskRCNN),参数模式为推断,然后加载新训练的权重模型。加载权重(“”,by_name=True)

您是在寻找保存的权重还是训练后的模型体系结构?模型体系结构您是在寻找保存的权重还是训练后的模型体系结构?模型体系结构OP询问如何保存模型结构,而不是权重。你的答案在每个历元保存权重的情况下都是正确的。OP询问如何保存模型拱门,而不是权重。你的答案是正确的,因为在每个时代都要保存重量。
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")