43 stride=1, downsample=None, reduction=16):
44 super(BasicBlock, self).__init__()
45 self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=3, stride=stride, padding=1, bias=False)
46 if with_ibn:
47 self.bn1 = IBN(planes, bn_norm)
48 else:
49 self.bn1 = get_norm(bn_norm, planes)
50 self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=1, padding=1, bias=False)
51 self.bn2 = get_norm(bn_norm, planes)
52 self.relu = nn.ReLU(inplace=True)
53 if with_se:
54 self.se = SELayer(planes, reduction)
55 else:
56 self.se = nn.Identity()
57 self.downsample = downsample
58 self.stride = stride
59