class_docstr: MobileOne building block.
  
  For more details, please refer to our paper:
  `An Improved One millisecond Mobile Backbone <https://arxiv.org/pdf/2206.04040.pdf>`
class_docstr_tok: ["MobileOne","building","block",".","For","more","details",",","please","refer","to","our","paper",":","`","An","Improved","One","millisecond","Mobile","Backbone","<","https",":","\/\/arxiv.org\/pdf\/2206.04040.pdf",">","`"]
docstr: Forward pass implements inference logic for module
  before and after reparameterization.
  
  Args:
      x: Input tensor of shape :math:`(B, C, H, W)`.
  
  Returns:
      torch.Tensor of shape :math:`(B, C, H, W)`.
docstr_tok: ["Forward","pass","implements","inference","logic","for","module","before","and","after","reparameterization",".","Args",":","x",":","Input","tensor","of","shape",":","math",":","`","(","B",",","C",",","H",",","W",")","`",".","Returns",":","torch.Tensor","of","shape",":","math",":","`","(","B",",","C",",","H",",","W",")","`","."]
code: def forward(self, x: torch.Tensor, *args, **kwargs) -> torch.Tensor:
      """
      Forward pass implements inference logic for module
      before and after reparameterization.
  
      Args:
          x: Input tensor of shape :math:`(B, C, H, W)`.
  
      Returns:
          torch.Tensor of shape :math:`(B, C, H, W)`.
      """
      # Inference mode forward pass.
      if self.inference_mode:
          return self.activation(self.se(self.reparam_conv(x)))
  
      # Multi-branched train-time forward pass.
      # Skip branch output
      identity_out = 0
      if self.rbr_skip is not None:
          identity_out = self.rbr_skip(x)
  
      # Scale branch output
      scale_out = 0
      if self.rbr_scale is not None:
          scale_out = self.rbr_scale(x)
  
      # Other branches
      out = scale_out + identity_out
      if self.rbr_conv is not None:
          for ix in range(self.num_conv_branches):
              out += self.rbr_conv[ix](x)
  
      return self.activation(self.se(out))
  
imports: import argparse
  from typing import Tuple, Union
  import torch
  import torch.nn
  from cvnets.layers import ConvLayer2d, Identity
  from cvnets.layers.activation import build_activation_layer
  from cvnets.layers.normalization.batch_norm import BatchNorm2d
  from cvnets.modules import BaseModule, SqueezeExcitation
label_desc: Use image node_id 2 for calling the MobileOneBlock obj's underlying member method code with example usage: obj.forward(x) and returns: self, self