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 [ ]: