In [ ]:


In [48]:
report = "../report/report.txt"

header = " #%{0}s%10s%10s%10s%10s%10s%10s"
fields = "Architecture\tLambda\tDecay\tMomtm\tAct_Fn\tScore\tTime".split("\t")
fmt = "%2d%{0}s%10g%10g%10g%10s%10g%10g"
print(fields)

def print_header(width):
    print(header.format(width) % tuple(fields))

def print_table(lines):
    max_width = max(map(lambda x: len(x[0]), lines))
    max_width += 1
    print_header(max_width)
    for i,line in enumerate(lines):
        print(fmt.format(max_width) % tuple([i+1] + line))

with open(report) as report:
    lines = []
    clean = lambda x: re.sub(r"(\s+)?[,:|]\s+[a-z]+$", "", x)
    for line in report:
        line = line.strip()
        if not line:
            continue
        if line.startswith("##"):
            if lines:
                print_table(lines)
                lines = []
            print(line)
                
        elif line.startswith("arch"):
            line = map(clean, line.split('=')[1:])
            for i in [1,2,3,5,6]:
                line[i] = float(line[i])
            lines.append(line)
        else:
            print(line)
    print_table(lines)


['Architecture', 'Lambda', 'Decay', 'Momtm', 'Act_Fn', 'Score', 'Time']
## (d) Linear Activation
Best Config: architecture = [50, 50, 50, 50, 2], lambda = 0.0, decay = 0.0, momentum = 0.0, actfn = linear, best_acc = 0.841617658418
Mean Time = 7.24027329683seconds, |Models| = 4, Total Time = 28.9610931873seconds
Best Config: architecture = [50, 800, 800, 500, 300, 2], lambda = 0.0, decay = 0.0, momentum = 0.0, actfn = linear, best_acc = 0.847499330564
Mean Time = 47.4305422306seconds, |Models| = 5, Total Time = 237.152711153seconds
 #                Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1                     [50, 2]         0         0         0    linear  0.832622   6.32704
 2                 [50, 50, 2]         0         0         0    linear  0.836159   5.44851
 3             [50, 50, 50, 2]         0         0         0    linear  0.839004   7.55398
 4         [50, 50, 50, 50, 2]         0         0         0    linear  0.841618   9.63156
 5                 [50, 50, 2]         0         0         0    linear  0.837581   5.44945
 6                [50, 500, 2]         0         0         0    linear  0.840042   22.7603
 7           [50, 500, 300, 2]         0         0         0    linear  0.843386   35.7083
 8      [50, 800, 500, 300, 2]         0         0         0    linear  0.845231   67.9852
 9 [50, 800, 800, 500, 300, 2]         0         0         0    linear  0.847499    105.25
## (e) Sigmoid Activation
Best Config: architecture = [50, 500, 2], lambda = 0.0, decay = 0.0, momentum = 0.0, actfn = sigmoid, best_acc = 0.754891784386
Mean Time = 164.787512875seconds, |Models| = 5, Total Time = 823.937564373seconds
 #                Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1                 [50, 50, 2]         0         0         0   sigmoid  0.746588   8.94158
 2                [50, 500, 2]         0         0         0   sigmoid  0.754892   76.4045
 3           [50, 500, 300, 2]         0         0         0   sigmoid  0.717564   124.218
 4      [50, 800, 500, 300, 2]         0         0         0   sigmoid  0.717564   244.296
 5 [50, 800, 800, 500, 300, 2]         0         0         0   sigmoid  0.717564   370.078
## (f) ReLu Activation
Best Config: architecture = [50, 50, 2], lambda = 0.0, decay = 0.0, momentum = 0.0, actfn = relu, best_acc = 0.82208895373
Mean Time = 77.6921462059seconds, |Models| = 5, Total Time = 388.46073103seconds
 #                Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1                 [50, 50, 2]         0         0         0      relu  0.822089   6.61757
 2                [50, 500, 2]         0         0         0      relu  0.818283   36.0388
 3           [50, 500, 300, 2]         0         0         0      relu  0.805328   58.1833
 4      [50, 800, 500, 300, 2]         0         0         0      relu  0.805597   113.869
 5 [50, 800, 800, 500, 300, 2]         0         0         0      relu  0.791835   173.752
## (g) Regularization Coefficients
Best Config: architecture = [50, 800, 500, 300, 2], lambda = 1e-06, decay = 0.0, momentum = 0.0, actfn = relu, best_acc = 0.8067120346
Mean Time = 125.604739046seconds, |Models| = 5, Total Time = 628.02369523seconds
('Best Regularization Coefficient=', 1e-06)
 #           Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1 [50, 800, 500, 300, 2]     1e-07         0         0      relu  0.802868   125.633
 2 [50, 800, 500, 300, 2]     5e-07         0         0      relu   0.80479   125.408
 3 [50, 800, 500, 300, 2]     1e-06         0         0      relu  0.806712   126.387
 4 [50, 800, 500, 300, 2]     5e-06         0         0      relu  0.805213   125.781
 5 [50, 800, 500, 300, 2]     1e-05         0         0      relu  0.798793   124.815
## (h) Regularization Coefficients -- Early stop
Epoch 00009: early stopping
Best Config: architecture = [50, 800, 500, 300, 2], lambda = 5e-07, decay = 0.0, momentum = 0.0, actfn = relu, best_acc = 0.80313689471
Mean Time = 101.398305035seconds, |Models| = 5, Total Time = 506.991525173seconds
('Best Regularization Coefficient with early stopping=', 5e-07)
 #           Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1 [50, 800, 500, 300, 2]     1e-07         0         0      relu  0.802868   116.136
 2 [50, 800, 500, 300, 2]     5e-07         0         0      relu  0.803137   116.616
 3 [50, 800, 500, 300, 2]     1e-06         0         0      relu  0.790835   116.909
 4 [50, 800, 500, 300, 2]     5e-06         0         0      relu  0.754507   40.0303
 5 [50, 800, 500, 300, 2]     1e-05         0         0      relu  0.797947   117.299
## (i) SGD Decay
Best Config: architecture = [50, 800, 500, 300, 2], lambda = 5e-07, decay = 5e-05, momentum = 0.0, actfn = relu, best_acc = 0.794602700158
Mean Time = 411.436831196seconds, |Models| = 6, Total Time = 2468.62098718seconds
('Best Decay', 5e-05)
 #           Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1 [50, 800, 500, 300, 2]     5e-07     1e-05         0      relu  0.717564   409.972
 2 [50, 800, 500, 300, 2]     5e-07     5e-05         0      relu  0.794603   410.182
 3 [50, 800, 500, 300, 2]     5e-07    0.0001         0      relu  0.717141   413.814
 4 [50, 800, 500, 300, 2]     5e-07    0.0003         0      relu  0.718141    410.25
 5 [50, 800, 500, 300, 2]     5e-07    0.0007         0      relu  0.295199   413.014
 6 [50, 800, 500, 300, 2]     5e-07     0.001         0      relu  0.778688   411.389
## (j) SGD Momentum
Best Config: architecture = [50, 800, 500, 300, 2], lambda = 0.0, decay = 5e-05, momentum = 0.99, actfn = relu, best_acc = 0.848345062112
Mean Time = 194.935000753seconds, |Models| = 5, Total Time = 974.675003767seconds
('Best moemntum', 0.99)
 #           Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1 [50, 800, 500, 300, 2]         0     5e-05      0.99      relu  0.848345   194.788
 2 [50, 800, 500, 300, 2]         0     5e-05      0.98      relu  0.818937   195.591
 3 [50, 800, 500, 300, 2]         0     5e-05      0.95      relu  0.785761   195.349
 4 [50, 800, 500, 300, 2]         0     5e-05       0.9      relu  0.766655   194.508
 5 [50, 800, 500, 300, 2]         0     5e-05      0.85      relu  0.724292   194.438
## (k) Combining all
Epoch 00008: early stopping
Best Config: architecture = [50, 800, 500, 300, 2], lambda = 5e-07, decay = 5e-05, momentum = 0.99, actfn = relu, best_acc = 0.768846344633
Mean Time = 36.4348239899seconds, |Models| = 1, Total Time = 36.4348239899seconds
 #           Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1 [50, 800, 500, 300, 2]     5e-07     5e-05      0.99      relu  0.768846   36.4348
## (j) Grid Search
Epoch 00014: early stopping
Epoch 00009: early stopping
Epoch 00010: early stopping
Epoch 00008: early stopping
Epoch 00008: early stopping
Epoch 00009: early stopping
Epoch 00008: early stopping
Epoch 00008: early stopping
Epoch 00008: early stopping
Epoch 00009: early stopping
Epoch 00008: early stopping
Epoch 00008: early stopping
Epoch 00008: early stopping
Epoch 00007: early stopping
Epoch 00008: early stopping
Epoch 00008: early stopping
Epoch 00008: early stopping
Best Config: architecture = [50, 800, 800, 500, 300, 2], lambda = 5e-07, decay = 1e-05, momentum = 0.99, actfn = relu, best_acc = 0.875293123297
Mean Time = 187.222276389seconds, |Models| = 75, Total Time = 14041.6707292seconds
 #                Architecture    Lambda     Decay     Momtm    Act_Fn     Score      Time
 1                 [50, 50, 2]     1e-07     1e-05      0.99      relu  0.845154   20.4715
 2                 [50, 50, 2]     1e-07     5e-05      0.99      relu  0.842771   20.3143
 3                 [50, 50, 2]     1e-07    0.0001      0.99      relu  0.805674   3.80574
 4                 [50, 50, 2]     5e-07     1e-05      0.99      relu  0.845231   20.3806
 5                 [50, 50, 2]     5e-07     5e-05      0.99      relu  0.845001   20.5079
 6                 [50, 50, 2]     5e-07    0.0001      0.99      relu  0.842771    20.161
 7                 [50, 50, 2]     1e-06     1e-05      0.99      relu  0.850229   20.5862
 8                 [50, 50, 2]     1e-06     5e-05      0.99      relu  0.844424   20.2211
 9                 [50, 50, 2]     1e-06    0.0001      0.99      relu  0.847768   20.3865
