如何解决Detectron2 加速推理实例分割
我有工作实例分割,我正在使用“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 enter image description here
解决方法
以下是减少推理时间的两种最佳方法:
- 使用更好的 GPU
- 使用浅层网络 - 例如 R50 - 在此处查看推理时间:https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md
减小图像大小不会减少推理时间,因为无论图像大小如何,mask-rcnn 都具有相同数量的参数 - 因此推理时间没有变化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。