def __init__(self, inplanes, planes, stride=1, downsample=None, groups=1, base_width=64, dilation=1, norm_layer=None):
    super(Bottleneck, self).__init__()
    if (norm_layer is None):
        norm_layer = nn.BatchNorm2d
    width = (int((planes * (base_width / 64.0))) * groups)
    self.conv1 = conv1x1(inplanes, width)
    self.bn1 = norm_layer(width)
    self.conv2 = conv3x3(width, width, stride, groups, dilation)
    self.bn2 = norm_layer(width)
    self.conv3 = conv1x1(width, (planes * self.expansion))
    self.bn3 = norm_layer((planes * self.expansion))
    self.relu = nn.ReLU(inplace=True)
    self.downsample = downsample
    self.stride = stride
def __init__(self, inplanes, planes, stride=1, downsample=None, groups=1, base_width=64, dilation=1, norm_layer=None):
    super(Bottleneck, self).__init__()
    if (norm_layer is None):
        norm_layer = nn.BatchNorm2d
    width = (int((planes * (base_width / 64.0))) * groups)
    self.conv1 = conv1x1(inplanes, width)
    self.bn1 = norm_layer(width)
    self.conv2 = conv3x3(width, width, stride, groups, dilation)
    self.bn2 = norm_layer(width)
    self.conv3 = conv1x1(width, (planes * self.expansion))
    self.bn3 = norm_layer((planes * self.expansion))
    self.relu = nn.ReLU(inplace=True)
    self.downsample = downsample
    self.stride = stride