faster-rcnn-pytorch icon indicating copy to clipboard operation
faster-rcnn-pytorch copied to clipboard

代码执行时间的问题

Open wzr0108 opened this issue 2 years ago • 11 comments

你好,我最近把你的代码添加了fpn结构,已经写好了,能正常训练,但是训练很慢,我检查了下,发现是对每张图片选择建议框的时间有问题,代码如下

for img_idx in range(rpn_loc_list[0].shape[0]):
    cls_score_list = [
        rpn_score_list[i][img_idx] for i in range(len(rpn_loc_list))
    ]
    bbox_pred_list = [
        rpn_loc_list[i][img_idx] for i in range(len(rpn_loc_list))
    ]
    roi = self._get_bboxes_single(
        cls_score_list,
        bbox_pred_list,
        mlvl_anchors,
        input_shape
    )

self._get_bboxes_single是对一张图片选择建议框的函数,但是第一张图片执行的时间非常长,后面的图片就非常快,相差了几十倍的时间。比如我的batchsize是16,第一张图很慢,后面15张都很快,然后下一张又很慢,后面15张又很快.............

我看了你的代码也有类似的情况,但是没这么夸张,只差了几倍,对整体时间影响不大

我加fpn是参考mmdetection的,这部分代码基本一样的,但是mmdet就没有这种问题,我觉得很奇怪,想问一下大佬有没有遇到这种问题,怎么解决的?

wzr0108 avatar Jul 23 '22 09:07 wzr0108

第一张图片吗0 0,怎么判断的呢

bubbliiiing avatar Jul 25 '22 16:07 bubbliiiing

第一张图片吗0 0,怎么判断的呢

我把执行时间打印出来了

wzr0108 avatar Jul 25 '22 16:07 wzr0108

你好!想请问你一下是怎么构建的FPN?谢谢

RY-97 avatar Jul 27 '22 12:07 RY-97

你好!想请问你一下是怎么构建的FPN?谢谢

backbone输出4个特征图,所有特征图共享rpn网络,计算rpn损失和frcnn基本一样,只是多了一层循环,每个特征层都会输出建议框,合并到一起nms得到roi,送往第二阶段,roialign的时候要根据roi的大小对应找到合适的特征图,具体可以参考mmdet的代码

wzr0108 avatar Jul 27 '22 12:07 wzr0108

你是在这个基础上修改的吗?可以看看你的代码吗?感谢

RY-97 avatar Jul 27 '22 12:07 RY-97

我尝试着修改过,但是跑不通?如果可以我需要你的指导?再次感谢

RY-97 avatar Jul 27 '22 12:07 RY-97

我尝试着修改过,但是跑不通?如果可以我需要你的指导?再次感谢

我的代码还有问题,能跑通但是训练很慢,你需要的话可以发给你

wzr0108 avatar Jul 27 '22 12:07 wzr0108

或者邮件也可以,希望和你有更多的沟通。谢谢

RY-97 avatar Jul 27 '22 13:07 RY-97

你可以给我制定以下我哪个部分的代码慢吧。这样我好研究一下。

bubbliiiing avatar Jul 28 '22 14:07 bubbliiiing

你可以给我制定以下我哪个部分的代码慢吧。这样我好研究一下。

bubbliiiing avatar Jul 28 '22 14:07 bubbliiiing

你可以给我制定以下我哪个部分的代码慢吧。这样我好研究一下。

请问你有Faster RCNN结合FPN改进的计划吗?

RY-97 avatar Aug 19 '22 14:08 RY-97