In [7]:
from os import environ
environ['optimizer'] = 'Adam'
environ['num_workers']= '2'
environ['batch_size']= str(2048)
environ['n_epochs']= '1000'
environ['batch_norm']= 'True'
environ['loss_func']='MAPE'
environ['layers'] = '600 350 200 180'
environ['dropouts'] = '0.1 '* 4
environ['lr'] = '1e-03'
environ['log'] = 'False'
environ['weight_decay'] = '0.01'
environ['cuda_device'] ='cuda:4'
environ['dataset'] = 'data/speedup_dataset2.pkl'
%run utils.ipynb
In [8]:
train_dl, val_dl, test_dl = train_dev_split(dataset, batch_size, num_workers, log=log)
db = fai.basic_data.DataBunch(train_dl, val_dl, test_dl, device=device)
function329_schedule_13
0
{'computations': {'computations_array': [{'comp_id': 1,
'lhs_data_type': 'p_int32',
'loop_iterators_ids': [2, 3],
'operations_histogram': [[5, 3, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0,
0,
0,
0]],
'rhs_accesses': {'accesses': [{'access': [[1,
0,
0],
[0,
1,
1]],
'comp_id': 0},
{'access': [[1,
0,
0],
[0,
1,
-1]],
'comp_id': 0},
{'access': [[1,
0,
1],
[0,
1,
0]],
'comp_id': 0},
{'access': [[1,
0,
1],
[0,
1,
1]],
'comp_id': 0},
{'access': [[1,
0,
1],
[0,
1,
-1]],
'comp_id': 0},
{'access': [[1,
0,
-1],
[0,
1,
0]],
'comp_id': 0},
{'access': [[1,
0,
-1],
[0,
1,
1]],
'comp_id': 0},
{'access': [[1,
0,
-1],
[0,
1,
-1]],
'comp_id': 0},
{'access': [[1,
0,
0],
[0,
1,
0]],
'comp_id': 0}],
'n': 9}}],
'n': 1},
'inputs': {'inputs_array': [{'data_type': 'p_int32',
'input_id': 0,
'loop_iterators_ids': [0, 1]}],
'n': 1},
'iterators': {'iterators_array': [{'it_id': 2,
'lower_bound': 1,
'upper_bound': 1048575},
{'it_id': 3,
'lower_bound': 1,
'upper_bound': 63},
{'it_id': 0,
'lower_bound': 0,
'upper_bound': 1048576},
{'it_id': 1,
'lower_bound': 0,
'upper_bound': 64}],
'n': 4},
'loops': {'loops_array': [{'assignments': {'assignments_array': [], 'n': 0},
'loop_id': 0,
'loop_it': 2,
'parent': -1,
'position': 0},
{'assignments': {'assignments_array': [{'id': 1,
'position': 0}],
'n': 1},
'loop_id': 1,
'loop_it': 3,
'parent': 0,
'position': 0}],
'n': 2},
'seed': 329,
'type': 2}
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/data/scratch/henni-mohammed/speedup_model/src/data/loop_ast.py in tile(self, loop_id, factor)
260 try:
--> 261 while loop.iterator.id != loop_id:
262 loop = loop.children[0]
AttributeError: 'Computation' object has no attribute 'iterator'
During handling of the above exception, another exception occurred:
NameError Traceback (most recent call last)
<ipython-input-8-ccbb4c277821> in <module>
----> 1 train_dl, val_dl, test_dl = train_dev_split(dataset, batch_size, num_workers, log=log)
2
3 db = fai.basic_data.DataBunch(train_dl, val_dl, test_dl, device=device)
<ipython-input-7-fa1393f8fd16> in train_dev_split(dataset, batch_size, num_workers, log, seed)
108
109 test_size = validation_size = 10000
--> 110 ds = DatasetFromPkl(dataset, maxsize=None, log=log)
111
112 indices = range(len(ds))
/data/scratch/henni-mohammed/speedup_model/src/data/dataset.py in __init__(self, filename, normalized, log, maxsize)
102 program = self.programs[self.program_indexes[i]]
103
--> 104 self.X.append(program.add_schedule(self.schedules[i]).__array__())
105
106
/data/scratch/henni-mohammed/speedup_model/src/data/loop_ast.py in add_schedule(self, schedule)
273 def add_schedule(self, schedule):
274
--> 275 return Loop_AST(self.name, self.dict_repr, schedule)
276
277 def dtype_to_int(self, dtype):
/data/scratch/henni-mohammed/speedup_model/src/data/loop_ast.py in __init__(self, name, dict_repr, schedule)
218
219 if self.schedule:
--> 220 self.apply_schedule()
221
222
/data/scratch/henni-mohammed/speedup_model/src/data/loop_ast.py in apply_schedule(self)
232 if type_ == 'tiling' and binary_schedule[1] == 1:
233 for loop_id, factor in zip(params, factors):
--> 234 self.tile(loop_id, factor)
235
236 elif type_ == 'interchange' and binary_schedule[0] == 1:
/data/scratch/henni-mohammed/speedup_model/src/data/loop_ast.py in tile(self, loop_id, factor)
269 from pprint import pprint
270 pprint(self.dict_repr)
--> 271 exit(1)
272
273 def add_schedule(self, schedule):
NameError: name 'exit' is not defined
In [3]:
input_size = train_dl.dataset.X.shape[1]
output_size = train_dl.dataset.Y.shape[1]
model = None
if batch_norm:
model = Model_BN(input_size, output_size, hidden_sizes=layers_sizes, drops=drops)
else:
model = Model(input_size, output_size)
if loss_func == 'MSE':
criterion = nn.MSELoss()
elif loss_func == 'MAPE':
criterion = mape_criterion
elif loss_func == 'SMAPE':
criterion = smape_criterion
l = fai.Learner(db, model, loss_func=criterion, metrics=[mape_criterion, rmse_criterion])
if optimizer == 'SGD':
l.opt_func = optim.SGD
In [4]:
l = l.load(f"r_speedup_{optimizer}_batch_norm_{batch_norm}_{loss_func}_nlayers_{len(layers_sizes)}_log_{log}")
In [125]:
l.lr_find()
l.recorder.plot()
LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.
In [4]:
l.fit_one_cycle(int(environ['n_epochs']), float(environ['lr']))
Total time: 45:08
epoch
train_loss
valid_loss
mape_criterion
rmse_criterion
1
93.423729
92.886703
92.886703
2.151367
2
90.008125
90.564941
90.564941
2.121669
3
87.441612
90.928154
90.928154
2.121073
4
85.988487
82.488853
82.488853
2.109176
5
84.849869
84.743462
84.743462
2.109800
6
84.042099
80.569115
80.569115
2.104256
7
83.058922
78.487328
78.487328
2.091212
8
81.217255
76.329285
76.329285
2.075416
9
79.180939
78.379677
78.379677
2.050333
10
77.059280
71.022118
71.022118
2.021203
11
75.367386
71.858322
71.858322
1.986719
12
73.749138
71.017029
71.017029
1.965973
13
72.885902
69.800888
69.800888
1.956259
14
71.780472
67.621407
67.621407
1.948395
15
70.662575
67.442947
67.442947
1.937873
16
69.739517
68.700760
68.700760
1.912090
17
68.980522
65.830566
65.830566
1.915783
18
68.324333
66.291122
66.291122
1.917668
19
67.750145
65.657021
65.657021
1.905084
20
67.099663
67.751289
67.751289
1.904829
21
66.849792
64.616577
64.616577
1.902748
22
66.454506
65.658096
65.658096
1.905234
23
65.963043
64.889687
64.889687
1.900072
24
65.687309
64.256416
64.256416
1.900549
25
65.685730
63.896393
63.896393
1.900532
26
65.078636
66.024559
66.024559
1.890217
27
64.544525
63.466793
63.466793
1.891660
28
64.266411
63.767700
63.767700
1.898761
29
64.300644
64.126572
64.126572
1.893826
30
63.753143
63.824013
63.824013
1.886515
31
63.550941
62.455593
62.455593
1.898615
32
63.390476
63.994282
63.994282
1.878803
33
62.869576
63.678230
63.678230
1.870327
34
62.677452
63.201164
63.201164
1.878952
35
62.294273
61.948036
61.948036
1.887334
36
61.851658
61.683105
61.683105
1.879877
37
61.486454
62.984062
62.984062
1.875436
38
61.430180
62.450489
62.450489
1.879397
39
60.895878
61.473839
61.473839
1.870083
40
60.701664
61.794250
61.794250
1.863638
41
60.703831
59.990906
59.990906
1.869468
42
60.489658
61.760258
61.760258
1.871353
43
60.445705
62.018623
62.018623
1.869082
44
60.618343
60.619663
60.619663
1.869898
45
59.932102
60.571568
60.571568
1.873598
46
59.550003
60.300293
60.300293
1.859173
47
59.295273
60.590412
60.590412
1.866113
48
59.366318
61.007244
61.007244
1.862718
49
58.741428
59.827194
59.827194
1.864277
50
58.125751
58.521187
58.521187
1.862353
51
58.231216
60.600887
60.600887
1.860663
52
57.859852
58.356655
58.356655
1.846711
53
58.080448
59.311199
59.311199
1.839760
54
57.674160
59.118694
59.118694
1.845981
55
57.989952
58.762867
58.762867
1.844624
56
57.189388
59.739880
59.739880
1.847841
57
56.805458
57.344543
57.344543
1.827263
58
56.927792
57.210911
57.210911
1.838151
59
56.446651
56.911793
56.911793
1.828753
60
57.314789
57.642555
57.642555
1.845361
61
56.211998
57.082108
57.082108
1.842204
62
56.541008
57.812870
57.812870
1.848601
63
56.269676
57.311989
57.311989
1.841315
64
55.498844
55.991177
55.991177
1.830838
65
54.654984
55.505642
55.505642
1.808162
66
54.469208
57.453400
57.453400
1.824829
67
55.756466
58.340237
58.340237
1.816156
68
53.878979
54.004669
54.004669
1.804037
69
53.915031
53.176514
53.176514
1.815466
70
54.387188
53.640770
53.640770
1.796725
71
54.520706
54.757725
54.757725
1.817876
72
54.440834
55.750206
55.750206
1.827223
73
52.921066
53.862232
53.862232
1.813870
74
51.912167
53.865524
53.865524
1.801448
75
52.851559
55.339523
55.339523
1.826535
76
52.225471
53.286713
53.286713
1.820012
77
53.613449
55.083450
55.083450
1.815953
78
52.415043
54.980469
54.980469
1.812408
79
51.986000
51.744564
51.744564
1.799595
80
50.847519
54.298313
54.298313
1.793131
81
51.508739
53.109951
53.109951
1.788502
82
50.698505
54.083305
54.083305
1.795928
83
49.459572
52.487263
52.487263
1.810230
84
49.645176
52.614468
52.614468
1.779876
85
49.944866
51.765957
51.765957
1.806614
86
49.436363
50.250168
50.250168
1.789255
87
48.894447
53.052895
53.052895
1.778217
88
48.024010
50.191875
50.191875
1.763596
89
47.054611
48.424953
48.424953
1.765152
90
47.827393
49.173283
49.173283
1.774695
91
46.416439
47.108303
47.108303
1.760648
92
47.977962
52.559898
52.559898
1.764530
93
46.690086
50.352188
50.352188
1.770443
94
45.861080
46.693974
46.693974
1.747919
95
45.097187
46.199917
46.199917
1.745117
96
44.542435
44.678600
44.678600
1.743595
97
44.209557
46.577957
46.577957
1.740955
98
43.707783
49.595966
49.595966
1.718057
99
43.942543
45.852474
45.852474
1.730177
100
42.688175
45.043205
45.043205
1.724928
101
42.229996
44.247334
44.247334
1.712397
102
43.504009
49.293007
49.293007
1.710653
103
41.612804
46.086716
46.086716
1.699165
104
40.751049
44.134087
44.134087
1.685948
105
39.959339
42.537525
42.537525
1.653144
106
39.630096
41.711414
41.711414
1.656723
107
39.448368
42.894669
42.894669
1.626352
108
39.217857
40.008839
40.008839
1.617849
109
37.500298
41.144558
41.144558
1.574913
110
38.143944
42.648933
42.648933
1.580345
111
38.013390
42.361748
42.361748
1.594960
112
37.394905
39.193226
39.193226
1.571904
113
36.521023
39.822884
39.822884
1.480904
114
36.648323
38.904179
38.904179
1.542928
115
36.038670
38.908005
38.908005
1.491711
116
35.450012
38.244247
38.244247
1.480929
117
36.912319
38.740875
38.740875
1.516708
118
34.309265
37.862049
37.862049
1.517176
119
36.295097
41.259937
41.259937
1.509100
120
35.909367
39.890354
39.890354
1.577595
121
35.651096
39.204170
39.204170
1.422837
122
34.990543
40.432850
40.432850
1.555114
123
34.354893
42.599201
42.599201
1.624999
124
34.985119
40.072464
40.072464
1.475487
125
35.478622
42.687031
42.687031
1.442627
126
33.720520
39.828445
39.828445
1.409073
127
35.498226
39.983025
39.983025
1.455086
128
33.431789
37.160717
37.160717
1.276967
129
32.926098
36.939423
36.939423
1.276082
130
33.597218
39.606991
39.606991
1.355963
131
34.437305
37.275333
37.275333
1.342840
132
33.127857
36.900997
36.900997
1.331129
133
32.778633
38.095993
38.095993
1.238150
134
33.084644
39.056728
39.056728
1.292956
135
33.625137
36.012817
36.012817
1.272156
136
32.444103
37.841064
37.841064
1.315038
137
31.788614
36.168797
36.168797
1.203314
138
33.218967
44.705338
44.705338
1.479144
139
31.906897
36.557972
36.557972
1.230343
140
31.002033
36.387039
36.387039
1.181952
141
31.098389
37.193787
37.193787
1.167181
142
32.132996
38.194859
38.194859
1.295227
143
30.813057
36.395706
36.395706
1.234051
144
30.909916
36.813267
36.813267
1.259240
145
31.046415
36.432796
36.432796
1.240296
146
31.110601
36.687782
36.687782
1.248238
147
30.722334
34.282196
34.282196
1.087705
148
30.371082
36.195553
36.195553
1.162783
149
30.634193
40.876049
40.876049
1.330243
150
31.168163
36.248688
36.248688
1.225981
151
31.421040
39.345921
39.345921
1.346880
152
31.550833
38.526199
38.526199
1.435257
153
30.880020
34.927494
34.927494
1.143413
154
30.101904
38.139950
38.139950
1.167680
155
29.408663
36.377659
36.377659
1.153711
156
32.200687
41.684929
41.684929
1.361820
157
31.670715
38.642654
38.642654
1.270820
158
30.200882
35.924175
35.924175
1.117240
159
30.926067
35.674110
35.674110
1.296241
160
30.411051
36.012215
36.012215
1.168657
161
29.359867
37.577206
37.577206
1.225620
162
29.248468
40.970772
40.970772
1.053959
163
28.901318
33.781521
33.781521
1.062111
164
28.376612
36.286755
36.286755
1.092795
165
29.314718
36.708366
36.708366
1.289292
166
30.815804
37.570915
37.570915
1.287095
167
29.344730
34.326561
34.326561
1.090107
168
28.954918
34.411575
34.411575
1.026488
169
28.427608
35.874065
35.874065
1.086574
170
28.995028
37.635605
37.635605
1.087841
171
28.385517
36.574280
36.574280
1.232468
172
28.290279
35.523605
35.523605
1.099374
173
31.197781
39.945423
39.945423
1.334375
174
29.142756
33.905937
33.905937
1.052841
175
28.890253
35.790375
35.790375
1.192218
176
28.611275
37.254780
37.254780
1.286893
177
28.169529
36.661125
36.661125
1.111457
178
29.074125
36.789036
36.789036
1.243622
179
28.903521
37.098026
37.098026
1.192256
180
28.088675
36.068771
36.068771
1.123754
181
28.248381
32.929607
32.929607
0.994405
182
28.492708
36.671429
36.671429
1.145542
183
29.715656
36.924007
36.924007
1.197908
184
29.766714
32.829159
32.829159
0.982243
185
28.746042
34.658680
34.658680
1.073998
186
28.496502
33.912632
33.912632
1.090034
187
28.866394
36.834583
36.834583
1.131060
188
29.339457
36.071270
36.071270
1.145940
189
28.755386
34.433186
34.433186
1.085106
190
28.251207
34.446064
34.446064
1.054435
191
28.381437
35.983681
35.983681
1.109422
192
27.564554
34.483917
34.483917
1.115098
193
26.570990
36.204716
36.204716
1.115065
194
27.457443
36.109566
36.109566
1.217181
195
27.436111
35.149189
35.149189
1.153856
196
28.179209
36.511330
36.511330
1.224901
197
26.639977
35.283924
35.283924
1.111858
198
27.400696
36.344658
36.344658
1.314768
199
29.826334
37.384705
37.384705
1.265070
200
27.377468
34.942219
34.942219
1.031972
201
27.258446
34.488743
34.488743
1.040999
202
28.341686
34.802811
34.802811
1.137810
203
28.513752
32.987247
32.987247
0.966048
204
26.902483
34.176987
34.176987
1.032551
205
27.038607
35.054035
35.054035
1.074166
206
28.963821
34.271477
34.271477
1.057474
207
28.175613
36.744225
36.744225
1.054023
208
27.422148
33.423111
33.423111
0.984831
209
26.879574
33.204124
33.204124
1.000941
210
29.344530
36.138439
36.138439
1.256953
211
27.193022
33.705208
33.705208
0.978992
212
26.574984
36.295052
36.295052
1.012068
213
28.766533
39.487171
39.487171
1.317726
214
27.124079
35.049259
35.049259
1.142368
215
27.472672
34.372227
34.372227
1.020166
216
26.355528
33.359673
33.359673
1.034296
217
26.775797
35.085617
35.085617
1.136977
218
28.232878
35.001961
35.001961
1.117813
219
28.054819
33.653423
33.653423
0.956515
220
27.306807
33.610516
33.610516
0.988703
221
26.701019
33.753139
33.753139
0.934315
222
28.513618
36.572571
36.572571
1.108264
223
28.175514
39.238861
39.238861
1.140818
224
26.749100
34.845196
34.845196
1.040005
225
28.133591
35.002987
35.002987
1.021567
226
27.908960
33.464874
33.464874
1.052810
227
26.296911
33.462784
33.462784
0.979090
228
26.119671
32.817814
32.817814
0.981565
229
25.988014
33.600380
33.600380
1.027300
230
26.749916
38.045277
38.045277
1.171329
231
25.919899
32.549049
32.549049
1.005221
232
26.503141
34.799355
34.799355
1.126047
233
27.462088
34.370514
34.370514
1.119003
234
25.483414
32.796364
32.796364
0.986773
235
25.143938
33.543446
33.543446
0.921569
236
27.256798
41.890621
41.890621
1.472408
237
27.069658
34.268593
34.268593
1.095925
238
25.626146
32.390125
32.390125
0.965881
239
28.270185
35.112858
35.112858
1.197518
240
26.129293
31.299929
31.299929
0.950459
241
25.017155
33.250843
33.250843
0.981579
242
28.546240
38.895733
38.895733
1.299099
243
27.667696
40.412239
40.412239
1.208112
244
27.466463
34.926674
34.926674
0.994409
245
26.297838
35.675686
35.675686
1.041025
246
25.837664
31.276300
31.276300
0.877386
247
27.382563
34.964649
34.964649
0.996456
248
25.695036
31.864119
31.864119
0.902165
249
26.589243
34.604458
34.604458
1.085777
250
25.836847
32.285252
32.285252
0.935580
251
26.057444
32.139496
32.139496
0.998137
252
25.515123
33.318531
33.318531
0.952754
253
25.770452
35.468956
35.468956
1.093512
254
25.500908
35.852406
35.852406
1.162715
255
25.361259
32.820103
32.820103
0.955706
256
28.853706
35.856178
35.856178
1.043907
257
25.564240
36.450459
36.450459
0.984776
258
26.340834
32.367432
32.367432
0.936163
259
25.765715
32.469135
32.469135
1.002516
260
25.586151
32.392941
32.392941
0.996761
261
25.320780
32.391006
32.391006
0.960164
262
25.168524
31.501518
31.501518
0.886114
263
24.980967
37.570057
37.570057
0.978841
264
25.039856
33.572643
33.572643
1.001031
265
26.529257
33.933159
33.933159
0.951180
266
25.869755
32.125038
32.125038
0.968716
267
24.407232
31.170362
31.170362
0.911761
268
24.807287
34.830055
34.830055
1.118431
269
25.982519
34.059483
34.059483
1.065744
270
24.508297
32.183044
32.183044
0.935880
271
24.286854
31.299429
31.299429
0.905082
272
24.028584
32.051636
32.051636
0.900796
273
24.488087
32.366882
32.366882
0.886403
274
24.591457
36.249931
36.249931
1.071584
275
24.109695
31.641600
31.641600
0.910208
276
23.699841
32.668598
32.668598
0.984391
277
24.877148
38.544636
38.544636
1.053829
278
24.075441
32.226650
32.226650
0.917561
279
23.872923
33.202194
33.202194
0.996410
280
23.857298
33.910538
33.910538
1.005015
281
24.062830
35.335945
35.335945
1.182038
282
23.694611
33.267471
33.267471
1.059803
283
23.586744
31.372515
31.372515
1.002061
284
25.407211
32.189861
32.189861
1.021998
285
23.487856
32.176826
32.176826
0.873721
286
24.548525
33.411446
33.411446
1.070864
287
23.746799
31.334044
31.334044
0.924413
288
23.056448
30.744553
30.744553
0.848518
289
23.220255
29.609571
29.609571
0.902469
290
26.606550
31.455488
31.455488
0.951145
291
24.324184
31.123957
31.123957
0.884873
292
23.601318
30.639290
30.639290
0.908620
293
23.256067
30.693604
30.693604
0.951119
294
23.468546
36.644188
36.644188
0.935704
295
23.082041
35.079773
35.079773
0.991752
296
23.198311
31.531912
31.531912
0.893457
297
23.411459
32.130669
32.130669
0.916283
298
23.447931
32.620998
32.620998
0.837349
299
23.418173
36.132603
36.132603
1.105531
300
24.552629
32.620022
32.620022
0.930266
301
23.089695
32.890755
32.890755
0.905763
302
22.995024
31.730312
31.730312
0.911833
303
23.308723
37.217789
37.217789
0.971185
304
23.469707
31.198460
31.198460
0.882952
305
23.288631
29.943830
29.943830
0.869753
306
23.875689
32.404163
32.404163
1.034444
307
23.810047
33.021000
33.021000
0.936096
308
22.653074
30.908770
30.908770
0.882151
309
22.541355
29.819460
29.819460
0.885131
310
22.973125
31.631922
31.631922
0.969034
311
23.083841
30.547844
30.547844
0.883471
312
22.953493
30.353054
30.353054
0.878498
313
22.479532
31.809734
31.809734
0.896587
314
23.377104
33.697193
33.697193
0.922625
315
22.531416
29.855516
29.855516
0.803868
316
23.979380
36.531200
36.531200
1.105819
317
23.029348
33.710808
33.710808
1.006019
318
22.754444
31.665760
31.665760
0.914472
319
23.045223
31.995647
31.995647
0.987929
320
24.802938
36.426296
36.426296
1.242105
321
22.903860
31.389177
31.389177
0.922558
322
22.897532
30.757359
30.757359
0.898649
323
22.071262
31.176394
31.176394
0.926640
324
22.302603
33.496983
33.496983
1.003352
325
22.696529
33.157959
33.157959
1.019879
326
22.206831
31.187950
31.187950
0.910020
327
22.430916
32.108555
32.108555
0.836346
328
23.363632
30.739073
30.739073
0.895830
329
21.920441
30.016001
30.016001
0.869675
330
22.654621
31.877682
31.877682
0.965833
331
22.456778
30.879557
30.879557
0.890036
332
21.835112
30.547707
30.547707
0.892623
333
22.950558
32.231445
32.231445
0.961082
334
22.641918
31.190937
31.190937
0.883059
335
22.391863
30.077229
30.077229
0.887276
336
21.825678
31.201479
31.201479
0.874746
337
21.929396
31.703747
31.703747
0.913503
338
22.114321
31.262888
31.262888
0.897873
339
22.255375
32.257145
32.257145
0.987418
340
21.516308
31.055069
31.055069
0.866648
341
21.780066
31.119778
31.119778
0.877982
342
21.928745
30.912075
30.912075
0.899803
343
23.069935
30.149940
30.149940
0.861979
344
21.972891
31.098553
31.098553
0.907958
345
22.763105
30.626051
30.626051
0.877580
346
21.794235
29.366579
29.366579
0.857488
347
22.008078
31.416065
31.416065
0.885416
348
21.296263
37.282524
37.282524
0.900297
349
21.912718
31.073544
31.073544
0.883205
350
21.693811
32.051483
32.051483
0.909462
351
21.124010
31.240728
31.240728
0.854305
352
21.423153
32.100945
32.100945
0.848509
353
21.261118
29.452200
29.452200
0.858050
354
21.611090
30.465622
30.465622
0.801553
355
21.001186
30.024084
30.024084
0.824635
356
22.011847
30.820822
30.820822
0.851494
357
21.753456
30.837734
30.837734
0.868175
358
21.731434
34.118027
34.118027
1.015847
359
21.168015
30.982712
30.982712
0.840182
360
22.695019
33.550556
33.550556
1.028217
361
21.332977
32.812496
32.812496
0.821068
362
21.554502
29.820454
29.820454
0.838471
363
21.550817
29.094250
29.094250
0.819488
364
21.270784
30.155769
30.155769
0.833044
365
21.196297
30.056921
30.056921
0.864647
366
20.805273
32.347954
32.347954
0.806086
367
20.950691
29.996269
29.996269
0.875347
368
20.785179
30.727106
30.727106
0.810430
369
20.711361
30.829437
30.829437
0.856253
370
22.384754
32.001652
32.001652
0.851036
371
21.168989
32.221874
32.221874
0.842884
372
20.893677
29.698332
29.698332
0.857130
373
21.091854
30.021406
30.021406
0.825766
374
20.901320
30.207632
30.207632
0.851027
375
20.465696
29.873453
29.873453
0.868507
376
20.910698
32.481735
32.481735
0.818452
377
22.071100
37.372929
37.372929
1.280528
378
21.523090
30.677456
30.677456
0.894106
379
21.051147
30.056681
30.056681
0.844973
380
21.277016
37.887123
37.887123
0.899381
381
21.058306
29.201265
29.201265
0.873207
382
20.397820
35.085377
35.085377
0.849859
383
20.428373
30.272606
30.272606
0.825856
384
20.639648
30.199144
30.199144
0.808246
385
20.853455
30.764318
30.764318
0.831441
386
20.715252
32.586666
32.586666
0.932385
387
22.734861
32.516033
32.516033
0.914500
388
21.534632
29.612213
29.612213
0.789968
389
20.910292
29.556524
29.556524
0.877321
390
20.401121
29.579050
29.579050
0.867446
391
21.685516
29.570728
29.570728
0.843794
392
21.184284
31.258287
31.258287
0.880590
393
20.740654
31.646885
31.646885
0.847608
394
20.377882
28.979078
28.979078
0.834601
395
20.823029
29.595682
29.595682
0.823866
396
21.010220
32.761490
32.761490
0.906316
397
21.691399
29.872484
29.872484
0.846540
398
20.535309
28.862680
28.862680
0.815005
399
21.257097
30.425934
30.425934
0.904062
400
20.441315
29.542583
29.542583
0.824441
401
21.436716
29.673115
29.673115
0.846149
402
20.377682
29.961506
29.961506
0.889306
403
20.296585
34.585514
34.585514
0.788908
404
20.323652
28.946640
28.946640
0.820772
405
20.474659
29.274656
29.274656
0.828503
406
20.870571
28.745275
28.745275
0.787625
407
20.306068
29.546560
29.546560
0.834301
408
20.925884
30.670446
30.670446
0.883481
409
20.282574
30.109241
30.109241
0.793878
410
20.248425
31.711435
31.711435
0.812172
411
20.402033
31.665981
31.665981
0.854510
412
20.905537
30.501328
30.501328
0.838574
413
20.176268
29.862406
29.862406
0.832434
414
20.176748
31.632710
31.632710
0.808291
415
20.250065
32.482403
32.482403
0.792285
416
20.054466
29.077406
29.077406
0.782281
417
22.013273
31.963310
31.963310
0.938765
418
20.554232
28.941990
28.941990
0.823217
419
20.034082
29.493748
29.493748
0.839953
420
19.805950
28.680843
28.680843
0.793167
421
20.012754
28.625881
28.625881
0.820954
422
20.571121
29.856009
29.856009
0.830377
423
20.893597
29.019703
29.019703
0.818913
424
20.022091
29.251379
29.251379
0.821455
425
19.953663
29.986902
29.986902
0.847029
426
20.175449
32.254326
32.254326
0.826874
427
20.121197
28.251232
28.251232
0.765793
428
19.703075
34.320843
34.320843
0.848079
429
19.625452
29.194220
29.194220
0.827396
430
19.823961
29.234501
29.234501
0.866847
431
20.077082
31.221746
31.221746
0.785974
432
19.562960
28.876188
28.876188
0.798593
433
20.124300
30.601238
30.601238
0.816879
434
20.246696
28.178406
28.178406
0.838261
435
20.770285
28.125269
28.125269
0.795397
436
19.879068
29.259546
29.259546
0.823099
437
19.691528
28.939587
28.939587
0.808469
438
19.599457
28.823338
28.823338
0.827701
439
19.700653
28.093182
28.093182
0.808369
440
19.761353
29.189981
29.189981
0.833378
441
20.525223
30.768887
30.768887
0.937565
442
19.884026
28.702646
28.702646
0.790882
443
19.504898
28.761332
28.761332
0.773987
444
19.643684
28.014353
28.014353
0.813970
445
19.844217
30.297432
30.297432
0.845744
446
19.496357
29.172981
29.172981
0.781155
447
19.644041
28.487400
28.487400
0.807753
448
19.365408
30.819744
30.819744
0.843257
449
19.521078
31.532700
31.532700
0.841266
450
19.456493
30.356873
30.356873
0.785845
451
19.648565
31.745150
31.745150
0.812724
452
19.593699
30.675659
30.675659
0.812390
453
20.048771
28.119640
28.119640
0.805636
454
19.289371
29.465569
29.465569
0.858308
455
19.906805
35.977478
35.977478
0.801470
456
19.246086
32.566921
32.566921
0.785453
457
19.046930
33.387695
33.387695
0.777202
458
20.706711
27.973434
27.973434
0.771132
459
19.532320
28.505552
28.505552
0.833862
460
19.190317
28.970850
28.970850
0.809045
461
19.118349
30.058697
30.058697
0.821459
462
18.995913
33.846058
33.846058
0.811710
463
19.434963
29.147669
29.147669
0.811450
464
19.144217
30.309462
30.309462
0.829537
465
19.286913
28.443413
28.443413
0.830206
466
19.138081
29.790941
29.790941
0.803123
467
19.566339
29.688787
29.688787
0.831225
468
19.017393
30.432978
30.432978
0.800006
469
19.200897
28.826660
28.826660
0.806616
470
19.077814
29.637991
29.637991
0.872812
471
19.297106
28.089090
28.089090
0.797123
472
19.248178
28.323915
28.323915
0.797561
473
19.471537
33.361996
33.361996
0.825895
474
19.137493
28.747469
28.747469
0.839534
475
19.087740
29.672346
29.672346
0.823931
476
19.093016
28.717791
28.717791
0.797999
477
19.288471
30.481037
30.481037
0.837468
478
18.715424
29.380821
29.380821
0.817564
479
18.850544
27.921947
27.921947
0.836809
480
19.967514
28.410894
28.410894
0.787467
481
19.000586
28.329756
28.329756
0.791516
482
19.012230
29.234493
29.234493
0.831665
483
19.427523
30.080803
30.080803
0.831058
484
19.091721
28.247032
28.247032
0.788731
485
19.320009
29.452084
29.452084
0.802656
486
18.684084
28.529751
28.529751
0.829016
487
19.066122
28.370623
28.370623
0.825954
488
18.752859
27.702585
27.702585
0.810707
489
18.915010
28.855024
28.855024
0.833701
490
18.890432
28.233650
28.233650
0.793416
491
18.661421
28.412495
28.412495
0.807095
492
18.625416
32.525017
32.525017
0.813924
493
19.042862
30.305803
30.305803
0.822418
494
18.830856
29.509148
29.509148
0.847423
495
18.604158
32.330986
32.330986
0.800880
496
18.548861
36.686813
36.686813
0.822160
497
18.734352
31.414082
31.414082
0.879719
498
21.489693
33.244453
33.244453
0.979087
499
19.575710
28.878981
28.878981
0.818416
500
19.235252
35.798065
35.798065
0.843767
501
18.970251
31.063808
31.063808
0.834666
502
18.794472
30.663954
30.663954
0.808094
503
19.522507
28.788944
28.788944
0.808638
504
19.042694
31.979513
31.979513
0.797237
505
18.731030
29.441072
29.441072
0.796457
506
18.685034
32.853844
32.853844
0.812230
507
18.687244
27.935768
27.935768
0.802739
508
19.053106
36.384274
36.384274
0.833893
509
18.487600
28.993994
28.993994
0.767522
510
18.930454
29.036371
29.036371
0.815594
511
18.757000
28.855068
28.855068
0.805587
512
19.914585
29.817194
29.817194
0.816499
513
19.164135
29.108395
29.108395
0.786850
514
18.590864
28.818531
28.818531
0.817846
515
18.586807
27.661900
27.661900
0.791212
516
18.600199
31.925699
31.925699
0.803102
517
19.260864
29.666262
29.666262
0.806355
518
18.585262
28.622156
28.622156
0.813290
519
18.432613
28.319435
28.319435
0.770556
520
18.740717
32.556770
32.556770
0.781645
521
18.342276
28.982544
28.982544
0.807039
522
18.419756
29.330782
29.330782
0.828422
523
18.596813
27.356737
27.356737
0.777246
524
18.479000
28.914984
28.914984
0.789031
525
18.286955
28.859993
28.859993
0.817922
526
18.300722
28.679691
28.679691
0.801912
527
18.411259
28.591101
28.591101
0.790872
528
18.466677
31.310768
31.310768
0.780634
529
18.748308
28.666344
28.666344
0.808915
530
18.389208
29.133528
29.133528
0.802566
531
19.157234
32.655762
32.655762
0.883345
532
18.492657
33.494709
33.494709
0.815507
533
18.171228
27.968496
27.968496
0.808676
534
18.365082
27.503294
27.503294
0.786708
535
18.288067
29.489275
29.489275
0.782427
536
18.122732
30.631668
30.631668
0.796378
537
18.323353
27.308079
27.308079
0.790524
538
18.275864
30.051615
30.051615
0.808777
539
18.293583
29.219412
29.219412
0.806456
540
17.954775
28.541504
28.541504
0.805398
541
18.066191
28.261681
28.261681
0.818398
542
17.964024
28.225599
28.225599
0.800760
543
18.867937
28.684799
28.684799
0.796958
544
18.307156
27.848352
27.848352
0.815688
545
18.222130
27.622999
27.622999
0.802000
546
18.121170
28.313740
28.313740
0.784680
547
18.081829
28.714735
28.714735
0.809561
548
17.929947
28.144703
28.144703
0.822806
549
18.456024
27.154905
27.154905
0.800913
550
18.283314
27.209984
27.209984
0.758437
551
18.178699
28.201706
28.201706
0.812562
552
17.990282
31.273769
31.273769
0.792225
553
18.173210
32.221287
32.221287
0.809525
554
18.046230
32.659435
32.659435
0.783259
555
18.059402
28.472418
28.472418
0.824534
556
17.947958
29.319368
29.319368
0.807815
557
17.903797
26.825281
26.825281
0.795264
558
17.928417
28.792412
28.792412
0.791423
559
17.954567
32.185600
32.185600
0.773542
560
18.110603
27.884933
27.884933
0.781463
561
18.145023
28.899963
28.899963
0.804412
562
17.746674
28.720743
28.720743
0.795243
563
17.885849
29.133881
29.133881
0.780703
564
18.646643
28.584585
28.584585
0.848611
565
17.976086
28.227648
28.227648
0.802864
566
17.998764
29.081551
29.081551
0.853913
567
17.917789
28.360426
28.360426
0.797072
568
17.933283
28.649822
28.649822
0.802096
569
21.522024
28.711487
28.711487
0.809169
570
18.529943
28.712231
28.712231
0.785515
571
18.288063
28.371950
28.371950
0.785830
572
17.972334
27.679632
27.679632
0.784952
573
18.002291
28.303097
28.303097
0.797607
574
17.853533
29.422052
29.422052
0.785309
575
17.687721
28.551638
28.551638
0.798720
576
17.769146
28.783237
28.783237
0.810928
577
18.325815
28.381691
28.381691
0.786729
578
17.722073
28.524647
28.524647
0.810884
579
18.020409
28.306974
28.306974
0.842434
580
17.638700
27.007015
27.007015
0.804997
581
17.689589
28.884638
28.884638
0.803661
582
17.843819
28.789013
28.789013
0.838733
583
17.941050
28.134237
28.134237
0.822000
584
17.932430
27.928556
27.928556
0.816374
585
17.798983
28.115591
28.115591
0.831435
586
17.846436
27.533155
27.533155
0.780688
587
17.880156
27.417297
27.417297
0.794735
588
17.729916
34.643021
34.643021
0.806141
589
17.771526
30.294962
30.294962
0.804006
590
17.615005
28.008430
28.008430
0.810962
591
17.708654
29.333738
29.333738
0.784271
592
18.061981
28.397350
28.397350
0.794360
593
17.578438
27.662868
27.662868
0.789975
594
17.602802
27.934034
27.934034
0.798738
595
17.891249
28.692678
28.692678
0.831615
596
17.748182
31.623512
31.623512
0.794870
597
17.845011
27.498922
27.498922
0.787116
598
17.625898
29.436575
29.436575
0.803320
599
17.421249
27.799156
27.799156
0.785211
600
17.897877
27.987938
27.987938
0.803181
601
17.703045
28.317219
28.317219
0.795314
602
17.639812
26.977180
26.977180
0.811252
603
17.499931
28.375774
28.375774
0.831028
604
17.442181
28.418228
28.418228
0.786331
605
17.405857
27.312347
27.312347
0.804111
606
17.251495
27.428782
27.428782
0.796183
607
17.557735
28.910631
28.910631
0.806243
608
17.665724
28.874775
28.874775
0.793076
609
17.481850
27.788662
27.788662
0.788307
610
17.323893
28.850548
28.850548
0.786959
611
17.502729
27.875359
27.875359
0.804534
612
17.468634
27.730978
27.730978
0.770689
613
17.442465
27.976254
27.976254
0.823252
614
17.354700
27.969843
27.969843
0.807511
615
17.623312
28.360256
28.360256
0.788857
616
17.452040
29.479416
29.479416
0.787155
617
17.280842
27.197399
27.197399
0.774638
618
17.251572
27.242329
27.242329
0.793468
619
17.392990
28.543219
28.543219
0.780622
620
17.320471
27.375168
27.375168
0.786253
621
17.310198
28.276903
28.276903
0.798509
622
17.273369
27.490688
27.490688
0.800756
623
17.506470
28.576750
28.576750
0.816155
624
17.392796
28.728769
28.728769
0.798268
625
17.370989
27.022993
27.022993
0.770885
626
17.119162
27.550957
27.550957
0.788462
627
17.578735
29.108131
29.108131
0.790754
628
17.668715
27.485071
27.485071
0.780120
629
17.414627
28.285006
28.285006
0.830884
630
17.117641
29.621269
29.621269
0.793023
631
17.352013
27.058331
27.058331
0.778065
632
17.312277
27.926588
27.926588
0.799945
633
17.380318
28.067144
28.067144
0.815895
634
17.207094
28.071600
28.071600
0.787623
635
17.205881
28.937841
28.937841
0.789494
636
17.091520
27.108519
27.108519
0.788637
637
17.167465
28.971544
28.971544
0.795279
638
17.259142
27.664297
27.664297
0.810648
639
17.216381
27.810003
27.810003
0.806325
640
17.099447
27.365841
27.365841
0.784213
641
17.303518
28.339977
28.339977
0.794872
642
17.181255
27.198538
27.198538
0.811263
643
17.106701
26.510437
26.510437
0.787544
644
17.247372
27.242809
27.242809
0.769073
645
17.074533
28.296816
28.296816
0.802879
646
16.989622
28.599751
28.599751
0.789129
647
17.119640
26.839716
26.839716
0.798851
648
16.892845
26.786354
26.786354
0.781286
649
17.102020
26.898312
26.898312
0.781657
650
17.213791
27.534040
27.534040
0.795574
651
16.957556
27.271097
27.271097
0.766666
652
16.928381
28.039469
28.039469
0.809415
653
17.033014
27.025023
27.025023
0.804320
654
16.966272
27.154984
27.154984
0.792331
655
17.198063
29.588659
29.588659
0.799991
656
16.940140
27.388393
27.388393
0.788060
657
16.902292
27.177265
27.177265
0.789067
658
17.071827
27.059528
27.059528
0.781199
659
16.922876
27.313709
27.313709
0.770448
660
17.121283
28.013788
28.013788
0.797554
661
16.867857
27.943600
27.943600
0.777280
662
17.007591
26.410524
26.410524
0.772415
663
17.538517
27.290934
27.290934
0.792031
664
17.104950
27.240818
27.240818
0.787426
665
16.871302
27.132812
27.132812
0.773973
666
16.873585
28.067532
28.067532
0.807919
667
16.958727
27.339703
27.339703
0.771055
668
16.707430
28.278860
28.278860
0.792168
669
16.808928
26.903929
26.903929
0.784007
670
16.765100
27.281694
27.281694
0.759059
671
16.709122
29.886410
29.886410
0.789253
672
16.777184
28.782948
28.782948
0.789873
673
16.821814
27.015800
27.015800
0.771316
674
16.806858
28.796600
28.796600
0.777490
675
17.074207
27.535559
27.535559
0.785934
676
16.805508
26.888769
26.888769
0.778445
677
16.683338
27.455185
27.455185
0.802354
678
16.705442
26.830231
26.830231
0.776792
679
16.684431
27.452147
27.452147
0.796341
680
16.841024
26.478893
26.478893
0.756678
681
16.688116
27.349028
27.349028
0.816917
682
16.736755
28.431538
28.431538
0.780882
683
16.802292
29.574768
29.574768
0.794963
684
16.644146
29.714413
29.714413
0.769809
685
16.744667
27.234247
27.234247
0.770231
686
16.625433
26.388720
26.388720
0.775414
687
16.800825
27.142574
27.142574
0.785395
688
16.713234
27.370226
27.370226
0.787948
689
16.763170
26.557604
26.557604
0.770133
690
16.667793
27.292660
27.292660
0.799290
691
16.511072
25.987612
25.987612
0.784037
692
16.767830
26.823372
26.823372
0.781418
693
16.572884
26.562025
26.562025
0.786220
694
16.544050
26.013071
26.013071
0.785235
695
16.539724
27.241650
27.241650
0.796031
696
16.660828
26.886257
26.886257
0.777752
697
16.520720
27.407625
27.407625
0.792651
698
16.654369
27.682993
27.682993
0.795769
699
16.646852
25.970144
25.970144
0.782772
700
16.499769
26.431351
26.431351
0.769097
701
16.709023
26.461344
26.461344
0.781995
702
16.522114
26.948515
26.948515
0.814278
703
16.486153
26.706081
26.706081
0.776816
704
16.389822
27.398598
27.398598
0.803426
705
16.530134
26.748653
26.748653
0.784518
706
16.700533
27.837446
27.837446
0.780310
707
16.512947
26.447731
26.447731
0.771325
708
16.352173
27.166069
27.166069
0.769641
709
16.551634
26.927567
26.927567
0.777702
710
16.560049
26.494499
26.494499
0.778497
711
16.439978
26.590538
26.590538
0.777355
712
16.515909
26.718426
26.718426
0.788142
713
16.495802
27.504875
27.504875
0.784242
714
16.462254
26.597376
26.597376
0.759546
715
16.362782
26.566847
26.566847
0.779002
716
16.520308
27.104631
27.104631
0.787567
717
16.421644
28.063381
28.063381
0.775310
718
16.392958
27.587543
27.587543
0.781921
719
16.958408
27.343338
27.343338
0.770135
720
16.520132
26.215372
26.215372
0.771877
721
16.328648
27.000862
27.000862
0.775650
722
16.351032
27.189129
27.189129
0.772957
723
16.393864
27.017946
27.017946
0.783211
724
16.540356
27.877306
27.877306
0.793030
725
16.354229
27.904057
27.904057
0.802253
726
16.299385
26.749178
26.749178
0.772832
727
16.357649
27.533400
27.533400
0.785337
728
16.388748
27.145300
27.145300
0.771143
729
16.134628
27.220512
27.220512
0.776294
730
16.253176
26.701609
26.701609
0.778763
731
16.388430
27.196880
27.196880
0.782008
732
16.295607
26.320356
26.320356
0.768566
733
16.333149
26.332781
26.332781
0.781083
734
16.304398
26.629656
26.629656
0.776172
735
16.351761
26.996838
26.996838
0.784567
736
16.177979
27.498106
27.498106
0.771815
737
16.145006
26.042385
26.042385
0.781434
738
16.243219
25.886551
25.886551
0.776044
739
16.227554
26.875969
26.875969
0.774527
740
16.427404
27.457100
27.457100
0.797110
741
16.470591
26.827768
26.827768
0.751330
742
16.480015
26.869232
26.869232
0.775285
743
16.256559
26.383507
26.383507
0.789651
744
16.184774
27.275856
27.275856
0.773289
745
16.090593
26.560165
26.560165
0.763087
746
16.021952
25.742140
25.742140
0.778315
747
16.058233
26.444187
26.444187
0.772385
748
16.024609
25.981207
25.981207
0.773159
749
16.122517
26.775326
26.775326
0.771879
750
16.199995
27.860903
27.860903
0.776436
751
16.101187
26.849121
26.849121
0.758433
752
16.223288
27.028397
27.028397
0.768024
753
16.100479
26.762060
26.762060
0.762473
754
16.098104
26.657082
26.657082
0.765001
755
16.112614
26.652925
26.652925
0.769466
756
16.138206
26.777266
26.777266
0.776851
757
16.139540
27.609327
27.609327
0.783006
758
15.935586
26.541197
26.541197
0.774889
759
16.008770
26.247675
26.247675
0.773949
760
15.976918
27.615732
27.615732
0.777226
761
15.912204
27.020388
27.020388
0.780458
762
15.975830
26.805853
26.805853
0.770869
763
16.064793
26.933632
26.933632
0.775164
764
16.077040
25.477722
25.477722
0.766418
765
16.114542
27.833401
27.833401
0.807746
766
15.978087
26.363806
26.363806
0.783080
767
15.952321
27.403112
27.403112
0.781168
768
15.961365
26.561745
26.561745
0.784724
769
15.934247
27.736622
27.736622
0.779042
770
16.057646
26.650335
26.650335
0.767209
771
15.912271
26.600901
26.600901
0.765218
772
15.917128
26.307190
26.307190
0.766248
773
15.875853
26.584940
26.584940
0.790677
774
15.957987
25.605068
25.605068
0.781526
775
15.988730
26.554781
26.554781
0.773721
776
15.951944
26.476360
26.476360
0.771809
777
16.212246
26.844509
26.844509
0.774460
778
15.923537
26.465935
26.465935
0.760306
779
15.822569
26.181179
26.181179
0.795901
780
15.759483
25.476515
25.476515
0.779258
781
15.903215
26.954203
26.954203
0.785558
782
15.891398
26.502218
26.502218
0.774113
783
15.798021
26.490009
26.490009
0.770469
784
15.917471
27.103304
27.103304
0.785899
785
15.883762
26.827518
26.827518
0.773131
786
15.868476
26.081078
26.081078
0.756615
787
15.878188
27.404028
27.404028
0.789692
788
15.869326
26.691887
26.691887
0.780338
789
15.813388
27.333284
27.333284
0.780958
790
15.848402
26.867725
26.867725
0.781186
791
15.757720
27.145910
27.145910
0.777919
792
15.848384
26.710726
26.710726
0.775910
793
15.858904
27.033859
27.033859
0.782309
794
15.830269
26.253613
26.253613
0.772062
795
15.767147
27.490437
27.490437
0.781337
796
15.689296
25.921278
25.921278
0.756804
797
15.809246
26.519070
26.519070
0.771637
798
15.612246
27.362394
27.362394
0.777916
799
15.626660
26.932716
26.932716
0.773762
800
15.739276
26.871332
26.871332
0.775730
801
15.553497
27.267010
27.267010
0.774637
802
15.732297
26.435997
26.435997
0.761253
803
15.778193
25.592674
25.592674
0.767730
804
15.648088
26.474546
26.474546
0.768816
805
15.756446
27.655678
27.655678
0.764608
806
15.728832
26.526302
26.526302
0.780313
807
15.600104
26.698532
26.698532
0.786654
808
15.687263
26.561882
26.561882
0.776481
809
15.653159
26.402252
26.402252
0.775408
810
15.615653
26.479670
26.479670
0.768536
811
15.590000
25.789648
25.789648
0.764453
812
15.630110
26.956966
26.956966
0.779051
813
15.578461
26.098646
26.098646
0.781814
814
15.610762
26.235001
26.235001
0.790847
815
15.712774
27.292425
27.292425
0.780399
816
15.576017
26.226913
26.226913
0.777625
817
15.525350
26.016218
26.016218
0.763312
818
15.622389
26.284916
26.284916
0.780027
819
15.473096
26.509066
26.509066
0.773300
820
15.627562
26.498672
26.498672
0.762684
821
15.457737
26.433666
26.433666
0.765965
822
15.504725
26.063087
26.063087
0.768126
823
15.622001
26.656797
26.656797
0.767439
824
15.500531
26.718193
26.718193
0.778067
825
15.504116
26.512033
26.512033
0.772212
826
15.501362
26.731855
26.731855
0.770807
827
15.465287
26.244448
26.244448
0.770516
828
15.463637
25.621935
25.621935
0.773873
829
15.432474
26.415937
26.415937
0.768766
830
15.442280
26.933681
26.933681
0.774400
831
15.339872
26.651478
26.651478
0.777823
832
15.435295
26.660843
26.660843
0.770647
833
15.457171
26.635387
26.635387
0.775251
834
15.444793
26.120394
26.120394
0.765832
835
15.504260
27.076946
27.076946
0.773759
836
15.342585
29.578966
29.578966
0.749917
837
15.324944
26.758537
26.758537
0.772204
838
15.392042
25.930836
25.930836
0.775553
839
15.541780
26.423426
26.423426
0.771063
840
15.360236
26.230059
26.230059
0.766175
841
15.411976
26.668459
26.668459
0.776887
842
15.323850
26.229416
26.229416
0.774909
843
15.258254
26.354195
26.354195
0.773224
844
15.414723
26.319387
26.319387
0.765693
845
15.415730
26.778219
26.778219
0.773370
846
15.345242
26.112158
26.112158
0.771677
847
15.146541
26.217497
26.217497
0.779408
848
15.152853
26.474016
26.474016
0.780850
849
15.249950
26.404160
26.404160
0.776551
850
15.263223
27.097631
27.097631
0.765309
851
15.253131
27.135666
27.135666
0.771293
852
15.323964
26.593025
26.593025
0.778709
853
15.479769
25.932997
25.932997
0.770650
854
15.323648
26.941601
26.941601
0.761748
855
15.248585
26.604244
26.604244
0.771984
856
15.274746
26.498062
26.498062
0.781054
857
15.190885
26.043215
26.043215
0.765825
858
15.320936
25.524202
25.524202
0.771129
859
15.278631
25.968004
25.968004
0.773435
860
15.138772
26.711115
26.711115
0.769209
861
15.235273
26.889940
26.889940
0.765173
862
15.349152
26.244041
26.244041
0.767798
863
15.209461
26.058702
26.058702
0.769993
864
15.303579
26.609806
26.609806
0.776001
865
15.103242
26.024170
26.024170
0.763487
866
15.087253
26.280622
26.280622
0.761954
867
15.112164
25.619442
25.619442
0.774323
868
15.023764
26.723558
26.723558
0.772892
869
15.080664
26.721676
26.721676
0.776281
870
15.221359
25.895990
25.895990
0.772445
871
15.104423
26.505360
26.505360
0.761184
872
15.048839
26.357937
26.357937
0.767822
873
15.192492
26.211548
26.211548
0.762536
874
15.220163
26.675463
26.675463
0.771340
875
15.033642
26.367168
26.367168
0.762953
876
14.980660
25.513611
25.513611
0.762231
877
15.059268
26.558369
26.558369
0.763111
878
15.200789
26.113510
26.113510
0.768337
879
15.183466
27.229759
27.229759
0.779053
880
15.066158
26.352047
26.352047
0.769894
881
15.150361
26.395330
26.395330
0.762173
882
15.263481
26.777597
26.777597
0.764864
883
15.134683
26.578947
26.578947
0.756825
884
15.205727
26.322357
26.322357
0.774777
885
15.017532
26.915415
26.915415
0.780112
886
15.000522
26.114132
26.114132
0.754799
887
14.989141
26.672441
26.672441
0.761706
888
15.047207
26.444288
26.444288
0.769196
889
15.111229
26.396904
26.396904
0.773254
890
15.042937
26.844343
26.844343
0.757280
891
15.038696
25.795914
25.795914
0.767550
892
14.922998
26.602615
26.602615
0.780787
893
14.952787
26.741560
26.741560
0.771624
894
15.011549
26.906147
26.906147
0.771165
895
14.793776
26.626272
26.626272
0.778084
896
14.897205
26.742716
26.742716
0.767618
897
14.842381
26.190857
26.190857
0.771402
898
14.909669
26.260878
26.260878
0.767538
899
15.061179
26.685013
26.685013
0.771333
900
14.914935
26.663534
26.663534
0.763764
901
14.909258
26.583366
26.583366
0.771456
902
14.865605
25.484888
25.484888
0.761740
903
14.830711
26.395168
26.395168
0.768831
904
14.819597
25.340195
25.340195
0.763898
905
14.817557
26.228535
26.228535
0.773991
906
14.871049
26.401865
26.401865
0.766198
907
14.872093
26.361290
26.361290
0.765965
908
14.962419
26.507715
26.507715
0.771497
909
14.805143
26.684504
26.684504
0.772091
910
14.937850
26.445356
26.445356
0.769056
911
14.881841
27.022293
27.022293
0.771372
912
14.948468
26.530130
26.530130
0.764599
913
14.869398
26.506565
26.506565
0.777719
914
14.796181
25.876715
25.876715
0.773216
915
14.902122
26.087467
26.087467
0.772060
916
14.997400
26.759241
26.759241
0.763390
917
14.868496
26.264172
26.264172
0.766206
918
14.837629
26.463331
26.463331
0.767795
919
14.776118
26.578959
26.578959
0.772647
920
14.854865
26.705505
26.705505
0.768210
921
14.792645
25.380434
25.380434
0.767146
922
14.751074
26.602110
26.602110
0.765767
923
14.639127
26.179001
26.179001
0.764025
924
14.719211
26.305485
26.305485
0.760813
925
14.725826
26.240660
26.240660
0.768705
926
14.751491
26.079031
26.079031
0.766485
927
14.837001
26.712978
26.712978
0.770767
928
14.732553
25.821121
25.821121
0.769708
929
14.671622
26.156881
26.156881
0.763715
930
14.810900
26.608782
26.608782
0.773018
931
14.667996
25.959478
25.959478
0.766309
932
14.618654
25.954304
25.954304
0.762759
933
14.662347
26.214560
26.214560
0.763244
934
14.723607
26.154949
26.154949
0.774118
935
14.583378
26.662588
26.662588
0.765445
936
14.590559
26.298710
26.298710
0.769889
937
14.763989
26.060085
26.060085
0.777838
938
14.626262
25.951107
25.951107
0.765182
939
14.678647
26.260332
26.260332
0.763147
940
14.736262
26.365904
26.365904
0.780919
941
14.615879
26.174433
26.174433
0.760489
942
14.624190
26.140871
26.140871
0.769628
943
14.669779
25.677864
25.677864
0.756956
944
14.622766
26.393826
26.393826
0.772715
945
14.573943
25.907183
25.907183
0.765290
946
14.563412
25.872723
25.872723
0.774957
947
14.605337
25.795694
25.795694
0.758789
948
14.826303
26.478041
26.478041
0.765052
949
14.631048
25.967087
25.967087
0.763228
950
14.552586
26.431807
26.431807
0.760009
951
14.613959
26.123526
26.123526
0.766586
952
14.585486
26.117085
26.117085
0.776413
953
14.551595
26.376616
26.376616
0.753432
954
14.606125
26.210516
26.210516
0.763841
955
14.606129
26.337288
26.337288
0.760398
956
14.516741
26.112267
26.112267
0.769394
957
14.538574
25.820147
25.820147
0.754062
958
14.462829
26.061684
26.061684
0.766202
959
14.569968
26.148010
26.148010
0.768493
960
14.522357
26.093582
26.093582
0.777641
961
14.563293
26.289772
26.289772
0.761328
962
14.482293
25.848917
25.848917
0.766970
963
14.611059
26.764471
26.764471
0.767996
964
14.485779
26.143929
26.143929
0.764239
965
14.441676
25.693165
25.693165
0.755056
966
14.467827
26.041565
26.041565
0.764865
967
14.534319
26.046585
26.046585
0.757850
968
14.517735
25.870264
25.870264
0.757338
969
14.537982
26.156582
26.156582
0.760686
970
14.492589
25.648756
25.648756
0.760966
971
14.621933
26.468296
26.468296
0.764698
972
14.517736
26.005163
26.005163
0.762534
973
14.522255
26.525499
26.525499
0.768614
974
14.453013
26.134624
26.134624
0.762355
975
14.566785
25.866787
25.866787
0.755086
976
14.551047
25.992912
25.992912
0.761108
977
14.490765
26.232296
26.232296
0.771637
978
14.522392
25.993315
25.993315
0.767810
979
14.518806
26.093327
26.093327
0.765765
980
14.488105
26.447437
26.447437
0.771390
981
14.555191
26.217859
26.217859
0.763901
982
14.487690
26.265284
26.265284
0.758498
983
14.426672
26.230455
26.230455
0.762212
984
14.523952
25.865162
25.865162
0.766713
985
14.580906
26.359619
26.359619
0.762557
986
14.475193
25.859867
25.859867
0.772180
987
14.509753
25.614220
25.614220
0.768907
988
14.518730
26.044237
26.044237
0.765682
989
14.495553
26.205326
26.205326
0.760629
990
14.469758
25.873768
25.873768
0.760248
991
14.458931
26.342457
26.342457
0.770224
992
14.479295
26.079416
26.079416
0.766711
993
14.449188
26.142344
26.142344
0.768283
994
14.530713
26.384750
26.384750
0.757795
995
14.406181
25.336462
25.336462
0.759648
996
14.553648
26.861990
26.861990
0.757820
997
14.374414
25.913578
25.913578
0.762935
998
14.445316
25.414080
25.414080
0.771487
999
14.475859
25.953630
25.953630
0.761543
1000
14.422099
26.436419
26.436419
0.761298
In [12]:
l.recorder.plot_losses()
In [6]:
l.save(f"r_speedup_{optimizer}_batch_norm_{batch_norm}_{loss_func}_nlayers_{len(layers_sizes)}_log_{log}")
In [7]:
!ls models
old_models
old_repr
r_speedup_Adam_batch_norm_True_MAPE_nlayers_5_log_False.pth
speedup_Adam_batch_norm_True_MAPE_nlayers_5_log_False2.pth
speedup_Adam_batch_norm_True_MAPE_nlayers_5_log_False.pth
speedup_Adam_batch_norm_True_MSE_nlayers_5_log_False.pth
speedup_Adam_batch_norm_True_MSE_nlayers_5_log_True.pth
tmp.pth
In [28]:
val_df = get_results_df(val_dl, l.model)
train_df = get_results_df(train_dl, l.model)
In [29]:
df = train_df
In [30]:
df[:][['prediction','target', 'abs_diff','APE']].describe()
Out[30]:
prediction
target
abs_diff
APE
count
245283.000000
245283.000000
245283.000000
245283.000000
mean
1.037621
1.135724
0.152116
12.830106
std
1.231515
1.405682
0.464680
28.543703
min
0.010180
0.008491
0.000000
0.000000
25%
0.264881
0.278690
0.002987
0.895514
50%
0.844768
0.899071
0.023104
5.397871
75%
0.998950
1.036481
0.100247
13.001473
max
9.480000
16.089287
15.559452
848.957703
In [31]:
df = val_df
In [32]:
df[:][['prediction','target', 'abs_diff','APE']].describe()
Out[32]:
prediction
target
abs_diff
APE
count
10000.000000
10000.000000
10000.000000
10000.000000
mean
1.121260
1.430897
0.390623
27.763691
std
1.156423
1.683147
0.679037
41.883354
min
0.018547
0.014795
0.000046
0.007319
25%
0.377303
0.395193
0.011900
3.115584
50%
0.993079
1.000000
0.113269
20.872551
75%
1.165657
1.621683
0.391169
43.921596
max
7.675441
10.872228
4.920828
844.224915
In [33]:
df[(df.interchange==0) & (df.unroll == 0) & (df.tile == 0)][['prediction','target', 'abs_diff','APE']].describe()
Out[33]:
prediction
target
abs_diff
APE
count
2074.000000
2074.0
2074.000000
2074.000000
mean
0.985529
1.0
0.017589
1.758861
std
0.111946
0.0
0.111498
11.149847
min
0.071318
1.0
0.000073
0.007319
25%
0.997701
1.0
0.001470
0.147021
50%
0.998260
1.0
0.001813
0.181329
75%
0.998590
1.0
0.002428
0.242829
max
1.891778
1.0
0.928682
92.868195
In [44]:
df[(df.interchange==0) & (df.unroll == 0) & (df.tile == 1)][['index','name','prediction','target', 'abs_diff','APE']].to_csv(path_or_buf='./eval_results.csv',sep=';')
df[(df.interchange==0) & (df.unroll == 0) & (df.tile == 1)][['prediction','target', 'abs_diff','APE']].describe()
Out[44]:
prediction
target
abs_diff
APE
count
725.000000
725.000000
725.000000
725.000000
mean
1.301574
1.519225
0.354056
23.900990
std
1.112958
1.422773
0.483243
19.511810
min
0.158533
0.091200
0.000204
0.020753
25%
0.432121
0.508859
0.065178
8.419112
50%
0.975921
0.993141
0.172049
18.377670
75%
1.975362
2.207209
0.414999
34.993168
max
7.673403
9.358214
3.923676
126.306580
In [35]:
df[(df.interchange==0) & (df.unroll == 1) & (df.tile == 0)][['prediction','target', 'abs_diff','APE']].describe()
Out[35]:
prediction
target
abs_diff
APE
count
281.000000
281.000000
281.000000
281.000000
mean
4.309521
6.044158
1.815515
61.342331
std
2.116049
3.221366
1.237432
163.233612
min
0.979377
0.105179
0.000852
0.086115
25%
2.074235
2.546717
0.614721
16.486435
50%
5.464447
7.389543
1.802265
28.025612
75%
5.544522
8.668690
2.898372
38.227890
max
7.327499
10.872228
4.777884
844.224915
In [36]:
df[(df.interchange==1) & (df.unroll == 0) & (df.tile == 0)][['prediction','target', 'abs_diff','APE']].describe()
Out[36]:
prediction
target
abs_diff
APE
count
232.000000
232.000000
232.000000
232.000000
mean
0.756619
0.918692
0.222288
21.729357
std
0.914184
1.168210
0.461534
20.075941
min
0.020958
0.018092
0.000089
0.079193
25%
0.238594
0.265846
0.022004
6.248699
50%
0.396349
0.466655
0.070740
16.291368
75%
0.876001
0.956079
0.203351
28.746875
max
4.947685
8.069739
3.122054
112.560829
In [37]:
df[(df.interchange==0) & (df.unroll == 1) & (df.tile == 1)][['prediction','target', 'abs_diff','APE']].describe()
Out[37]:
prediction
target
abs_diff
APE
count
868.000000
868.000000
868.000000
868.000000
mean
1.373762
1.748770
0.477148
31.763561
std
1.171251
1.605983
0.570058
44.691597
min
0.164368
0.057130
0.000118
0.045584
25%
0.428907
0.695116
0.085793
9.017995
50%
1.032962
1.241629
0.282237
26.219162
75%
2.054201
2.229650
0.713841
44.385671
max
7.675441
10.137201
4.077254
401.347290
In [38]:
df[(df.interchange==1) & (df.unroll == 1) & (df.tile == 0)][['prediction','target', 'abs_diff','APE']].describe()
Out[38]:
prediction
target
abs_diff
APE
count
1276.000000
1276.000000
1276.000000
1276.000000
mean
2.012736
2.878316
0.996945
31.574406
std
1.366116
2.108479
1.017374
21.246101
min
0.033753
0.042484
0.000265
0.022992
25%
0.717553
0.977715
0.163885
11.196567
50%
2.116860
2.629361
0.559276
29.473694
75%
2.658386
4.365878
1.821425
49.913550
max
4.868882
9.784180
4.920828
132.563797
In [39]:
df[(df.interchange==1) & (df.unroll == 0) & (df.tile == 1)][['prediction','target', 'abs_diff','APE']].describe()
Out[39]:
prediction
target
abs_diff
APE
count
1663.000000
1663.000000
1663.000000
1663.000000
mean
0.759392
0.937209
0.260730
28.067686
std
0.769510
1.023356
0.399831
20.749691
min
0.018548
0.014836
0.000046
0.061909
25%
0.210683
0.246893
0.039022
10.700531
50%
0.494625
0.624512
0.122702
24.871428
75%
1.030154
1.173670
0.315577
43.254141
max
4.934253
8.724252
3.983392
139.318390
In [40]:
df[(df.interchange==1) & (df.unroll == 1) & (df.tile == 1)][['prediction','target', 'abs_diff','APE']].describe()
Out[40]:
prediction
target
abs_diff
APE
count
2881.000000
2881.000000
2881.000000
2881.000000
mean
0.629967
0.858291
0.323311
41.598583
std
0.725950
1.094979
0.488463
37.766975
min
0.018547
0.014795
0.000056
0.023296
25%
0.158124
0.183774
0.055104
19.515968
50%
0.401537
0.424563
0.149758
38.063084
75%
0.849428
1.033311
0.366112
53.976719
max
4.855897
9.207530
4.390360
447.704224
In [41]:
df[(df.interchange + df.tile + df.unroll != 0)][['prediction','target', 'abs_diff','APE']].describe()
Out[41]:
prediction
target
abs_diff
APE
count
7926.000000
7926.000000
7926.000000
7926.000000
mean
1.156775
1.543651
0.488235
34.568348
std
1.295356
1.874331
0.729769
44.243641
min
0.018547
0.014795
0.000046
0.020753
25%
0.289361
0.312547
0.060371
12.950603
50%
0.676460
0.830516
0.194361
28.857708
75%
1.662223
2.132191
0.514185
48.964257
max
7.675441
10.872228
4.920828
844.224915
In [42]:
df1 = df[(df.interchange==0) & (df.unroll == 0) & (df.tile == 0)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange==0) & (df.unroll == 0) & (df.tile == 1)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange==0) & (df.unroll == 1) & (df.tile == 0)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange==1) & (df.unroll == 0) & (df.tile == 0)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange==0) & (df.unroll == 1) & (df.tile == 1)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange==1) & (df.unroll == 1) & (df.tile == 0)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange==1) & (df.unroll == 0) & (df.tile == 1)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange==0) & (df.unroll == 1) & (df.tile == 1)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange==1) & (df.unroll == 1) & (df.tile == 1)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df1 = df[(df.interchange + df.tile + df.unroll != 0)]
joint_plot(df1, f"Validation dataset, {loss_func} loss")
df2 = df
joint_plot(df2, f"Validation dataset, {loss_func} loss")
In [ ]:
Content source: rbaghdadi/COLi
Similar notebooks: