class_docstr: Args:
      in_channels (int): the channel number of input to CenterNetHead.
      num_classes (int): the number of classes, 1 (MOT17 dataset) by default.
      head_planes (int): the channel number in all head, 256 by default.
      task (str): the type of task for regression, 'tracking' by default.
      loss_weight (dict): the weight of each loss.
      add_ltrb_amodal (bool): whether to add ltrb_amodal branch, False by default.
class_docstr_tok: ["Args",":","in_channels","(","int",")",":","the","channel","number","of","input","to","CenterNetHead",".","num_classes","(","int",")",":","the","number","of","classes",",","1","(","MOT17","dataset",")","by","default",".","head_planes","(","int",")",":","the","channel","number","in","all","head",",","256","by","default",".","task","(","str",")",":","the","type","of","task","for","regression",",","'tracking","'","by","default",".","loss_weight","(","dict",")",":","the","weight","of","each","loss",".","add_ltrb_amodal","(","bool",")",":","whether","to","add","ltrb_amodal","branch",",","False","by","default","."]
code: def from_config(cls, cfg, input_shape):
      if isinstance(input_shape, (list, tuple)):
          input_shape = input_shape[0]
      return {"in_channels": input_shape.channels}
  
file_path: PaddleDetection/ppdet/modeling/heads/centertrack_head.py
imports: import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register
  from .centernet_head import ConvLayer
  from ..keypoint_utils import get_affine_transform
label_desc: Use image node_id 2 for calling the CenterTrackHead obj's underlying member method code with example usage: obj.from_config(cls, cfg, input_shape) and returns: dict