class_docstr: A structure to manage box proposals and their relations with ground truth.
docstr: Args:
      boxes: Nx4
      labels: N, each in [0, #class), the true label for each input box
      fg_inds_wrt_gt: #fg, each in [0, M)
  
  The last four arguments could be None when not training.
docstr_tok: ["Args",":","boxes",":","Nx4","labels",":","N",",","each","in","[","0",",","#","class",")",",","the","true","label","for","each","input","box","fg_inds_wrt_gt",":","#","fg",",","each","in","[","0",",","M",")","The","last","four","arguments","could","be","None","when","not","training","."]
code: def __init__(self, boxes, labels=None, fg_inds_wrt_gt=None):
      """
      Args:
          boxes: Nx4
          labels: N, each in [0, #class), the true label for each input box
          fg_inds_wrt_gt: #fg, each in [0, M)
  
      The last four arguments could be None when not training.
      """
      for k, v in locals().items():
          if k != "self" and v is not None:
              setattr(self, k, v)
  
imports: import tensorflow
  from tensorpack import tfv1
  from tensorpack.models import Conv2D, FullyConnected, layer_register
  from tensorpack.tfutils.argscope import argscope
  from tensorpack.tfutils.scope_utils import under_name_scope
  from tensorpack.tfutils.summary import add_moving_summary
  from tensorpack.utils.argtools import memoized_method
  from config import config
  from utils.box_ops import pairwise_iou
  from .model_box import decode_bbox_target, encode_bbox_target
  from .backbone import GroupNorm
label_desc: Use image node_id 1 to create a new BoxProposals object from inherited base classes: object with example: obj = BoxProposals(boxes, labels, fg_inds_wrt_gt)