class_docstr: Squeeze-and-Excitation w/ specific features for EfficientNet/MobileNet family
  
  Args:
      in_chs (int): input channels to layer
      rd_ratio (float): ratio of squeeze reduction
      act_layer (nn.Module): activation layer of containing block
      gate_layer (Callable): attention gate function
      force_act_layer (nn.Module): override block's activation fn if this is set/bound
      rd_round_fn (Callable): specify a fn to calculate rounding of reduced chs
class_docstr_tok: ["Squeeze-and-Excitation","w\/","specific","features","for","EfficientNet\/MobileNet","family","Args",":","in_chs","(","int",")",":","input","channels","to","layer","rd_ratio","(","float",")",":","ratio","of","squeeze","reduction","act_layer","(","nn.Module",")",":","activation","layer","of","containing","block","gate_layer","(","Callable",")",":","attention","gate","function","force_act_layer","(","nn.Module",")",":","override","block","'s","activation","fn","if","this","is","set\/bound","rd_round_fn","(","Callable",")",":","specify","a","fn","to","calculate","rounding","of","reduced","chs"]
code: def __init__(
      self,
      in_chs,
      rd_ratio=0.25,
      rd_channels=None,
      act_layer=nn.ReLU,
      gate_layer=nn.Sigmoid,
      force_act_layer=None,
      rd_round_fn=None,
  ):
      super(SqueezeExcite, self).__init__()
      if rd_channels is None:
          rd_round_fn = rd_round_fn or round
          rd_channels = rd_round_fn(in_chs * rd_ratio)
      act_layer = force_act_layer or act_layer
      self.conv_reduce = nn.Conv2d(in_chs, rd_channels, 1, bias=True)
      self.act1 = create_act_layer(act_layer, inplace=True)
      self.conv_expand = nn.Conv2d(rd_channels, in_chs, 1, bias=True)
      self.gate = create_act_layer(gate_layer)
  
imports: import torch
  import torch.nn
  from torch.nn import functional
  from timm.layers import create_conv2d, DropPath, make_divisible, create_act_layer, get_norm_act_layer
label_desc: Use image node_id 1 to create a new SqueezeExcite object from inherited base classes: nn with example: obj = SqueezeExcite(in_chs, rd_ratio, rd_channels, act_layer, gate_layer, force_act_layer, rd_round_fn)