List of commits:
Subject Hash Author Date (UTC)
m3 t123 exp f76cec015c34648ec45f02865562f6d05d507eb2 Thai Thien 2020-04-03 15:27:22
m1 shb 35455b092280af7e7f3140601b909dc58b5c2590 Thai Thien 2020-04-02 10:42:43
m2 765cc07c3d3645b897f53b54f905b8a9c3aa0ac3 Thai Thien 2020-04-02 10:37:47
typo again 3e12138f4effbbb0fb8dc1e5aa98c7f8a689d737 Thai Thien 2020-04-02 10:34:01
ok dude 19a59daa4433b0dc4fb24023dff428928090ab7b Thai Thien 2020-04-02 10:31:17
typo 91cbb50105fb85140e9e34261bbaf580f788425d Thai Thien 2020-04-02 10:29:55
1 debug trainning script 5f075f3774502190ecb71f663222ee0808b5a2ef Thai Thien 2020-04-02 10:28:05
setting up code 6e83edd7283bfeec6ec1a6e5057719e8ae95e8ea Thai Thien 2020-04-02 10:25:18
fix typo f7565a25dc7058d1f344cc0d6e610fa2bf8f19e9 Thai Thien 2020-04-01 10:58:38
t4 aug 36b5bbc17111dca87cfa082f5a512b84576c8fca Thai Thien 2020-04-01 10:55:12
reproduce ccnn without batchnorm e4678b328ba9d00b9d94617a1cd0f34732f7b2ac Thai Thien 2020-03-30 16:48:35
change gpu number f4c616536d13d4caf383166caae0d8298cb73738 Thai Thien 2020-03-28 04:17:37
train custom ccnn_v2 8b6fca9cd3cb15111befd7332bc7e764d5494a66 Thai Thien 2020-03-28 03:51:07
v5 24e4a8a9c8948c21b0d6beadec0418adceec8577 Thai Thien 2020-03-20 17:56:32
hope it fix cuda bug 7b8cbb70550df279035ef56a22450d17fed6b29a Thai Thien 2020-03-20 17:55:24
ccnnv4 sha a4acad0caf5a18fc9ea037a5e3d6db9d6b6106c7 Thai Thien 2020-03-20 17:38:30
change gpu fa2c1c54858d8a57585c3801dc168c464ba689dd Thai Thien 2020-03-18 17:31:38
fix typo again d71ce17c4efbcc2cd31917f0e27e90bd964ac964 Thai Thien 2020-03-18 17:30:34
typo again c16871fb2cc035e168d62df9c5d4401bc465df95 Thai Thien 2020-03-18 17:27:45
fix minor typo 01d907dda5c1e4c08b5ca5607aa77365cfd70a2e Thai Thien 2020-03-18 17:25:32
Commit f76cec015c34648ec45f02865562f6d05d507eb2 - m3 t123 exp
Author: Thai Thien
Author date (UTC): 2020-04-03 15:27
Committer name: Thai Thien
Committer date (UTC): 2020-04-03 15:27
Parent(s): 35455b092280af7e7f3140601b909dc58b5c2590
Signer:
Signing key:
Signing status: N
Tree: 88da5a17b37cdc50ff844a9a8bc0bb7b9f66eb91
File Lines added Lines deleted
experiment_meow_main.py 5 1
models/meow_experiment/kitten_meow_1.py 69 0
train_script/meow_one/m2_t1_sha.sh 0 0
train_script/meow_one/m3_t1_sha.sh 3 3
train_script/meow_one/m3_t2_sha.sh 4 4
train_script/meow_one/m3_t3_sha.sh 13 0
File experiment_meow_main.py changed (mode: 100644) (index 7b76dc2..3852e31)
... ... from visualize_util import get_readable_time
11 11
12 12 import torch import torch
13 13 from torch import nn from torch import nn
14 from models.meow_experiment.kitten_meow_1 import M1, M2
14 from models.meow_experiment.kitten_meow_1 import M1, M2, M3
15 15 import os import os
16 16 from model_util import get_lr from model_util import get_lr
17 17
18 18 COMET_ML_API = "S3mM1eMq6NumMxk2QJAXASkUM" COMET_ML_API = "S3mM1eMq6NumMxk2QJAXASkUM"
19 19 PROJECT_NAME = "meow-one-experiment-insita" PROJECT_NAME = "meow-one-experiment-insita"
20 20
21
21 22 def very_simple_param_count(model): def very_simple_param_count(model):
22 23 result = sum([p.numel() for p in model.parameters()]) result = sum([p.numel() for p in model.parameters()])
23 24 return result return result
24 25
26
25 27 if __name__ == "__main__": if __name__ == "__main__":
26 28 experiment = Experiment(project_name=PROJECT_NAME, api_key=COMET_ML_API) experiment = Experiment(project_name=PROJECT_NAME, api_key=COMET_ML_API)
27 29 device = torch.device("cuda" if torch.cuda.is_available() else "cpu") device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
 
