def __init__(self,<EOL>inplanes,<EOL>planes,<EOL>stride=<NUM_LIT:1>,<EOL>dilation=<NUM_LIT:1>,<EOL>downsample=None,<EOL>style='<STR_LIT>',<EOL>with_cp=False):
super(Bottleneck, self).__init__()<EOL>assert style in ['<STR_LIT>', '<STR_LIT>']<EOL>if style == '<STR_LIT>':<EOL><INDENT>conv1_stride = <NUM_LIT:1><EOL>conv2_stride = stride<EOL><DEDENT>else:<EOL><INDENT>conv1_stride = stride<EOL>conv2_stride = <NUM_LIT:1><EOL><DEDENT>self.conv1 = nn.Conv2d(<EOL>inplanes, planes, kernel_size=<NUM_LIT:1>, stride=conv1_stride, bias=False)<EOL>self.conv2 = nn.Conv2d(<EOL>planes,<EOL>planes,<EOL>kernel_size=<NUM_LIT:3>,<EOL>stride=conv2_stride,<EOL>padding=dilation,<EOL>dilation=dilation,<EOL>bias=False)<EOL>self.bn1 = nn.BatchNorm2d(planes)<EOL>self.bn2 = nn.BatchNorm2d(planes)<EOL>self.conv3 = nn.Conv2d(<EOL>planes, planes * self.expansion, kernel_size=<NUM_LIT:1>, bias=False)<EOL>self.bn3 = nn.BatchNorm2d(planes * self.expansion)<EOL>self.relu = nn.ReLU(inplace=True)<EOL>self.downsample = downsample<EOL>self.stride = stride<EOL>self.dilation = dilation<EOL>self.with_cp = with_cp<EOL>
Bottleneck block.

        If style is "pytorch", the stride-two layer is the 3x3 conv layer,
        if it is "caffe", the stride-two layer is the first 1x1 conv layer.