class_docstr: Head block for YOLOv3 network
  
  Args:
      norm_decay (float): weight decay for normalization layer weights
      num_classes (int): number of output classes
      ignore_thresh (float): threshold to ignore confidence loss
      label_smooth (bool): whether to use label smoothing
      anchors (list): anchors
      anchor_masks (list): anchor masks
      nms (object): an instance of `MultiClassNMS`
class_docstr_tok: ["Head","block","for","YOLOv3","network","Args",":","norm_decay","(","float",")",":","weight","decay","for","normalization","layer","weights","num_classes","(","int",")",":","number","of","output","classes","ignore_thresh","(","float",")",":","threshold","to","ignore","confidence","loss","label_smooth","(","bool",")",":","whether","to","use","label","smoothing","anchors","(","list",")",":","anchors","anchor_masks","(","list",")",":","anchor","masks","nms","(","object",")",":","an","instance","of","`","MultiClassNMS","`"]
code: def _detection_block(self, input, channel, is_test=True, name=None):
      assert (
          channel % 2 == 0
      ), "channel {} cannot be divided by 2 in detection block {}".format(
          channel, name
      )
  
      conv = input
      for j in range(2):
          conv = self._conv_bn(
              conv,
              channel,
              filter_size=1,
              stride=1,
              padding=0,
              is_test=is_test,
              name="{}.{}.0".format(name, j),
          )
          conv = self._conv_bn(
              conv,
              channel * 2,
              filter_size=3,
              stride=1,
              padding=1,
              is_test=is_test,
              name="{}.{}.1".format(name, j),
          )
      route = self._conv_bn(
          conv,
          channel,
          filter_size=1,
          stride=1,
          padding=0,
          is_test=is_test,
          name="{}.2".format(name),
      )
      tip = self._conv_bn(
          route,
          channel * 2,
          filter_size=3,
          stride=1,
          padding=1,
          is_test=is_test,
          name="{}.tip".format(name),
      )
      return route, tip
  
file_path: PaddleHub/modules/image/object_detection/yolov3_darknet53_venus/yolo_head.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from collections import OrderedDict
  from paddle import fluid
  from paddle.fluid.param_attr import ParamAttr
  from paddle.fluid.regularizer import L2Decay
label_desc: Use image node_id 3 for calling the YOLOv3Head obj's underlying member method code with example usage: obj._detection_block(input, channel, is_test, name) and returns: route,  tip