def __init__(self, bn=False): super(acipnet, self).__init__() self.multi_scale_1 = nn.Sequential( Dilated_Conv2D(3, 64, 3, dilation=1, bn=bn), # receptive field 3*3 # nn.MaxPool2d(2), Dilated_Conv2D(64, 64, 3, dilation=1, bn=bn), Dilated_Conv2D(64, 64, 3, dilation=1, bn=bn)) # 5*5 self.multi_scale_2 = nn.Sequential( Dilated_Conv2D(64, 64, 3, dilation=2, bn=bn), # 9*9 Dilated_Conv2D(64, 64, 3, dilation=2, bn=bn), Dilated_Conv2D(64, 64, 3, dilation=2, bn=bn)) # 17*17 self.multi_scale_3 = nn.Sequential( Dilated_Conv2D(64, 64, 3, dilation=4, bn=bn), # 33*33 Dilated_Conv2D(64, 64, 3, dilation=4, bn=bn), # 65*65 Dilated_Conv2D(64, 64, 3, dilation=1, bn=bn)) # 67*67 self.parallel_1 = nn.Sequential( Conv2d(64, 64, 1, same_padding=False, bn=bn)) self.parallel_2 = nn.Sequential( Dilated_Conv2D(64, 64, 3, dilation=4, bn=bn)) self.parallel_3 = nn.Sequential( Dilated_Conv2D(64, 64, 3, dilation=8, bn=bn)) self.parallel_4 = nn.Sequential( Dilated_Conv2D(64, 64, 3, dilation=12, bn=bn)) self.fuse = nn.Sequential(Conv2d(128, 1, 1, same_padding=False, bn=bn)) self.fuse_1 = nn.Sequential( Conv2d(512, 384, 1, same_padding=False, bn=bn), Conv2d(384, 256, 3, same_padding=True, bn=bn), Conv2d(256, 128, 3, same_padding=True, bn=bn)) # self.image_pool = nn.AdaptiveMaxPool2d(1) self.image_pool = nn.AdaptiveAvgPool2d(1) self.image_pool_conv = nn.Sequential( Conv2d(64, 64, 1, same_padding=False, bn=bn)) self.conv_b1 = nn.Sequential( Conv2d(64, 64, 1, same_padding=False, bn=bn)) self.conv_b2 = nn.Sequential( Conv2d(64, 64, 1, same_padding=False, bn=bn)) self.conv_b3 = nn.Sequential( Conv2d(64, 64, 1, same_padding=False, bn=bn)) self.conv_pipe = nn.Sequential( Conv2d(320, 320, 1, same_padding=False, bn=bn))
def __init__(self, bn=False): super(MCNN, self).__init__() self.branch1 = nn.Sequential(Conv2d( 1, 16, 9, same_padding=True, bn=bn), nn.MaxPool2d(2), Conv2d(16, 32, 7, same_padding=True, bn=bn), nn.MaxPool2d(2), Conv2d(32, 16, 7, same_padding=True, bn=bn), Conv2d(16, 8, 7, same_padding=True, bn=bn)) self.branch2 = nn.Sequential(Conv2d( 1, 20, 7, same_padding=True, bn=bn), nn.MaxPool2d(2), Conv2d(20, 40, 5, same_padding=True, bn=bn), nn.MaxPool2d(2), Conv2d(40, 20, 5, same_padding=True, bn=bn), Conv2d(20, 10, 5, same_padding=True, bn=bn)) self.branch3 = nn.Sequential(Conv2d( 1, 24, 5, same_padding=True, bn=bn), nn.MaxPool2d(2), Conv2d(24, 48, 3, same_padding=True, bn=bn), nn.MaxPool2d(2), Conv2d(48, 24, 3, same_padding=True, bn=bn), Conv2d(24, 12, 3, same_padding=True, bn=bn)) self.fuse = nn.Sequential(Conv2d( 30, 1, 1, same_padding=True, bn=bn))
def __init__(self): super(Model, self).__init__() self.prior = nn.Sequential( Conv2d(3, 64, 3, same_padding=True), Conv2d(64, 64, 3, same_padding=True), nn.MaxPool2d(2), Conv2d(64, 128, 3, same_padding=True), Conv2d(128, 128, 3, same_padding=True), nn.MaxPool2d(2), Conv2d(128, 256, 3, same_padding=True), Conv2d(256, 256, 3, same_padding=True), Conv2d(256, 256, 3, same_padding=True), nn.MaxPool2d(2), Conv2d(256, 512, 3, same_padding=True), Conv2d(512, 512, 3, same_padding=True), Conv2d(512, 512, 3, same_padding=True), nn.MaxPool2d(2), Conv2d(512, 512, 3, same_padding=True), Conv2d(512, 512, 3, same_padding=True), Conv2d(512, 512, 3, same_padding=True), Conv2d(512, 256, 1, same_padding=True), ConvTranspose2d(256, 128, 2, stride=2, padding=0), Conv2d(128, 128, 3, same_padding=True), Conv2d(128, 3, 1, same_padding=True)) self.vgg16 = nn.Sequential( Conv2d(3, 64, 3, same_padding=True), Conv2d(64, 64, 3, same_padding=True), nn.MaxPool2d(2), Conv2d(64, 128, 3, same_padding=True), Conv2d(128, 128, 3, same_padding=True), nn.MaxPool2d(2), Conv2d(128, 256, 3, same_padding=True), Conv2d(256, 256, 3, same_padding=True), Conv2d(256, 256, 3, same_padding=True), nn.MaxPool2d(2), Conv2d(256, 512, 3, same_padding=True), Conv2d(512, 512, 3, same_padding=True), Conv2d(512, 512, 3, same_padding=True), nn.MaxPool2d(2), Conv2d(512, 512, 3, same_padding=True), Conv2d(512, 512, 3, same_padding=True), Conv2d(512, 512, 3, same_padding=True), Conv2d(512, 256, 1, same_padding=True), ConvTranspose2d(256, 128, 2, stride=2, padding=0)) self.map = nn.Sequential(Conv2d(128, 128, 3, same_padding=True), Conv2d(128, 2, 1, same_padding=True)) self.scale = nn.Sequential( Conv2d(128, 128, 3, same_padding=True), Conv2d(128, 2, 1, same_padding=True, relu=False), nn.AdaptiveAvgPool2d(1), nn.Hardtanh(-1.0, 1.0))
def __init__(self, pool, bn=False): super(base, self).__init__() kernel_size = 5 self.pool = pool if kernel_size == 7: self.c1 = Conv2d(1, 16, 9, same_padding=True, bn=bn) self.c2 = Conv2d(16, 32, 7, same_padding=True, bn=bn) self.c3_5 = nn.Sequential( Conv2d(32, 16, 7, same_padding=True, bn=bn), Conv2d(16, 8, 7, same_padding=True, bn=bn), Conv2d(8, 1, 1, same_padding=True, bn=bn)) if kernel_size == 5: self.c1 = Conv2d(1, 20, 7, same_padding=True, bn=bn) self.c2 = Conv2d(20, 40, 5, same_padding=True, bn=bn) self.c3_5 = nn.Sequential( Conv2d(40, 20, 5, same_padding=True, bn=bn), Conv2d(20, 10, 5, same_padding=True, bn=bn), Conv2d(10, 1, 1, same_padding=True, bn=bn)) if kernel_size == 3: self.c1 = Conv2d(1, 24, 5, same_padding=True, bn=bn) self.c2 = Conv2d(24, 48, 3, same_padding=True, bn=bn) self.c3_5 = nn.Sequential( Conv2d(48, 24, 3, same_padding=True, bn=bn), Conv2d(24, 12, 3, same_padding=True, bn=bn), Conv2d(12, 1, 1, same_padding=True, bn=bn)) self.pool2 = nn.MaxPool2d(2, stride=2) self.pool2s1 = nn.MaxPool2d(2, stride=1) self.pool3s1 = nn.MaxPool2d(3, stride=1, padding=1) self.pool4 = nn.MaxPool2d(4, stride=2, padding=1) self.pool8 = nn.MaxPool2d(8, stride=2, padding=3) self.padding = nn.ReplicationPad2d((0, 1, 0, 1))
def __init__(self, bn=False, num_classes=10): super(CMTL, self).__init__() self.num_classes = num_classes self.base_layer = nn.Sequential( Conv2d(1, 16, 9, same_padding=True, NL='prelu', bn=bn), Conv2d(16, 32, 7, same_padding=True, NL='prelu', bn=bn)) self.hl_prior_1 = nn.Sequential( Conv2d(32, 16, 9, same_padding=True, NL='prelu', bn=bn), nn.MaxPool2d(2), Conv2d(16, 32, 7, same_padding=True, NL='prelu', bn=bn), nn.MaxPool2d(2), Conv2d(32, 16, 7, same_padding=True, NL='prelu', bn=bn), Conv2d(16, 8, 7, same_padding=True, NL='prelu', bn=bn)) self.hl_prior_2 = nn.Sequential( nn.AdaptiveMaxPool2d((32, 32)), Conv2d(8, 4, 1, same_padding=True, NL='prelu', bn=bn)) self.hl_prior_fc1 = FC(4 * 1024, 512, NL='prelu') self.hl_prior_fc2 = FC(512, 256, NL='prelu') self.hl_prior_fc3 = FC(256, self.num_classes, NL='prelu') self.de_stage_1 = nn.Sequential( Conv2d(32, 20, 7, same_padding=True, NL='prelu', bn=bn), nn.MaxPool2d(2), Conv2d(20, 40, 5, same_padding=True, NL='prelu', bn=bn), nn.MaxPool2d(2), Conv2d(40, 20, 5, same_padding=True, NL='prelu', bn=bn), Conv2d(20, 10, 5, same_padding=True, NL='prelu', bn=bn)) self.de_stage_2 = nn.Sequential( Conv2d(18, 24, 3, same_padding=True, NL='prelu', bn=bn), Conv2d(24, 32, 3, same_padding=True, NL='prelu', bn=bn), nn.ConvTranspose2d(32, 16, 4, stride=2, padding=1, output_padding=0, bias=True), nn.PReLU(), nn.ConvTranspose2d(16, 8, 4, stride=2, padding=1, output_padding=0, bias=True), nn.PReLU(), Conv2d(8, 1, 1, same_padding=True, NL='relu', bn=bn))