class_docstr: Mobile inverted bottleneck block with SE.
code: def forward(self, x):
      f_x = self.exp_af(self.exp_bn(self.exp(x))) if self.exp else x
      f_x = self.dwise_af(self.dwise_bn(self.dwise(f_x)))
      f_x = self.se(f_x)
      f_x = self.lin_proj_bn(self.lin_proj(f_x))
      if self.has_skip:
          if self.training and cfg.EN.DC_RATIO > 0.0:
              f_x = drop_connect(f_x, cfg.EN.DC_RATIO)
          f_x = x + f_x
      return f_x
  
imports: from pycls.core.config import cfg
  from pycls.models.blocks import activation, conv2d, conv2d_cx, drop_connect, gap2d, gap2d_cx, init_weights, linear, linear_cx, norm2d, norm2d_cx, SE
  from torch.nn import Dropout, Module
label_desc: Use image node_id 2 for calling the MBConv obj's underlying member method code with example usage: obj.forward(x) and returns: f_x