class_docstr: PreResNet bottleneck block for residual path in PreResNet unit.
  
  Parameters:
  ----------
  in_channels : int
      Number of input channels.
  out_channels : int
      Number of output channels.
  stride : int or tuple/list of 2 int
      Strides of the convolution.
  conv1_stride : bool
      Whether to use stride in the first or the second convolution layer of the block.
class_docstr_tok: ["PreResNet","bottleneck","block","for","residual","path","in","PreResNet","unit",".","Parameters",":","--","--","--","--","--","in_channels",":","int","Number","of","input","channels",".","out_channels",":","int","Number","of","output","channels",".","stride",":","int","or","tuple\/list","of","2","int","Strides","of","the","convolution",".","conv1_stride",":","bool","Whether","to","use","stride","in","the","first","or","the","second","convolution","layer","of","the","block","."]
code: def __init__(self, in_channels, out_channels, stride, conv1_stride):
      super(PreResBottleneck, self).__init__()
      mid_channels = out_channels // 4
  
      self.conv1 = preres_conv1x1(
          in_channels=in_channels,
          out_channels=mid_channels,
          stride=(stride if conv1_stride else 1),
      )
      self.conv2 = preres_conv3x3(
          in_channels=mid_channels,
          out_channels=mid_channels,
          stride=(1 if conv1_stride else stride),
      )
      self.conv3 = preres_conv1x1(
          in_channels=mid_channels, out_channels=out_channels, stride=1
      )
  
imports: import numpy
  import torch
  from torch.autograd import Variable
  from pytorch2keras.converter import pytorch_to_keras
  import os
  import torch.nn
  import torch.nn.init
label_desc: Use image node_id 1 to create a new PreResBottleneck object from inherited base classes: nn with example: obj = PreResBottleneck(in_channels, out_channels, stride, conv1_stride)