List of commits:
Subject Hash Author Date (UTC)
we add head experiment 82a25e6b89945609486cbafc433eaea20dcdee39 Thai Thien 2020-04-27 16:23:50
CompactCNNV3 7de3766d085ebdbdf82b024eb517568dd82d8d6d Thai Thien 2020-04-27 16:23:20
no_norm da3c84dca19b0d281082679d88af3b9d27165bfe Thai Thien 2020-04-25 17:32:45
M4_t3_sha_c_shb d0d61ff74ed23f595d05d6a813c0a93239f61438 Thai Thien 2020-04-25 17:17:56
training script 624ecec7b12641f734e12ee2ebb6158c7c89683a Thai Thien 2020-04-25 17:08:25
clean up trash 05fa10a45e7c4f9d0ba6b80e578a0f934a86121e Thai Thien 2020-04-25 17:08:04
increase epoch sha 96e0315a34286751258902b1e954ea5e43145ee1 Thai Thien 2020-04-23 17:24:53
turn off debug 36a2603484395ed130dd7dcb69c98c7057adf3ec Thai Thien 2020-04-23 17:21:51
chang proxy ce5434adf6002e3c1e14eee8fb50023ba9f1da39 Thai Thien 2020-04-23 17:19:00
fix typo 4f5c034e3fcbd9d3dd66333c7e81db79053c210b Thai Thien 2020-04-23 17:12:23
M4_t3 9ed8f35d94e43d0869d9ee07d98395ed4d4cd3fd Thai Thien 2020-04-23 16:18:49
fix b2235d1abdb20c3e1bfcc0d42870dad4b706babc Thai Thien 2020-04-23 16:13:17
debug 6cda7a90f14c5768be5bfbb9d87a985cae845f4c Thai Thien 2020-04-23 11:27:53
best score checkpoint , timer bb26cec915aa04d68a0dd00911c273542f9b34b5 Thai Thien 2020-04-23 11:16:24
typo 2636cf5b78f062c89196c4f462afc4b72aa39798 Thai Thien 2020-04-19 12:10:51
M4 317900419b7ba25c679dd582a6de5fc00fc764ec Thai Thien 2020-04-19 12:09:51
m4 t2 a02b9610e868f4ba5e64496dc0c861a269f4cb9f Thai Thien 2020-04-17 16:01:39
fix url 358f164d558dab393f65c0829d8d9c37b1437ff3 Thai Thien 2020-04-16 14:32:49
increase epoch 03be68a9e02df1ffa245394ea3096990e8f9d44b Thai Thien 2020-04-16 14:30:15
add load model 044a398d62add2e854b79b0b3c48c961a4a20bb0 Thai Thien 2020-04-16 14:27:43
Commit 82a25e6b89945609486cbafc433eaea20dcdee39 - we add head experiment
We replace 5x5 7x7 9x9 with 3x3, no batchnorm yet, keep tail, no dilated
Author: Thai Thien
Author date (UTC): 2020-04-27 16:23
Committer name: Thai Thien
Committer date (UTC): 2020-04-27 16:23
Parent(s): 7de3766d085ebdbdf82b024eb517568dd82d8d6d
Signing key:
Tree: 8b8a2c67344e2cbcdb396b60e1e27e98d1524ccd
File Lines added Lines deleted
models/meow_experiment/ccnn_head.py 75 0
File models/meow_experiment/ccnn_head.py added (mode: 100644) (index 0000000..1d2e772)
1 import torch.nn as nn
2 import torch
3 import collections
4 import torch.nn.functional as F
5
6
7 class H1(nn.Module):
8 """
9 A REAL-TIME DEEP NETWORK FOR CROWD COUNTING
10 https://arxiv.org/pdf/2002.06515.pdf
11 the improve version
12
13 we change 5x5 7x7 9x9 with 3x3
14 Keep the tail
15 """
16 def __init__(self, load_weights=False):
17 super(H1, self).__init__()
18 self.model_note = "We replace 5x5 7x7 9x9 with 3x3, no batchnorm yet, keep tail, no dilated"
19 # self.red_cnn = nn.Conv2d(3, 10, 9, padding=4)
20 # self.green_cnn = nn.Conv2d(3, 14, 7, padding=3)
21 # self.blue_cnn = nn.Conv2d(3, 16, 5, padding=2)
22
23 # ideal from crowd counting using DMCNN
24 self.front_cnn_1 = nn.Conv2d(3, 10, 3, padding=1)
25 self.front_cnn_2 = nn.Conv2d(10, 20, 3, padding=1)
26 self.front_cnn_3 = nn.Conv2d(20, 20, 3, padding=1)
27 self.front_cnn_4 = nn.Conv2d(20, 20, 3, padding=1)
28
29 self.c0 = nn.Conv2d(60, 40, 3, padding=1)
30 self.max_pooling = nn.MaxPool2d(kernel_size=2, stride=2)
31
32 self.c1 = nn.Conv2d(40, 60, 3, padding=1)
33
34 # ideal from CSRNet
35 self.c2 = nn.Conv2d(60, 40, 3, padding=1)
36 self.c3 = nn.Conv2d(40, 20, 3, padding=1)
37 self.c4 = nn.Conv2d(20, 10, 3, padding=1)
38 self.output = nn.Conv2d(10, 1, 1)
39
40 def forward(self,x):
41 #x_red = self.max_pooling(F.relu(self.red_cnn(x), inplace=True))
42 #x_green = self.max_pooling(F.relu(self.green_cnn(x), inplace=True))
43 #x_blue = self.max_pooling(F.relu(self.blue_cnn(x), inplace=True))
44
45 x_red = F.relu(self.front_cnn_1(x), inplace=True)
46 x_red = F.relu(self.front_cnn_2(x_red), inplace=True)
47 x_red = F.relu(self.front_cnn_3(x_red), inplace=True)
48 x_red = F.relu(self.front_cnn_4(x_red), inplace=True)
49 x_red = self.max_pooling(x_red)
50
51 x_green = F.relu(self.front_cnn_1(x), inplace=True)
52 x_green = F.relu(self.front_cnn_2(x_green), inplace=True)
53 x_green = F.relu(self.front_cnn_3(x_green), inplace=True)
54 x_green = self.max_pooling(x_green)
55
56 x_blue = F.relu(self.front_cnn_1(x), inplace=True)
57 x_blue = F.relu(self.front_cnn_2(x_blue), inplace=True)
58 x_blue = self.max_pooling(x_blue)
59
60 # x = self.max_pooling(x)
61 x = torch.cat((x_red, x_green, x_blue), 1)
62 x = F.relu(self.c0(x), inplace=True)
63
64 x = F.relu(self.c1(x), inplace=True)
65
66 x = F.relu(self.c2(x), inplace=True)
67 x = self.max_pooling(x)
68
69 x = F.relu(self.c3(x), inplace=True)
70 x = self.max_pooling(x)
71
72 x = F.relu(self.c4(x), inplace=True)
73
74 x = self.output(x)
75 return 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