class_docstr: Assign object detection proposals to ground-truth targets. Produces proposal
  classification labels and bounding-box regression targets.
class_docstr_tok: ["Assign","object","detection","proposals","to","ground-truth","targets",".","Produces","proposal","classification","labels","and","bounding-box","regression","targets","."]
code: def infer_outputs(self):
      # sampled rois (0, x1, y1, x2, y2)
      # for CNTK the proposal shape is [4 x roisPerImage], and mirrored in Python
      rois_shape = (FreeDimension, 4)
      labels_shape = (FreeDimension, self._num_classes)
      bbox_targets_shape = (FreeDimension, self._num_classes * 4)
      bbox_inside_weights_shape = (FreeDimension, self._num_classes * 4)
  
      return [
          output_variable(
              rois_shape,
              self.inputs[0].dtype,
              self.inputs[0].dynamic_axes,
              name="rpn_target_rois_raw",
              needs_gradient=False,
          ),
          output_variable(
              labels_shape,
              self.inputs[0].dtype,
              self.inputs[0].dynamic_axes,
              name="label_targets_raw",
              needs_gradient=False,
          ),
          output_variable(
              bbox_targets_shape,
              self.inputs[0].dtype,
              self.inputs[0].dynamic_axes,
              name="bbox_targets_raw",
              needs_gradient=False,
          ),
          output_variable(
              bbox_inside_weights_shape,
              self.inputs[0].dtype,
              self.inputs[0].dynamic_axes,
              name="bbox_inside_w_raw",
              needs_gradient=False,
          ),
      ]
  
file_path: CNTK/Examples/Image/Detection/utils/rpn/proposal_target_layer.py
imports: from cntk import output_variable, FreeDimension
  from cntk.ops.functions import UserFunction
  import yaml
  import numpy
  import numpy.random
  from utils.rpn.bbox_transform import bbox_transform
  from utils.cython_modules.cython_bbox import bbox_overlaps
label_desc: Use image node_id 2 for calling the ProposalTargetLayer obj's underlying member method code with example usage: obj.infer_outputs() and returns: list