class_docstr: Decoupled Light SOLO mask head used in `SOLO: Segmenting Objects by
  Locations <https://arxiv.org/abs/1912.04488>`_
  
  Args:
      with_dcn (bool): Whether use dcn in mask_convs and cls_convs,
          Defaults to False.
      init_cfg (dict or list[dict], optional): Initialization config dict.
code: def _init_layers(self) -> None:
      self.mask_convs = nn.ModuleList()
      self.cls_convs = nn.ModuleList()
  
      for i in range(self.stacked_convs):
          if self.dcn_cfg is not None and i == self.stacked_convs - 1:
              conv_cfg = self.dcn_cfg
          else:
              conv_cfg = None
  
          chn = self.in_channels + 2 if i == 0 else self.feat_channels
          self.mask_convs.append(
              ConvModule(
                  chn,
                  self.feat_channels,
                  3,
                  stride=1,
                  padding=1,
                  conv_cfg=conv_cfg,
                  norm_cfg=self.norm_cfg,
              )
          )
  
          chn = self.in_channels if i == 0 else self.feat_channels
          self.cls_convs.append(
              ConvModule(
                  chn,
                  self.feat_channels,
                  3,
                  stride=1,
                  padding=1,
                  conv_cfg=conv_cfg,
                  norm_cfg=self.norm_cfg,
              )
          )
  
      self.conv_mask_list_x = nn.ModuleList()
      self.conv_mask_list_y = nn.ModuleList()
      for num_grid in self.num_grids:
          self.conv_mask_list_x.append(
              nn.Conv2d(self.feat_channels, num_grid, 3, padding=1)
          )
          self.conv_mask_list_y.append(
              nn.Conv2d(self.feat_channels, num_grid, 3, padding=1)
          )
      self.conv_cls = nn.Conv2d(
          self.feat_channels, self.cls_out_channels, 3, padding=1
      )
  
imports: from typing import List, Optional, Tuple
  import mmcv
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from mmcv.cnn import ConvModule
  from mmengine.structures import InstanceData
  from torch import Tensor
  from mmdet.models.utils.misc import floordiv
  from mmdet.registry import MODELS
  from mmdet.utils import ConfigType, InstanceList, MultiConfig, OptConfigType
  from ..layers import mask_matrix_nms
  from ..utils import center_of_mass, generate_coordinate, multi_apply
  from .base_mask_head import BaseMaskHead
label_desc: Use image node_id 2 for calling the DecoupledSOLOLightHead obj's underlying member method code with example usage: obj._init_layers() without return types