Как использовать модель Detectron2 .pth для прогнозирования из хранилища ..?

Я обучил модель Detectron2 на бесплатном сервере google colab server.

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()

Этот код выше создает папку "output", в которой у меня есть 4 файла:model_final.pth, metrics.json, last_checkpoint и 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 для прогнозирования..?

1 ответ

Загрузите ваш файл.pth. Когда вы открываете новую среду выполнения Colab, загрузите этот файл в локальную среду выполнения (вы можете использовать "! Cp" с Google Диска в среду выполнения для быстрой передачи файла.pth), а затем следуйте инструкциям в официальном руководстве: 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")

Другие вопросы по тегам