class_docstr: ROIGather module for gather global information
  Args: 
      in_channels: prior feature channels
      num_priors: prior numbers we predefined
      sample_points: the number of sampled points when we extract feature from line
      fc_hidden_dim: the fc output channel
      refine_layers: the total number of layers to build refine
class_docstr_tok: ["ROIGather","module","for","gather","global","information","Args",":","in_channels",":","prior","feature","channels","num_priors",":","prior","numbers","we","predefined","sample_points",":","the","number","of","sampled","points","when","we","extract","feature","from","line","fc_hidden_dim",":","the","fc","output","channel","refine_layers",":","the","total","number","of","layers","to","build","refine"]
code: def roi_fea(self, x, layer_index):
      feats = []
      for i, feature in enumerate(x):
          feat_trans = self.convs[i](feature)
          feats.append(feat_trans)
      cat_feat = paddle.concat(feats, axis=1)
      cat_feat = self.catconv[layer_index](cat_feat)
      return cat_feat
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.modeling.initializer import constant_
  from paddle.nn.initializer import KaimingNormal
  import paddle.nn
label_desc: Use image node_id 2 for calling the ROIGather obj's underlying member method code with example usage: obj.roi_fea(x, layer_index) and returns: cat_feat