docstr: PPYOLODetBlock layer
  
  Args:
      cfg (list): layer configs for this block
      name (str): block name
      data_format (str): data format, NCHW or NHWC
docstr_tok: ["PPYOLODetBlock","layer","Args",":","cfg","(","list",")",":","layer","configs","for","this","block","name","(","str",")",":","block","name","data_format","(","str",")",":","data","format",",","NCHW","or","NHWC"]
code: def __init__(self, cfg, name, data_format="NCHW"):
      """
      PPYOLODetBlock layer
  
      Args:
          cfg (list): layer configs for this block
          name (str): block name
          data_format (str): data format, NCHW or NHWC
      """
      super(PPYOLODetBlock, self).__init__()
      self.conv_module = nn.Sequential()
      for idx, (conv_name, layer, args, kwargs) in enumerate(cfg[:-1]):
          kwargs.update(
              name="{}.{}".format(name, conv_name),
              data_format=data_format,
          )
          self.conv_module.add_sublayer(
              conv_name, layer(*args, **kwargs)
          )
  
      conv_name, layer, args, kwargs = cfg[-1]
      kwargs.update(
          name="{}.{}".format(name, conv_name), data_format=data_format
      )
      self.tip = layer(*args, **kwargs)
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register, serializable
  from ppdet.modeling.layers import DropBlock
  from ppdet.modeling.ops import get_act_fn
  from ..backbones.darknet import ConvBNLayer
  from ..shape_spec import ShapeSpec
  from ..backbones.csp_darknet import BaseConv, DWConv, CSPLayer
label_desc: Use image node_id 1 to create a new PPYOLODetBlock object from inherited base classes: nn with example: obj = PPYOLODetBlock(cfg, name, data_format)