List of commits:
Subject Hash Author Date (UTC)
reduce model size, discard middle deform (kernal size 5) 00fb477cf699a8f2eed8e861f241c077b2046000 Thai Thien 2020-02-27 16:11:51
shanghaitech same size density map 25fc2e9395dd67bb6cc273c7fe6cd64c3b154120 Thai Thien 2020-02-27 16:03:05
fix target1.unsqueeze(0) bb5c46f121207fd9838ee085314df40513e2ed32 Thai Thien 2020-02-27 15:56:07
because GPU too small, we crop shanghaitech A 0f97517dd8de5d3d75cf49af9aa9d20e4595ea3e Thai Thien 2020-02-27 15:52:21
meow 3b9576511e597b4894c7c95ca06dc5219ef9c524 tthien 2020-02-27 15:44:39
fix wrong py name in script, dataset use only 1 worker 3bd765c9aa79e47049a94547e57deb68c947001c Thai Thien 2020-02-27 15:41:44
minor fix 5505b9a8b28df105e11a99d3462323ae9d507102 Thai Thien 2020-02-27 15:28:37
get ready for short training run with 30 epochs 66dda0858561897cd5f81e10077459adb39d86dd Thai Thien 2020-02-27 15:22:01
implement attn_can_adcrowdnet ffd38664a43d861c20cdc225746b9ce2a00260c7 Thai Thien 2020-02-27 15:10:27
WIP: add can-adcrowdnet 5620b83449b31d00a367c8de77e431e19a5ccfb3 Thai Thien 2020-02-25 11:31:38
add readable timestamp viz ae1fdb49ddb9ea77659529dceb7fb87c2790c8dc Thai Thien 2020-02-24 03:49:57
change save name prefix c53a86f30fb8fd4e8f3a409eb67827d56a43ae5c Thai Thien 2020-02-02 10:48:15
training flow that work fb242273e8f696916f9d1ff4bb76b4e5869799ef Thai Thien 2020-02-02 10:42:01
fix the dataloader for shanghaitech 5f2aee9f316e6555e6a70c6ad037a4e6b491867b Thai Thien 2020-02-02 09:19:50
context aware visualize seem ok 1bdb6ffe77ca4e40ef8f299b2506df2266243db4 Thai Thien 2020-02-02 05:07:10
visualize eval context aware network seem ok f3fe45c23dfeab3730624737efabb0b14d23c25b Thai Thien 2020-02-02 04:50:34
visualize_shanghaitech_pacnn_with_perspective run without error 12366a2de2bd60ff4bd36e6132d44e37dedf7462 Thai Thien 2020-02-02 04:21:16
eval context aware network on ShanghaiTechB can run e8c454d2b6d287c830c1286c9a37884b3cfc615f Thai Thien 2020-02-02 04:09:14
import ShanghaiTechDataPath in data_util e81eb56315d44375ff5c0e747d61456601492f8f Thai Thien 2020-02-02 04:04:36
add model_context_aware_network.py 2a36025c001d85afc064c090f4d22987b328977b Thai Thien 2020-02-02 03:46:38
Commit 00fb477cf699a8f2eed8e861f241c077b2046000 - reduce model size, discard middle deform (kernal size 5)
Author: Thai Thien
Author date (UTC): 2020-02-27 16:11
Committer name: Thai Thien
Committer date (UTC): 2020-02-27 16:11
Parent(s): 0528a58508989c20be4c013606c513e0570258df
Signing key:
Tree: 3d0b3fff8076561282b1d174068b99668478e0f7
File Lines added Lines deleted
models/attn_can_adcrowdnet.py 15 12
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)
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/hahattpro/crowd_counting_framework

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/hahattpro/crowd_counting_framework

Clone this repository using git:
git clone git://git.rocketgit.com/user/hahattpro/crowd_counting_framework

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main