class_docstr: Args:
      in_channels (list): number of input feature channels from backbone.
          [96, 214, 458, 784] by default, means the channels of HarDNet85
      num_layers (int): HarDNet laters, 85 by default
      down_ratio (int): the down ratio from images to heatmap, 4 by default
      first_level (int|None): the first level of input feature fed into the upsamplng block.
          if None, the first level stands for logs(down_ratio) - 1
  
      last_level (int): the last level of input feature fed into the upsamplng block
      out_channel (int): the channel of the output feature, 0 by default means
          the channel of the input feature whose down ratio is `down_ratio`
class_docstr_tok: ["Args",":","in_channels","(","list",")",":","number","of","input","feature","channels","from","backbone",".","[","96",",","214",",","458",",","784","]","by","default",",","means","the","channels","of","HarDNet85","num_layers","(","int",")",":","HarDNet","laters",",","85","by","default","down_ratio","(","int",")",":","the","down","ratio","from","images","to","heatmap",",","4","by","default","first_level","(","int|None",")",":","the","first","level","of","input","feature","fed","into","the","upsamplng","block",".","if","None",",","the","first","level","stands","for","logs","(","down_ratio",")","-","1","last_level","(","int",")",":","the","last","level","of","input","feature","fed","into","the","upsamplng","block","out_channel","(","int",")",":","the","channel","of","the","output","feature",",","0","by","default","means","the","channel","of","the","input","feature","whose","down","ratio","is","`","down_ratio","`"]
code: def from_config(cls, cfg, input_shape):
      return {"in_channels": [i.channels for i in input_shape]}
  
imports: import numpy
  import math
  import paddle
  import paddle.nn
  from paddle import ParamAttr
  from paddle.nn.initializer import Uniform
  import paddle.nn.functional
  from ppdet.core.workspace import register, serializable
  from ppdet.modeling.layers import ConvNormLayer
  from ppdet.modeling.backbones.hardnet import ConvLayer, HarDBlock
  from ..shape_spec import ShapeSpec
label_desc: Use image node_id 2 for calling the CenterNetHarDNetFPN obj's underlying member method code with example usage: obj.from_config(cls, cfg, input_shape) and returns: dict