File models/attn_can_adcrowdnet.py changed (mode: 100644) (index 1f95223..59bb7ff) |
... |
... |
class AttnCanAdcrowdNet(nn.Module): |
20 |
20 |
self.concat_filter_layer = nn.Conv2d(1024, 512, kernel_size=3, padding=2, dilation=2) |
self.concat_filter_layer = nn.Conv2d(1024, 512, kernel_size=3, padding=2, dilation=2) |
21 |
21 |
|
|
22 |
22 |
self.deform_conv_1_3 = DeformConv2d(512, 256, kernel_size=3, stride=1, padding=1) |
self.deform_conv_1_3 = DeformConv2d(512, 256, kernel_size=3, stride=1, padding=1) |
23 |
|
self.deform_conv_1_5 = DeformConv2d(512, 256, kernel_size=5, stride=1, padding=2) |
|
|
23 |
|
# self.deform_conv_1_5 = DeformConv2d(512, 256, kernel_size=5, stride=1, padding=2) |
24 |
24 |
self.deform_conv_1_7 = DeformConv2d(512, 256, kernel_size=7, stride=1, padding=3) |
self.deform_conv_1_7 = DeformConv2d(512, 256, kernel_size=7, stride=1, padding=3) |
25 |
|
self.concat_filter_layer_1 = nn.Conv2d(256 * 3, 256, kernel_size=3, padding=2, dilation=2) |
|
|
25 |
|
self.concat_filter_layer_1 = nn.Conv2d(256 * 2, 256, kernel_size=3, padding=2, dilation=2) |
26 |
26 |
|
|
27 |
27 |
self.deform_conv_2_3 = DeformConv2d(256, 128, kernel_size=3, stride=1, padding=1) |
self.deform_conv_2_3 = DeformConv2d(256, 128, kernel_size=3, stride=1, padding=1) |
28 |
|
self.deform_conv_2_5 = DeformConv2d(256, 128, kernel_size=5, stride=1, padding=2) |
|
|
28 |
|
# self.deform_conv_2_5 = DeformConv2d(256, 128, kernel_size=5, stride=1, padding=2) |
29 |
29 |
self.deform_conv_2_7 = DeformConv2d(256, 128, kernel_size=7, stride=1, padding=3) |
self.deform_conv_2_7 = DeformConv2d(256, 128, kernel_size=7, stride=1, padding=3) |
30 |
|
self.concat_filter_layer_2 = nn.Conv2d(128 * 3, 128, kernel_size=3, padding=2, dilation=2) |
|
|
30 |
|
self.concat_filter_layer_2 = nn.Conv2d(128 * 2, 128, kernel_size=3, padding=2, dilation=2) |
31 |
31 |
|
|
32 |
32 |
self.deform_conv_3_3 = DeformConv2d(128, 64, kernel_size=3, stride=1, padding=1) |
self.deform_conv_3_3 = DeformConv2d(128, 64, kernel_size=3, stride=1, padding=1) |
33 |
|
self.deform_conv_3_5 = DeformConv2d(128, 64, kernel_size=5, stride=1, padding=2) |
|
|
33 |
|
# self.deform_conv_3_5 = DeformConv2d(128, 64, kernel_size=5, stride=1, padding=2) |
34 |
34 |
self.deform_conv_3_7 = DeformConv2d(128, 64, kernel_size=7, stride=1, padding=3) |
self.deform_conv_3_7 = DeformConv2d(128, 64, kernel_size=7, stride=1, padding=3) |
35 |
|
self.concat_filter_layer_3 = nn.Conv2d(64 * 3, 64, kernel_size=3, padding=2, dilation=2) |
|
|
35 |
|
self.concat_filter_layer_3 = nn.Conv2d(64 * 2, 64, kernel_size=3, padding=2, dilation=2) |
36 |
36 |
|
|
37 |
37 |
self.output_layer = nn.Conv2d(64, 1, kernel_size=1) |
self.output_layer = nn.Conv2d(64, 1, kernel_size=1) |
38 |
38 |
self.conv1_1 = nn.Conv2d(512, 512, kernel_size=1, bias=False) |
self.conv1_1 = nn.Conv2d(512, 512, kernel_size=1, bias=False) |
|
... |
... |
class AttnCanAdcrowdNet(nn.Module): |
92 |
92 |
x = F.relu(self.concat_filter_layer(x)) |
x = F.relu(self.concat_filter_layer(x)) |
93 |
93 |
|
|
94 |
94 |
x3 = self.deform_conv_1_3(x) |
x3 = self.deform_conv_1_3(x) |
95 |
|
x5 = self.deform_conv_1_5(x) |
|
|
95 |
|
# x5 = self.deform_conv_1_5(x) |
96 |
96 |
x7 = self.deform_conv_1_7(x) |
x7 = self.deform_conv_1_7(x) |
97 |
|
x = torch.cat((x3, x5, x7), 1) |
|
|
97 |
|
# x = torch.cat((x3, x5, x7), 1) |
|
98 |
|
x = torch.cat((x3, x7), 1) |
98 |
99 |
x = F.relu(self.concat_filter_layer_1(x)) |
x = F.relu(self.concat_filter_layer_1(x)) |
99 |
100 |
|
|
100 |
101 |
x3 = self.deform_conv_2_3(x) |
x3 = self.deform_conv_2_3(x) |
101 |
|
x5 = self.deform_conv_2_5(x) |
|
|
102 |
|
# x5 = self.deform_conv_2_5(x) |
102 |
103 |
x7 = self.deform_conv_2_7(x) |
x7 = self.deform_conv_2_7(x) |
103 |
|
x = torch.cat((x3, x5, x7), 1) |
|
|
104 |
|
# x = torch.cat((x3, x5, x7), 1) |
|
105 |
|
x = torch.cat((x3, x7), 1) |
104 |
106 |
x = F.relu(self.concat_filter_layer_2(x)) |
x = F.relu(self.concat_filter_layer_2(x)) |
105 |
107 |
|
|
106 |
108 |
x3 = self.deform_conv_3_3(x) |
x3 = self.deform_conv_3_3(x) |
107 |
|
x5 = self.deform_conv_3_5(x) |
|
|
109 |
|
# x5 = self.deform_conv_3_5(x) |
108 |
110 |
x7 = self.deform_conv_3_7(x) |
x7 = self.deform_conv_3_7(x) |
109 |
|
x = torch.cat((x3, x5, x7), 1) |
|
|
111 |
|
# x = torch.cat((x3, x5, x7), 1) |
|
112 |
|
x = torch.cat((x3, x7), 1) |
110 |
113 |
x = F.relu(self.concat_filter_layer_3(x)) |
x = F.relu(self.concat_filter_layer_3(x)) |
111 |
114 |
|
|
112 |
115 |
x = self.output_layer(x) |
x = self.output_layer(x) |