code: def __init__(
      self,
      kernal_size,
      in_channels,
      out_channels,
      cnn_keep_prob,
      pre_mask,
      post_mask,
      with_bn=True,
      with_relu=True,
  ):
      super(ConvBN, self).__init__()
      self.mask_opt = Mask()
      self.pre_mask = pre_mask
      self.post_mask = post_mask
      self.with_bn = with_bn
      self.with_relu = with_relu
      self.conv = nn.Conv1d(
          in_channels,
          out_channels,
          kernal_size,
          1,
          bias=True,
          padding=(kernal_size - 1) // 2,
      )
      self.dropout = nn.Dropout(p=(1 - cnn_keep_prob))
  
      if with_bn:
          self.bn = BatchNorm(out_channels, not post_mask, True)
  
      if with_relu:
          self.relu = nn.ReLU()
  
imports: import torch
  import torch.nn.functional
  from torch import nn
  from utils import get_length, INF
label_desc: Use image node_id 1 to create a new ConvBN object from inherited base classes: nn with example: obj = ConvBN(kernal_size, in_channels, out_channels, cnn_keep_prob, pre_mask, post_mask, with_bn, with_relu)