Skip to content

Commit 4506882

Browse files
mortzurfacebook-github-bot
authored andcommitted
create wrapper submodule for compute block to use in to_backend
Summary: Refactoring generate_proposals logic in Caffe2RPN to a separate method, allowing running it separately from the RPN head. Reviewed By: wat3rBro Differential Revision: D24627425 fbshipit-source-id: cda2637b87089dcd30348c9ede97e48bdde9bf48
1 parent ff8caee commit 4506882

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

detectron2/export/c10.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,9 @@ def _set_tensor_mode(self, v):
162162

163163

164164
class Caffe2RPN(Caffe2Compatible, rpn.RPN):
165-
def forward(self, images, features, gt_instances=None):
166-
assert not self.training
167-
168-
features = [features[f] for f in self.in_features]
169-
objectness_logits_pred, anchor_deltas_pred = self.rpn_head(features)
170-
165+
def _generate_proposals(
166+
self, images, objectness_logits_pred, anchor_deltas_pred, gt_instances=None
167+
):
171168
assert isinstance(images, ImageList)
172169
if self.tensor_mode:
173170
im_info = images.image_sizes
@@ -248,6 +245,17 @@ def forward(self, images, features, gt_instances=None):
248245
proposals = self.c2_postprocess(im_info, rpn_rois, rpn_roi_probs, self.tensor_mode)
249246
return proposals, {}
250247

248+
def forward(self, images, features, gt_instances=None):
249+
assert not self.training
250+
features = [features[f] for f in self.in_features]
251+
objectness_logits_pred, anchor_deltas_pred = self.rpn_head(features)
252+
return self._generate_proposals(
253+
images,
254+
objectness_logits_pred,
255+
anchor_deltas_pred,
256+
gt_instances,
257+
)
258+
251259
@staticmethod
252260
def c2_postprocess(im_info, rpn_rois, rpn_roi_probs, tensor_mode):
253261
proposals = InstancesList(

0 commit comments

Comments
 (0)