code: def __init__(self, feat_channels, act="swish", attn_conv="convbn"):
      super(ESEAttn, self).__init__()
      self.fc = nn.Conv2D(feat_channels, feat_channels, 1)
      if attn_conv == "convbn":
          self.conv = ConvBNLayer(
              feat_channels, feat_channels, 1, act=act
          )
      elif attn_conv == "repvgg":
          self.conv = RepVggBlock(feat_channels, feat_channels, act=act)
      else:
          self.conv = None
      self._init_weights()
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register
  from paddle import ParamAttr
  from paddle.nn.initializer import KaimingNormal
  from paddle.nn.initializer import Normal, Constant
  from ..bbox_utils import batch_distance2bbox
  from ..losses import GIoULoss
  from ..initializer import bias_init_with_prob, constant_, normal_
  from ..assigners.utils import generate_anchors_for_grid_cell
  from ppdet.modeling.backbones.cspresnet import ConvBNLayer, RepVggBlock
  from ppdet.modeling.ops import get_static_shape, get_act_fn
  from ppdet.modeling.layers import MultiClassNMS
label_desc: Use image node_id 1 to create a new ESEAttn object from inherited base classes: nn with example: obj = ESEAttn(feat_channels, act, attn_conv)