... ... if __name__ == "__main__":
61 63 model = M1() model = M1()
62 64 elif model_name == "M2": elif model_name == "M2":
63 65 model = M2() model = M2()
66 elif model_name == "M3":
67 model = M3()
64 68 else: else:
65 69 print("error: you didn't pick a model") print("error: you didn't pick a model")
66 70 exit(-1) exit(-1)
File models/meow_experiment/kitten_meow_1.py changed (mode: 100644) (index 055ce5f..43169dd)
... ... from models.deform_conv_v2 import DeformConv2d, TorchVisionBasicDeformConv2d
5 5 import collections import collections
6 6 import torch.nn.functional as F import torch.nn.functional as F
7 7
8 class M3(nn.Module):
9 """
10 A REAL-TIME DEEP NETWORK FOR CROWD COUNTING
11 https://arxiv.org/pdf/2002.06515.pdf
12 the improve version
13
14 we change 5x5 7x7 9x9 with 3x3
15 Keep the tail
16 """
17 def __init__(self, load_weights=False):
18 super(M3, self).__init__()
19 self.model_note = "We replace 5x5 7x7 9x9 with 3x3, no batchnorm yet, tail dilated"
20 # self.red_cnn = nn.Conv2d(3, 10, 9, padding=4)
21 # self.green_cnn = nn.Conv2d(3, 14, 7, padding=3)
22 # self.blue_cnn = nn.Conv2d(3, 16, 5, padding=2)
23
24 # ideal from crowd counting using DMCNN
25 self.front_cnn_1 = nn.Conv2d(3, 20, 3, padding=1)
26 self.front_cnn_2 = nn.Conv2d(20, 16, 3, padding=1)
27 self.front_cnn_3 = nn.Conv2d(16, 14, 3, padding=1)
28 self.front_cnn_4 = nn.Conv2d(14, 10, 3, padding=1)
29
30 self.c0 = nn.Conv2d(40, 40, 3, padding=1)
31 self.max_pooling = nn.MaxPool2d(kernel_size=2, stride=2)
32
33 self.c1 = nn.Conv2d(40, 60, 3, padding=1)
34
35 # ideal from CSRNet
36 self.c2 = nn.Conv2d(60, 40, 3, padding=2, dilation=2)
37 self.c3 = nn.Conv2d(40, 20, 3, padding=2, dilation=2)
38 self.c4 = nn.Conv2d(20, 10, 3, padding=2, dilation=2)
39 self.output = nn.Conv2d(10, 1, 1)
40
41 def forward(self,x):
42 #x_red = self.max_pooling(F.relu(self.red_cnn(x), inplace=True))
43 #x_green = self.max_pooling(F.relu(self.green_cnn(x), inplace=True))
44 #x_blue = self.max_pooling(F.relu(self.blue_cnn(x), inplace=True))
45
46 x_red = F.relu(self.front_cnn_1(x), inplace=True)
47 x_red = F.relu(self.front_cnn_2(x_red), inplace=True)
48 x_red = F.relu(self.front_cnn_3(x_red), inplace=True)
49 x_red = F.relu(self.front_cnn_4(x_red), inplace=True)
50 x_red = self.max_pooling(x_red)
51
52 x_green = F.relu(self.front_cnn_1(x), inplace=True)
53 x_green = F.relu(self.front_cnn_2(x_green), inplace=True)
54 x_green = F.relu(self.front_cnn_3(x_green), inplace=True)
55 x_green = self.max_pooling(x_green)
56
57 x_blue = F.relu(self.front_cnn_1(x), inplace=True)
58 x_blue = F.relu(self.front_cnn_2(x_blue), inplace=True)
59 x_blue = self.max_pooling(x_blue)
60
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
76
8 77
9 78 class M1(nn.Module): class M1(nn.Module):
10 79 """ """
File train_script/meow_one/m2_t1_sha.sh copied from file train_script/meow_one/m1_t2_sha.sh (similarity 100%)
File train_script/meow_one/m3_t1_sha.sh copied from file train_script/meow_one/m1_t1_sha.sh (similarity 72%) (mode: 100644) (index bcdb158..a01a2dd)
1 task="m1_t1_sha"
1 task="m3_t1_sha"
2 2
3 3 CUDA_VISIBLE_DEVICES=1 HTTPS_PROXY="http://10.30.58.36:81" nohup python experiment_meow_main.py \ CUDA_VISIBLE_DEVICES=1 HTTPS_PROXY="http://10.30.58.36:81" nohup python experiment_meow_main.py \
4 4 --task_id $task \ --task_id $task \
5 --note "m1 sha shanghaitech_keepfull with decay, change the head, keep the tail " \
6 --model "M1" \
5 --note "m3 sha shanghaitech_keepfull with decay, change the head, tail dilated" \
6 --model "M3" \
7 7 --input /data/rnd/thient/thient_data/ShanghaiTech/part_A \ --input /data/rnd/thient/thient_data/ShanghaiTech/part_A \
8 8 --lr 1e-4 \ --lr 1e-4 \
9 9 --decay 1e-4 \ --decay 1e-4 \
File train_script/meow_one/m3_t2_sha.sh renamed from train_script/meow_one/m1_t2_sha.sh (similarity 67%) (mode: 100644) (index a798494..e64545a)
1 task="m2_t1_sha"
1 task="m3_t2_sha"
2 2
3 3 CUDA_VISIBLE_DEVICES=2 HTTPS_PROXY="http://10.30.58.36:81" nohup python experiment_meow_main.py \ CUDA_VISIBLE_DEVICES=2 HTTPS_PROXY="http://10.30.58.36:81" nohup python experiment_meow_main.py \
4 4 --task_id $task \ --task_id $task \
5 --note "m2 sha shanghaitech_keepfull with decay, keep the head but change the tail " \
6 --model "M2" \
5 --note "m3 sha shanghaitech_keepfull with decay, change the head, tail dilated. x10 decay " \
6 --model "M3" \
7 7 --input /data/rnd/thient/thient_data/ShanghaiTech/part_A \ --input /data/rnd/thient/thient_data/ShanghaiTech/part_A \
8 8 --lr 1e-4 \ --lr 1e-4 \
9 --decay 1e-4 \
9 --decay 1e-3 \
10 10 --datasetname shanghaitech_keepfull \ --datasetname shanghaitech_keepfull \
11 11 --epochs 502 > logs/$task.log & --epochs 502 > logs/$task.log &
12 12
File train_script/meow_one/m3_t3_sha.sh added (mode: 100644) (index 0000000..0131e28)
1 task="m3_t3_sha"
2
3 CUDA_VISIBLE_DEVICES=3 HTTPS_PROXY="http://10.30.58.36:81" nohup python experiment_meow_main.py \
4 --task_id $task \
5 --note "m3 sha shanghaitech_keepfull with decay, change the head, tail dilated. x10 decay and x10 lr " \
6 --model "M3" \
7 --input /data/rnd/thient/thient_data/ShanghaiTech/part_A \
8 --lr 1e-3 \
9 --decay 1e-3 \
10 --datasetname shanghaitech_keepfull \
11 --epochs 502 > logs/$task.log &
12
13 echo logs/$task.log # for convenience
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