docstr: PANnet
  :param model_config: 模型配置
docstr_tok: ["PANnet",":","param","model_config",":","\u6a21\u578b\u914d\u7f6e"]
code: def __init__(self, model_config: dict):
      """
      PANnet
      :param model_config: 模型配置
      """
      super().__init__()
      model_config = Dict(model_config)
      backbone_type = model_config.backbone.pop("type")
      neck_type = model_config.neck.pop("type")
      head_type = model_config.head.pop("type")
      self.backbone = build_backbone(
          backbone_type, **model_config.backbone
      )
      self.neck = build_neck(
          neck_type,
          in_channels=self.backbone.out_channels,
          **model_config.neck,
      )
      self.head = build_head(
          head_type,
          in_channels=self.neck.out_channels,
          **model_config.head,
      )
      self.name = f"{backbone_type}_{neck_type}_{head_type}"
  
file_path: PaddleOCR/benchmark/PaddleOCR_DBNet/models/model.py
imports: from addict import Dict
  from paddle import nn
  import paddle.nn.functional
  from models.backbone import build_backbone
  from models.neck import build_neck
  from models.head import build_head
label_desc: Use image node_id 1 to create a new Model object from inherited base classes: nn with example: obj = Model(model_config)