如何使用Detectron2 .pth模型进行存储预测

问题描述

我已经在Google colab服务器免费服务器上训练了Detectron2模型。

from detectron2.engine import DefaultTrainer
from detectron2.config import get_cfg
import os

cfg = get_cfg()
cfg.merge_from_file(model_zoo.get_config_file("COCO- 
InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml"))
cfg.DATASETS.TRAIN = ("Dataset_train",)
cfg.DATASETS.TEST = ()
cfg.DATALOADER.NUM_WORKERS = 2
cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("COCO- 
InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")
cfg.SOLVER.IMS_PER_BATCH = 2
cfg.SOLVER.BASE_LR = 0.00025
cfg.SOLVER.MAX_ITER = 2800
cfg.MODEL.ROI_HEADS.NUM_CLASSES = 2
os.makedirs(cfg.OUTPUT_DIR,exist_ok=True)
trainer = DefaultTrainer(cfg) 
trainer.resume_or_load(resume=False)
trainer.train()

上面的代码创建一个“输出”文件夹,其中有4个文件: model_final.pth,metrics.json,last_checkpoint和events.out.file

model_final.pth,metrics.json,last_checkpoint and events.out.file

我可以使用此模型进行预测

cfg.MODEL.WEIGHTS = os.path.join(cfg.OUTPUT_DIR,"model_final.pth")
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5
cfg.DATASETS.TEST = ("Datset_test")
predictor = DefaultPredictor(cfg)

当colab本地会话未过期时,一切正常。

问题:

  1. 当我将输出文件夹安装在未导入模型的其他位置时。
  2. 如何使用.pth保存的模型进行预测?
  3. 如何重用受detectron2训练的模型进行预测..

解决方法

下载您的.pth文件。当您打开新的Colab运行时时,将该文件上传到本地运行时(您可以使用Google云端硬盘中的“!cp”将其快速传输到运行时),然后按照官方教程中的步骤操作:https://colab.research.google.com/drive/16jcaJoc6bCFAQ96jDe2HwtXj7BMD_-m5

您需要使用配置文件cfg.merge_from_file("YOUR CONFIG FILE")和.pth文件路径:cfg.MODEL.WEIGHTS = ("YOUR .PTH FILE,PROBABLY /CONTENT/MODEL_FINAL.PTH")

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...