10                 [50, 50, 2]     5e-06     1e-05      0.99      relu  0.847269   20.7574
11                 [50, 50, 2]     5e-06     5e-05      0.99      relu  0.841579   20.5422
12                 [50, 50, 2]     5e-06    0.0001      0.99      relu  0.836505   20.1935
13                 [50, 50, 2]     1e-05     1e-05      0.99      relu  0.844462   20.7328
14                 [50, 50, 2]     1e-05     5e-05      0.99      relu  0.844501   20.9433
15                 [50, 50, 2]     1e-05    0.0001      0.99      relu  0.842656   20.1146
16                [50, 500, 2]     1e-07     1e-05      0.99      relu  0.851228   111.938
17                [50, 500, 2]     1e-07     5e-05      0.99      relu  0.810402   12.2399
18                [50, 500, 2]     1e-07    0.0001      0.99      relu  0.844693   112.215
19                [50, 500, 2]     5e-07     1e-05      0.99      relu  0.848729   112.914
20                [50, 500, 2]     5e-07     5e-05      0.99      relu  0.847153    112.21
21                [50, 500, 2]     5e-07    0.0001      0.99      relu  0.847192   111.397
22                [50, 500, 2]     1e-06     1e-05      0.99      relu  0.850575   112.272
23                [50, 500, 2]     1e-06     5e-05      0.99      relu  0.807865   13.1088
24                [50, 500, 2]     1e-06    0.0001      0.99      relu  0.843924   112.289
25                [50, 500, 2]     5e-06     1e-05      0.99      relu  0.850921   112.793
26                [50, 500, 2]     5e-06     5e-05      0.99      relu  0.845116   113.816
27                [50, 500, 2]     5e-06    0.0001      0.99      relu  0.843501   113.023
28                [50, 500, 2]     1e-05     1e-05      0.99      relu   0.85019   114.008
29                [50, 500, 2]     1e-05     5e-05      0.99      relu  0.847653   112.867
30                [50, 500, 2]     1e-05    0.0001      0.99      relu  0.844847   112.733
31           [50, 500, 300, 2]     1e-07     1e-05      0.99      relu  0.861608   188.814
32           [50, 500, 300, 2]     1e-07     5e-05      0.99      relu  0.855572   187.028
33           [50, 500, 300, 2]     1e-07    0.0001      0.99      relu  0.790797   18.3032
34           [50, 500, 300, 2]     5e-07     1e-05      0.99      relu  0.861569   188.087
35           [50, 500, 300, 2]     5e-07     5e-05      0.99      relu  0.789951   18.1336
36           [50, 500, 300, 2]     5e-07    0.0001      0.99      relu   0.80602   20.3596
37           [50, 500, 300, 2]     1e-06     1e-05      0.99      relu  0.861954   188.927
38           [50, 500, 300, 2]     1e-06     5e-05      0.99      relu  0.851305   190.002
39           [50, 500, 300, 2]     1e-06    0.0001      0.99      relu  0.851074   189.165
40           [50, 500, 300, 2]     5e-06     1e-05      0.99      relu  0.797447   18.0872
41           [50, 500, 300, 2]     5e-06     5e-05      0.99      relu  0.857533   187.847
42           [50, 500, 300, 2]     5e-06    0.0001      0.99      relu  0.856802   188.897
43           [50, 500, 300, 2]     1e-05     1e-05      0.99      relu  0.858801   188.426
44           [50, 500, 300, 2]     1e-05     5e-05      0.99      relu  0.856572   189.707
45           [50, 500, 300, 2]     1e-05    0.0001      0.99      relu  0.855957   189.398
46      [50, 800, 500, 300, 2]     1e-07     1e-05      0.99      relu  0.773113   36.0215
47      [50, 800, 500, 300, 2]     1e-07     5e-05      0.99      relu   0.86649   384.123
48      [50, 800, 500, 300, 2]     1e-07    0.0001      0.99      relu  0.752547    36.385
49      [50, 800, 500, 300, 2]     5e-07     1e-05      0.99      relu  0.869411   384.686
50      [50, 800, 500, 300, 2]     5e-07     5e-05      0.99      relu  0.862915   382.734
51      [50, 800, 500, 300, 2]     5e-07    0.0001      0.99      relu  0.861492   387.472
52      [50, 800, 500, 300, 2]     1e-06     1e-05      0.99      relu  0.868719   385.912
53      [50, 800, 500, 300, 2]     1e-06     5e-05      0.99      relu   0.86526   385.432
54      [50, 800, 500, 300, 2]     1e-06    0.0001      0.99      relu  0.859801   386.415
55      [50, 800, 500, 300, 2]     5e-06     1e-05      0.99      relu  0.775497   40.4417
56      [50, 800, 500, 300, 2]     5e-06     5e-05      0.99      relu  0.861492   384.428
57      [50, 800, 500, 300, 2]     5e-06    0.0001      0.99      relu  0.863991   384.855
58      [50, 800, 500, 300, 2]     1e-05     1e-05      0.99      relu  0.776381   36.3755
59      [50, 800, 500, 300, 2]     1e-05     5e-05      0.99      relu  0.866682   385.443
60      [50, 800, 500, 300, 2]     1e-05    0.0001      0.99      relu  0.860723   384.931
61 [50, 800, 800, 500, 300, 2]     1e-07     1e-05      0.99      relu  0.754315   56.1611
62 [50, 800, 800, 500, 300, 2]     1e-07     5e-05      0.99      relu  0.867874   602.568
63 [50, 800, 800, 500, 300, 2]     1e-07    0.0001      0.99      relu  0.861877   600.322
64 [50, 800, 800, 500, 300, 2]     5e-07     1e-05      0.99      relu  0.875293   595.138
65 [50, 800, 800, 500, 300, 2]     5e-07     5e-05      0.99      relu  0.870334   600.348
66 [50, 800, 800, 500, 300, 2]     5e-07    0.0001      0.99      relu  0.738746   56.2818
67 [50, 800, 800, 500, 300, 2]     1e-06     1e-05      0.99      relu  0.874371   598.163
68 [50, 800, 800, 500, 300, 2]     1e-06     5e-05      0.99      relu  0.870488    597.95
69 [50, 800, 800, 500, 300, 2]     1e-06    0.0001      0.99      relu  0.861723   601.545
70 [50, 800, 800, 500, 300, 2]     5e-06     1e-05      0.99      relu  0.724561   50.2382
71 [50, 800, 800, 500, 300, 2]     5e-06     5e-05      0.99      relu   0.87487   598.255
72 [50, 800, 800, 500, 300, 2]     5e-06    0.0001      0.99      relu  0.869219   599.841
73 [50, 800, 800, 500, 300, 2]     1e-05     1e-05      0.99      relu  0.734364   56.2232
74 [50, 800, 800, 500, 300, 2]     1e-05     5e-05      0.99      relu  0.734825   55.9429
75 [50, 800, 800, 500, 300, 2]     1e-05    0.0001      0.99      relu  0.741245   55.9157

In [24]:
import re
s = 'architecture=[50, 500, 2], lambda=5e-06, decay=5e-05, momentum=0.99, actfn=relu: score=0.816053507421 | time=11.3747119904'
ss = s.split('=')[1:]
def clean(t):
    return 
map(clean, ss)


Out[24]:
['[50, 500, 2]',
 '5e-06',
 '5e-05',
 '0.99',
 'relu',
 '0.816053507421',
 '11.3747119904']

In [7]:



Out[7]:
0.0001

In [ ]: