class_docstr: Global feature extractor module.
  
  Args:
      in_channels (int): Number of input channels of the GFE module.
          Default: 64
      block_channels (tuple[int]): Tuple of ints. Each int specifies the
          number of output channels of each Inverted Residual module.
          Default: (64, 96, 128)
      out_channels(int): Number of output channels of the GFE module.
          Default: 128
      expand_ratio (int): Adjusts number of channels of the hidden layer
          in InvertedResidual by this amount.
          Default: 6
      num_blocks (tuple[int]): Tuple of ints. Each int specifies the
          number of times each Inverted Residual module is repeated.
          The repeated Inverted Residual modules are called a 'group'.
          Default: (3, 3, 3)
      strides (tuple[int]): Tuple of ints. Each int specifies
          the downsampling factor of each 'group'.
          Default: (2, 2, 1)
      pool_scales (tuple[int]): Tuple of ints. Each int specifies
          the parameter required in 'global average pooling' within PPM.
          Default: (1, 2, 3, 6)
      conv_cfg (dict | None): Config of conv layers. Default: None
      norm_cfg (dict | None): Config of norm layers. Default:
          dict(type='BN')
      act_cfg (dict): Config of activation layers. Default:
          dict(type='ReLU')
      align_corners (bool): align_corners argument of F.interpolate.
          Default: False
class_docstr_tok: ["Global","feature","extractor","module",".","Args",":","in_channels","(","int",")",":","Number","of","input","channels","of","the","GFE","module",".","Default",":","64","block_channels","(","tuple","[","int","]",")",":","Tuple","of","ints",".","Each","int","specifies","the","number","of","output","channels","of","each","Inverted","Residual","module",".","Default",":","(","64",",","96",",","128",")","out_channels","(","int",")",":","Number","of","output","channels","of","the","GFE","module",".","Default",":","128","expand_ratio","(","int",")",":","Adjusts","number","of","channels","of","the","hidden","layer","in","InvertedResidual","by","this","amount",".","Default",":","6","num_blocks","(","tuple","[","int","]",")",":","Tuple","of","ints",".","Each","int","specifies","the","number","of","times","each","Inverted","Residual","module","is","repeated",".","The","repeated","Inverted","Residual","modules","are","called","a","'group","'",".","Default",":","(","3",",","3",",","3",")","strides","(","tuple","[","int","]",")",":","Tuple","of","ints",".","Each","int","specifies","the","downsampling","factor","of","each","'group","'",".","Default",":","(","2",",","2",",","1",")","pool_scales","(","tuple","[","int","]",")",":","Tuple","of","ints",".","Each","int","specifies","the","parameter","required","in","'global","average","pooling","'","within","PPM",".","Default",":","(","1",",","2",",","3",",","6",")","conv_cfg","(","dict","|","None",")",":","Config","of","conv","layers",".","Default",":","None","norm_cfg","(","dict","|","None",")",":","Config","of","norm","layers",".","Default",":","dict","(","type='BN","'",")","act_cfg","(","dict",")",":","Config","of","activation","layers",".","Default",":","dict","(","type='ReLU","'",")","align_corners","(","bool",")",":","align_corners","argument","of","F.interpolate",".","Default",":","False"]
code: def _make_layer(
      self, in_channels, out_channels, blocks, stride=1, expand_ratio=6
  ):
      layers = [
          InvertedResidual(
              in_channels,
              out_channels,
              stride,
              expand_ratio,
              norm_cfg=self.norm_cfg,
          )
      ]
      for i in range(1, blocks):
          layers.append(
              InvertedResidual(
                  out_channels,
                  out_channels,
                  1,
                  expand_ratio,
                  norm_cfg=self.norm_cfg,
              )
          )
      return nn.Sequential(*layers)
  
imports: import torch
  import torch.nn
  from annotator.uniformer.mmcv.cnn import ConvModule, DepthwiseSeparableConvModule, constant_init, kaiming_init
  from torch.nn.modules.batchnorm import _BatchNorm
  from annotator.uniformer.mmseg.models.decode_heads.psp_head import PPM
  from annotator.uniformer.mmseg.ops import resize
  from ..builder import BACKBONES
  from ..utils.inverted_residual import InvertedResidual
label_desc: Use image node_id 2 for calling the GlobalFeatureExtractor obj's underlying member method code with example usage: obj._make_layer(in_channels, out_channels, blocks, stride, expand_ratio) and returns: nn