class_docstr: YOLO V3 detection network.
  Reference: https://arxiv.org/pdf/1804.02767.pdf.
  Parameters
  ----------
  stages : mxnet.gluon.HybridBlock
      Staged feature extraction blocks.
      For example, 3 stages and 3 YOLO output layers are used original paper.
  channels : iterable
      Number of conv channels for each appended stage.
      `len(channels)` should match `len(stages)`.
  num_class : int
      Number of foreground objects.
  anchors : iterable
      The anchor setting. `len(anchors)` should match `len(stages)`.
  strides : iterable
      Strides of feature map. `len(strides)` should match `len(stages)`.
  alloc_size : tuple of int, default is (128, 128)
      For advanced users. Define `alloc_size` to generate large enough anchor
      maps, which will later saved in parameters. During inference, we support arbitrary
      input image by cropping corresponding area of the anchor map. This allow us
      to export to symbol so we can run it in c++, Scalar, etc.
  nms_thresh : float, default is 0.45.
      Non-maximum suppression threshold. You can specify < 0 or > 1 to disable NMS.
  nms_topk : int, default is 400
      Apply NMS to top k detection results, use -1 to disable so that every Detection
       result is used in NMS.
  post_nms : int, default is 100
      Only return top `post_nms` detection results, the rest is discarded. The number is
      based on COCO dataset which has maximum 100 objects per image. You can adjust this
      number if expecting more objects. You can use -1 to return all detections.
  pos_iou_thresh : float, default is 1.0
      IOU threshold for true anchors that match real objects.
      'pos_iou_thresh < 1' is not implemented.
  ignore_iou_thresh : float
      Anchors that has IOU in `range(ignore_iou_thresh, pos_iou_thresh)` don't get
      penalized of objectness score.
  norm_layer : object
      Normalization layer used (default: :class:`mxnet.gluon.nn.BatchNorm`)
      Can be :class:`mxnet.gluon.nn.BatchNorm` or :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`.
  norm_kwargs : dict
      Additional `norm_layer` arguments, for example `num_devices=4`
      for :class:`mxnet.gluon.contrib.nn.SyncBatchNorm`.
class_docstr_tok: ["YOLO","V3","detection","network",".","Reference",":","https",":","\/\/arxiv.org\/pdf\/1804.02767.pdf",".","Parameters","--","--","--","--","--","stages",":","mxnet.gluon.HybridBlock","Staged","feature","extraction","blocks",".","For","example",",","3","stages","and","3","YOLO","output","layers","are","used","original","paper",".","channels",":","iterable","Number","of","conv","channels","for","each","appended","stage",".","`","len","(","channels",")","`","should","match","`","len","(","stages",")","`",".","num_class",":","int","Number","of","foreground","objects",".","anchors",":","iterable","The","anchor","setting",".","`","len","(","anchors",")","`","should","match","`","len","(","stages",")","`",".","strides",":","iterable","Strides","of","feature","map",".","`","len","(","strides",")","`","should","match","`","len","(","stages",")","`",".","alloc_size",":","tuple","of","int",",","default","is","(","128",",","128",")","For","advanced","users",".","Define","`","alloc_size","`","to","generate","large","enough","anchor","maps",",","which","will","later","saved","in","parameters",".","During","inference",",","we","support","arbitrary","input","image","by","cropping","corresponding","area","of","the","anchor","map",".","This","allow","us","to","export","to","symbol","so","we","can","run","it","in","c++",",","Scalar",",","etc",".","nms_thresh",":","float",",","default","is","0.45",".","Non-maximum","suppression","threshold",".","You","can","specify","<","0","or",">","1","to","disable","NMS",".","nms_topk",":","int",",","default","is","400","Apply","NMS","to","top","k","detection","results",",","use","-1","to","disable","so","that","every","Detection","result","is","used","in","NMS",".","post_nms",":","int",",","default","is","100","Only","return","top","`","post_nms","`","detection","results",",","the","rest","is","discarded",".","The","number","is","based","on","COCO","dataset","which","has","maximum","100","objects","per","image",".","You","can","adjust","this","number","if","expecting","more","objects",".","You","can","use","-1","to","return","all","detections",".","pos_iou_thresh",":","float",",","default","is","1.0","IOU","threshold","for","true","anchors","that","match","real","objects",".","'pos_iou_thresh","<","1","'","is","not","implemented",".","ignore_iou_thresh",":","float","Anchors","that","has","IOU","in","`","range","(","ignore_iou_thresh",",","pos_iou_thresh",")","`","do","n't","get","penalized","of","objectness","score",".","norm_layer",":","object","Normalization","layer","used","(","default",":",":","class",":","`","mxnet.gluon.nn.BatchNorm","`",")","Can","be",":","class",":","`","mxnet.gluon.nn.BatchNorm","`","or",":","class",":","`","mxnet.gluon.contrib.nn.SyncBatchNorm","`",".","norm_kwargs",":","dict","Additional","`","norm_layer","`","arguments",",","for","example","`","num_devices=4","`","for",":","class",":","`","mxnet.gluon.contrib.nn.SyncBatchNorm","`","."]
docstr: Number of (non-background) categories.
  Returns
  -------
  int
      Number of (non-background) categories.
code: def num_class(self):
      """Number of (non-background) categories.
      Returns
      -------
      int
          Number of (non-background) categories.
      """
      return self._num_class
  
imports: from __future__ import absolute_import
  from __future__ import division
  import os
  import warnings
  import numpy
  import mxnet
  from mxnet import gluon
  from mxnet import autograd
  from mxnet.gluon import nn
  from mxnet.gluon.nn import BatchNorm
  from .darknet import _conv2d, darknet53
  from ..mobilenet import get_mobilenet
  from .yolo_target import YOLOV3TargetMerger
  from ...loss import YOLOV3Loss
label_desc: Use image node_id 2 for calling the YOLOV3 obj's underlying member method code with example usage: obj.num_class() and returns: self