code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size,
      stride=1,
      pad_type="",
      stem_cell=False,
  ):
      super(BranchSeparables, self).__init__()
      middle_channels = out_channels if stem_cell else in_channels
      self.act_1 = nn.ReLU()
      self.separable_1 = SeparableConv2d(
          in_channels,
          middle_channels,
          kernel_size,
          stride=stride,
          padding=pad_type,
      )
      self.bn_sep_1 = nn.BatchNorm2d(
          middle_channels, eps=0.001, momentum=0.1
      )
      self.act_2 = nn.ReLU(inplace=True)
      self.separable_2 = SeparableConv2d(
          middle_channels,
          out_channels,
          kernel_size,
          stride=1,
          padding=pad_type,
      )
      self.bn_sep_2 = nn.BatchNorm2d(
          out_channels, eps=0.001, momentum=0.1
      )
  
imports: from functools import partial
  import torch
  import torch.nn
  import torch.nn.functional
  from timm.layers import ConvNormAct, create_conv2d, create_pool2d, create_classifier
  from ._builder import build_model_with_cfg
  from ._registry import register_model, generate_default_cfgs
label_desc: Use image node_id 1 to create a new BranchSeparables object from inherited base classes: nn with example: obj = BranchSeparables(in_channels, out_channels, kernel_size, stride, pad_type, stem_cell)