class_docstr: Anchor-free head (FCOS, Fovea, RepPoints, etc.).
  
  Args:
      num_classes (int): Number of categories excluding the background
          category.
      in_channels (int): Number of channels in the input feature map.
      feat_channels (int): Number of hidden channels. Used in child classes.
      stacked_convs (int): Number of stacking convs of the head.
      strides (tuple): Downsample factor of each feature map.
      dcn_on_last_conv (bool): If true, use dcn in the last layer of
          towers. Default: False.
      conv_bias (bool | str): If specified as `auto`, it will be decided by
          the norm_cfg. Bias of conv will be set as True if `norm_cfg` is
          None, otherwise False. Default: "auto".
      loss_cls (dict): Config of classification loss.
      loss_bbox (dict): Config of localization loss.
      conv_cfg (dict): Config dict for convolution layer. Default: None.
      norm_cfg (dict): Config dict for normalization layer. Default: None.
      train_cfg (dict): Training config of anchor head.
      test_cfg (dict): Testing config of anchor head.
class_docstr_tok: ["Anchor-free","head","(","FCOS",",","Fovea",",","RepPoints",",","etc.",")",".","Args",":","num_classes","(","int",")",":","Number","of","categories","excluding","the","background","category",".","in_channels","(","int",")",":","Number","of","channels","in","the","input","feature","map",".","feat_channels","(","int",")",":","Number","of","hidden","channels",".","Used","in","child","classes",".","stacked_convs","(","int",")",":","Number","of","stacking","convs","of","the","head",".","strides","(","tuple",")",":","Downsample","factor","of","each","feature","map",".","dcn_on_last_conv","(","bool",")",":","If","true",",","use","dcn","in","the","last","layer","of","towers",".","Default",":","False",".","conv_bias","(","bool","|","str",")",":","If","specified","as","`","auto","`",",","it","will","be","decided","by","the","norm_cfg",".","Bias","of","conv","will","be","set","as","True","if","`","norm_cfg","`","is","None",",","otherwise","False",".","Default",":","``","auto","''",".","loss_cls","(","dict",")",":","Config","of","classification","loss",".","loss_bbox","(","dict",")",":","Config","of","localization","loss",".","conv_cfg","(","dict",")",":","Config","dict","for","convolution","layer",".","Default",":","None",".","norm_cfg","(","dict",")",":","Config","dict","for","normalization","layer",".","Default",":","None",".","train_cfg","(","dict",")",":","Training","config","of","anchor","head",".","test_cfg","(","dict",")",":","Testing","config","of","anchor","head","."]
docstr: Initialize bbox regression conv layers of the head.
docstr_tok: ["Initialize","bbox","regression","conv","layers","of","the","head","."]
code: def _init_reg_convs(self):
      """Initialize bbox regression conv layers of the head."""
      self.reg_convs = nn.ModuleList()
      for i in range(self.stacked_convs):
          chn = self.in_channels if i == 0 else self.feat_channels
          if self.dcn_on_last_conv and i == self.stacked_convs - 1:
              conv_cfg = dict(type="DCNv2")
          else:
              conv_cfg = self.conv_cfg
          self.reg_convs.append(
              ConvModule(
                  chn,
                  self.feat_channels,
                  3,
                  stride=1,
                  padding=1,
                  conv_cfg=conv_cfg,
                  norm_cfg=self.norm_cfg,
                  bias=self.conv_bias,
              )
          )
  
imports: from abc import abstractmethod
  import torch
  import torch.nn
  from mmcv.cnn import ConvModule, bias_init_with_prob, normal_init
  from mmcv.runner import force_fp32
  from mmdet.core import multi_apply
  from ..builder import HEADS, build_loss
  from .base_dense_head import BaseDenseHead
  from .dense_test_mixins import BBoxTestMixin
label_desc: Use image node_id 4 for calling the AnchorFreeHead obj's underlying member method code with example usage: obj._init_reg_convs() without return types