class_docstr: Inverted residual block w/ CondConv routing
class_docstr_tok: ["Inverted","residual","block","w\/","CondConv","routing"]
code: def forward(self, x):
      shortcut = x
      pooled_inputs = F.adaptive_avg_pool2d(x, 1).flatten(
          1
      )  # CondConv routing
      routing_weights = torch.sigmoid(self.routing_fn(pooled_inputs))
      x = self.conv_pw(x, routing_weights)
      x = self.bn1(x)
      x = self.conv_dw(x, routing_weights)
      x = self.bn2(x)
      x = self.se(x)
      x = self.conv_pwl(x, routing_weights)
      x = self.bn3(x)
      if self.has_skip:
          x = self.drop_path(x) + shortcut
      return x
  
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 2 for calling the CondConvResidual obj's underlying member method code with example usage: obj.forward(x) and returns: x