Skip to content

Instantly share code, notes, and snippets.

@vsuthichai
Last active March 14, 2019 01:18
Show Gist options
  • Select an option

  • Save vsuthichai/9929c9e07ec1e526f2a2a63999737033 to your computer and use it in GitHub Desktop.

Select an option

Save vsuthichai/9929c9e07ec1e526f2a2a63999737033 to your computer and use it in GitHub Desktop.
rpn_outputs = [rpn_head('rpn', pi, cfg.FPN.NUM_CHANNEL, len(cfg.RPN.ANCHOR_RATIOS), fp16=self.fp16)
for pi in features]
multilevel_label_logits = [k[0] for k in rpn_outputs]
multilevel_box_logits = [k[1] for k in rpn_outputs]
#multilevel_pred_boxes = [anchor.decode_logits(logits)
#for anchor, logits in zip(multilevel_anchors, multilevel_box_logits)]
#proposal_boxes, proposal_scores = generate_fpn_proposals(
# multilevel_pred_boxes, multilevel_label_logits, image_shape2d)
multilevel_label_logits = [tf.expand_dims(k[0], 0) for k in rpn_outputs]
multilevel_box_logits = [tf.transpose(k[1], [2, 3, 0, 1]) for k in rpn_outputs]
multilevel_box_logits = [tf.reshape(k, (-1, tf.shape(k)[2], tf.shape(k)[3])) for k in multilevel_box_logits]
multilevel_box_logits = [tf.expand_dims(k, 0) for k in multilevel_box_logits]
image_shape2d = tf.expand_dims(image_shape2d, 0)
proposal_boxes, proposal_scores = generate_fpn_proposals_batch_tf_op(multilevel_box_logits,
multilevel_label_logits,
image_shape2d)
proposal_boxes = proposal_boxes[:, 1:]
multilevel_label_logits = [tf.squeeze(k, 0) for k in multilevel_label_logits]
multilevel_box_logits = [k[1] for k in rpn_outputs]
if self.training:
losses = multilevel_rpn_losses(
multilevel_anchors, multilevel_label_logits, multilevel_box_logits)
else:
losses = []
return BoxProposals(proposal_boxes), losses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment