0

我有工作实例分割,我正在使用“mask_rcnn_R_101_FPN_3x”模型。当我推断图像时,GPU 上大约需要 3 秒/图像。我怎样才能更快地加快速度?

我在 Google Colab 中编码

这是我的设置配置:

cfg = get_cfg()

cfg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_101_FPN_3x.yaml"))

cfg.MODEL.ROI_HEADS.NUM_CLASSES = 1 

cfg.OUTPUT_DIR = "/content/drive/MyDrive/TEAM/save/"

cfg.DATASETS.TRAIN = (train_name,)
cfg.DATASETS.TEST = (test_name, )
cfg.MODEL.WEIGHTS = os.path.join(cfg.OUTPUT_DIR, "model_final.pth")

这是推论:

torch.backends.cudnn.benchmark = True
start = time.time()

predictor = DefaultPredictor(cfg) 

im = cv2.imread("/content/drive/MyDrive/TEAM/mcocr_val_145114ixmyt.jpg")

outputs = predictor(im) 

print(f"Inference time per image is : {(time.time() - start)} s")

回程时间:

每张图像的推理时间为:2.7835421562194824 s

图像 I 推断大小为 1024 x 1024 像素。我改变了不同的大小,但它仍然推断出 3 秒/图像。我是否缺少有关 Detectron2 的任何信息?

更多信息 GPU 在此处输入图像描述

4

1 回答 1

0

这是减少推理时间的两种最佳方法:

  1. 使用更好的 GPU
  2. 使用浅层网络 - 例如 R50 - 在此处查看推理时间:https ://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md

减小图像大小不会减少推理时间,因为无论图像大小如何,mask-rcnn 具有相同数量的参数 - 因此推理时间没有变化。

于 2021-04-15T13:52:02.913 回答