# Codeblock 4a class Darknet(nn.Module): def __init__(self): super(Darknet, self).__init__() self.stage0 = nn.ModuleList([ ConvBlock(3, 32, 3, 1), nn.MaxPool2d(kernel_size=2, stride=2) ]) self.stage1 = nn.ModuleList([ ConvBlock(32, 64, 3, 1), nn.MaxPool2d(kernel_size=2, stride=2) ]) self.stage2 = nn.ModuleList([ ConvBlock(64, 128, 3, 1), ConvBlock(128, 64, 1, 0), ConvBlock(64, 128, 3, 1), nn.MaxPool2d(kernel_size=2, stride=2) ]) self.stage3 = nn.ModuleList([ ConvBlock(128, 256, 3, 1), ConvBlock(256, 128, 1, 0), ConvBlock(128, 256, 3, 1), nn.MaxPool2d(kernel_size=2, stride=2) ]) self.stage4 = nn.ModuleList([ ConvBlock(256, 512, 3, 1), ConvBlock(512, 256, 1, 0), ConvBlock(256, 512, 3, 1), ConvBlock(512, 256, 1, 0), ConvBlock(256, 512, 3, 1), ]) self.stage5 = nn.ModuleList([ nn.MaxPool2d(kernel_size=2, stride=2), #(1) ConvBlock(512, 1024, 3, 1), ConvBlock(1024, 512, 1, 0), ConvBlock(512, 1024, 3, 1), ConvBlock(1024, 512, 1, 0), ConvBlock(512, 1024, 3, 1), ])