code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size,
      stride=1,
      stem_cell=False,
      zero_pad=False,
  ):
      super(BranchSeparables, self).__init__()
      padding = kernel_size // 2
      middle_channels = out_channels if stem_cell else in_channels
      self.zero_pad = nn.ZeroPad2d((1, 0, 1, 0)) if zero_pad else None
      self.relu_1 = nn.ReLU()
      self.separable_1 = SeparableConv2d(
          in_channels,
          middle_channels,
          kernel_size,
          dw_stride=stride,
          dw_padding=padding,
      )
      self.bn_sep_1 = nn.BatchNorm2d(middle_channels, eps=0.001)
      self.relu_2 = nn.ReLU()
      self.separable_2 = SeparableConv2d(
          middle_channels,
          out_channels,
          kernel_size,
          dw_stride=1,
          dw_padding=padding,
      )
      self.bn_sep_2 = nn.BatchNorm2d(out_channels, eps=0.001)
  
imports: from collections import OrderedDict
  import torch
  import torch.nn
  import torch.utils.model_zoo
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, stem_cell, zero_pad)