-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
99 lines (89 loc) · 2.91 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
from utils import(
MnistDataset,
tqdm,
load_and_test,
log_plot,
load_models,
train_and_store
)
import numpy as np
if __name__ == "__main__":
md = MnistDataset()
# split data
X_train, y_train = md.train_dataset()
X_test, y_test = md.test_dataset()
# change this to True if you don't wont to use pretrained models
train = False
if train:
kernel = 1
x1 = np.arange(0.1, 1, 0.1)
for i in tqdm(x1):
train_and_store(X_train, y_train, i, kernel)
x1 = np.arange(1,11)
for i in tqdm(x1):
train_and_store(X_train, y_train, i, kernel)
kernel = 2
x1 = np.arange(0.1, 1, 0.1)
for i in tqdm(x1):
train_and_store(X_train, y_train, i, kernel)
x1 = np.arange(1,31)
for i in tqdm(x1):
train_and_store(X_train, y_train, i, kernel)
error_random = []
error_last = []
error_avg = []
error_vote = []
kernel = 1
try:
for i in np.arange(0.1, 1, 0.1):
load_models(i, 1, 0)
load_models(i, 2, 0)
for i in np.arange(1, 11):
load_models(i, 1, 0)
load_models(i, 2, 0)
for i in np.arange(11, 31):
load_models(i, 2, 0)
except:
print("Error: are you sure you copied the files in the model dir?")
print("epoch: from 0.1 to 0.9 kernel:{}".format(kernel))
x1 = np.arange(0.1, 1, 0.1)
x2 = np.arange(1, 11)
for i in tqdm(x1):
e_r, e_l, e_a, e_v = load_and_test(X_train, X_test, y_test, i, kernel)
error_random.append(e_r)
error_last.append(e_l)
error_avg.append(e_a)
error_vote.append(e_v)
print("epoch: from 1 to 10 kernel:{}".format(kernel))
for i in tqdm(x2):
e_r, e_l, e_a, e_v = load_and_test(X_train, X_test, y_test, i, kernel)
error_random.append(e_r)
error_last.append(e_l)
error_avg.append(e_a)
error_vote.append(e_v)
log_plot(np.concatenate((x1, x2)), error_random,
error_last, error_avg, error_vote, kernel)
# now for kernel = 2
error_random = []
error_last = []
error_avg = []
error_vote = []
kernel = 2
print("epoch: from 0.1 to 0.9 kernel:{}".format(kernel))
x1 = np.arange(0.1, 1, 0.1)
x2 = np.arange(1, 31)
for i in tqdm(x1):
e_r, e_l, e_a, e_v = load_and_test(X_train, X_test, y_test, i, kernel)
error_random.append(e_r)
error_last.append(e_l)
error_avg.append(e_a)
error_vote.append(e_v)
print("epoch: from 1 to 30 kernel:{}".format(kernel))
for i in tqdm(x2):
e_r, e_l, e_a, e_v = load_and_test(X_train, X_test, y_test, i, kernel)
error_random.append(e_r)
error_last.append(e_l)
error_avg.append(e_a)
error_vote.append(e_v)
log_plot(np.concatenate((x1, x2)), error_random,
error_last, error_avg, error_vote, kernel)