in models/resnet.py [0:0]
def __init__(self, block, num_blocks, num_classes=10, num_outputs=10,
pooling='avgpool', norm=nn.BatchNorm2d, return_features=False):
super(ResNet, self).__init__()
if pooling == 'avgpool':
self.pooling = nn.AvgPool2d(4)
elif pooling == 'maxpool':
self.pooling = nn.MaxPool2d(4)
else:
raise Exception('Unsupported pooling: %s' % pooling)
self.in_planes = 64
self.return_features = return_features
self.conv1 = nn.Conv2d(3, 64, kernel_size=3, stride=1, padding=1, bias=False)
self.bn1 = norm(64)
self.layer1 = self._make_layer(block, 64, num_blocks[0], stride=1, norm=norm)
self.layer2 = self._make_layer(block, 128, num_blocks[1], stride=2, norm=norm)
self.layer3 = self._make_layer(block, 256, num_blocks[2], stride=2, norm=norm)
self.layer4 = self._make_layer(block, 512, num_blocks[3], stride=2, norm=norm)
self.linear = nn.Linear(512, num_outputs)
self.num_classes = num_classes
self.num_outputs = num_outputs
self.penultimate_layer_dim = 512
self.build_aux_layers()