1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
|
#include "ct1973.h"
float flattened[CONV_NUM+2];
float dense1[DENSE1_NUM];
float dense2[DENSE2_NUM];
float output[OUTPUT_NUM];
#define RELU(x) ((x) = ((x)<0)?0:(x))
float
evaluate_black_win(void) {
/* ------------------ *
* Convolution layer *
* ------------------ */
// for each kernel
for (uint8_t k = 0; k < KERN_NUM; k++) {
// the stride is 1, march across the board
for (uint8_t by = 0; by < KERN_OSIZE; by++) {
for (uint8_t bx = 0; bx < KERN_OSIZE; bx++) {
flattened[k+KERN_NUM*(by+bx*KERN_OSIZE)] = 0; // conv2d_biases[k];
// Compute the convolution for this position
for (uint8_t ky = 0; ky < KERN_SIZE; ky++) {
for (uint8_t kx = 0; kx < KERN_SIZE; kx++) {
for (uint8_t c = 0; c < KERN_CHAN; c++) {
// Where we are on the board
const uint8_t loc = kx+bx+(ky+by)*board_size;
// Look up what's on the board at this location, and
// multiply it. For c=0 we have to do some extra work
float lookup = 0;
if (COUNT_AT(loc)>c) {
if (c==0) {
if (STONE_AT(loc) == STONE_STANDING) {
lookup = (colours[loc] & 1) ? +0.25 : -0.25;
} else if (STONE_AT(loc) == STONE_CAPSTONE) {
lookup = (colours[loc] & 1) ? +1.00 : -1.00;
} else {
lookup = (colours[loc] & 1) ? +0.50 : -0.50;
}
} else {
lookup = (colours[k] & (1<<c)) ? +0.50 : -0.50;
}
}
flattened[k+KERN_NUM*(by+bx*KERN_OSIZE)]
+= lookup*conv2d_weights[kx][ky][c][k];
}
}
}
/*
* RELU(flattened[k+KERN_NUM*(by+bx*KERN_OSIZE)]);
*/
}
}
}
// for (uint8_t k = 0; k < CONV_NUM; k++) RELU(flattened[k]);
/* ------------------ *
* First dense layer *
* ------------------ */
flattened[CONV_NUM] = (float)(white_count & 127)/21.0;
flattened[CONV_NUM+1] = (float)(black_count & 127)/21.0;
for (uint8_t d1 = 0; d1 < DENSE1_NUM; d1++) {
dense1[d1] = dense1_biases[d1];
for (uint8_t fl = 0; fl < CONV_NUM+2; fl++) {
dense1[d1] += flattened[fl]*dense1_weights[fl][d1];
}
RELU(dense1[d1]);
}
/* ------------------- *
* Second dense layer *
* ------------------- */
for (uint8_t d2 = 0; d2 < DENSE2_NUM; d2++) {
dense2[d2] = dense2_biases[d2];
for (uint8_t d1 = 0; d1 < DENSE1_NUM; d1++) {
dense2[d2] += dense1[d1]*dense2_weights[d1][d2];
}
RELU(dense2[d2]);
}
/* ------------- *
* Output layer *
* ------------- */
float norm = 0;
for (uint8_t out = 0; out < OUTPUT_NUM; out++) {
output[out] = output_biases[out];
for (uint8_t d2 = 0; d2 < DENSE2_NUM; d2++) {
output[out] += dense2[d2]*output_weights[d2][out];
}
output[out] = exp(output[out]);
norm += output[out];
}
return output[1]/norm;
}
const float conv2d_weights[KERN_SIZE][KERN_SIZE][KERN_CHAN][KERN_NUM] =
{{{{-1.52278364e-01, 1.03239906e+00, -1.69998750e-01,
3.28446239e-01, -2.98646778e-01, -2.31816009e-01,
2.24368185e-01, -9.70985442e-02, -4.34917808e-01,
-1.00076832e-01, -2.88538456e-01, 3.58222425e-01},
{ 8.52329060e-02, -3.34037483e-01, 3.33178163e-01,
-3.07036459e-01, 5.17786503e-01, 2.27628797e-01,
-2.38799136e-02, 1.68639272e-01, -5.33522785e-01,
6.28996342e-02, 3.06313068e-01, -5.91589101e-02},
{ 2.98692882e-01, -2.06623971e-01, 1.54391706e-01,
-4.07881528e-01, 1.80600420e-01, -5.21647744e-02,
1.74179018e-01, 2.76725180e-02, 1.75483420e-01,
1.41332313e-01, 1.81717634e-01, -9.55164656e-02},
{ 8.36686045e-02, -2.03471988e-01, 4.81641322e-01,
8.27000197e-03, 1.74469143e-01, 1.69933975e-01,
1.00771658e-01, -2.16257542e-01, 6.21540882e-02,
-5.86523823e-02, -4.60806370e-01, -1.66974157e-01},
{-1.91876218e-01, 1.55409977e-01, 1.70580670e-01,
-1.03917979e-01, -1.12191457e-02, 5.29826939e-01,
-2.30258718e-01, 2.08036438e-01, -3.47821452e-02,
2.51102805e-01, -4.37570602e-01, 2.96806514e-01},
{ 6.27692603e-03, 1.57991007e-01, 5.78779042e-01,
-2.54516363e-01, 3.07232942e-02, 6.00457668e-01,
-8.78550649e-01, 4.48868990e-01, -6.38340116e-02,
-6.22016966e-01, -2.52180785e-01, -3.57714742e-01},
{ 1.65783331e-01, 2.53018767e-01, 6.77831843e-03,
2.04402044e-01, -8.24117362e-01, 1.19925284e+00,
4.64725755e-02, 7.08908200e-01, -1.89178392e-01,
-2.19439879e-01, 2.29597330e-01, -2.76999295e-01},
{-1.04630220e+00, 8.17987859e-01, 4.42456901e-01,
2.85443395e-01, 2.39065900e-01, 1.18651450e-01,
1.53244987e-01, 4.94983554e-01, 7.17750415e-02,
-2.88021509e-02, 8.97209048e-01, -1.90168336e-01}},
{{ 8.58160183e-02, 1.46481514e-01, 1.03891455e-01,
-1.16557509e-01, -3.58780086e-01, 2.40591079e-01,
2.06735387e-01, -1.54696256e-01, -1.19829170e-01,
-2.99005210e-01, -1.29495829e-01, 4.26674277e-01},
{ 1.13599733e-01, 6.54282942e-02, -1.76414788e-01,
-4.98969972e-01, -4.08899672e-02, -2.96610594e-01,
1.99086279e-01, 2.67860070e-02, 5.17043360e-02,
5.27123660e-02, 1.91101477e-01, 1.93848282e-01},
{ 1.24456912e-01, -1.08601481e-01, 5.56847155e-02,
4.95976768e-02, -1.91795707e-01, -1.52025327e-01,
1.34597152e-01, -1.03885941e-02, 1.30910382e-01,
2.68805683e-01, 3.31735969e-01, -6.39373213e-02},
{-2.75373191e-01, -3.91001970e-01, -1.26616523e-01,
-6.27890974e-02, 5.47006316e-02, 9.88506675e-02,
1.89847291e-01, -7.54318535e-02, 1.44524843e-01,
-9.69550684e-02, -1.36665687e-01, 8.65793005e-02},
{-9.53994244e-02, -2.98490077e-01, 2.91107805e-03,
-2.72898346e-01, 1.03589959e-01, 1.87709510e-01,
-6.22010112e-01, -1.43359974e-01, 7.79479668e-02,
-1.48746192e-01, 1.81610301e-01, -9.54001695e-02},
{-1.43155202e-01, -4.36782718e-01, 3.58005196e-01,
-1.29423618e+00, 1.04121557e-02, -7.07999587e-01,
-7.75147304e-02, 8.70023072e-01, -1.86105385e-01,
-3.94797117e-01, -1.14149228e-01, -1.08768910e-01},
{ 2.84852326e-01, 1.23015955e-01, -1.22683084e+00,
-1.38842136e-01, -6.33746743e-01, 5.30605257e-01,
-1.14629710e+00, -3.19251657e-01, -5.70127368e-01,
9.88973260e-01, -4.47637051e-01, 5.18911183e-01},
{-4.37036455e-02, -5.43752015e-01, -7.16969073e-01,
5.99599242e-01, 3.87030870e-01, 3.11269671e-01,
1.89794883e-01, -8.29630733e-01, 2.42851511e-01,
-1.23371196e+00, -2.93400764e-01, -1.38194501e-01}},
{{ 5.35271525e-01, 6.66989684e-02, -1.65629461e-01,
-2.01478228e-01, -1.80033207e-01, 4.06787813e-01,
1.00070715e+00, -3.01814735e-01, -7.85149932e-02,
-1.50735602e-01, -1.88065588e-01, 2.63355047e-01},
{-5.00412524e-01, -1.90732405e-01, -2.03409903e-02,
-1.98189110e-01, 2.38295436e-01, -2.47143656e-02,
-6.00254834e-01, 3.37071180e-01, 4.23165888e-01,
-2.65452921e-01, 6.99680820e-02, 2.03216061e-01},
{-3.82761240e-01, -2.13005200e-01, 7.94329792e-02,
4.92421955e-01, 3.84473093e-02, 1.70240685e-01,
-2.29060873e-01, 9.47807580e-02, 3.81714970e-01,
-1.36454655e-02, 2.99959239e-02, -5.22340760e-02},
{-4.28911299e-01, -4.05182503e-02, 2.13805452e-01,
-4.36528504e-01, 4.96205986e-02, 2.18408749e-01,
-4.16713804e-01, 7.99139366e-02, 7.96985850e-02,
-2.91076988e-01, 8.21361542e-01, -1.62787646e-01},
{-1.28506809e-01, 5.91988526e-02, -9.22855437e-01,
7.75153562e-02, -1.72869727e-01, 7.05382079e-02,
-1.51134849e-01, 4.37536567e-01, 8.34513381e-02,
-1.48681533e-02, -5.22021592e-01, 3.39559503e-02},
{-4.46616076e-02, 3.17870587e-01, 1.91788837e-01,
-7.28926435e-02, -3.94944102e-01, 1.99817851e-01,
1.39683858e-02, 3.43056880e-02, 5.20610297e-03,
7.10945576e-02, 8.02381396e-01, 3.78778912e-02},
{ 3.02464485e-01, -5.99524856e-01, -7.63040558e-02,
1.19659062e-02, 7.06251860e-02, 1.40034676e-01,
1.71706080e-02, 2.73633391e-01, -1.41412556e-01,
-1.27275610e+00, -1.42847255e-01, 4.96406592e-02},
{ 8.83499384e-01, 2.23184749e-01, -1.26656592e+00,
-4.39328179e-02, 6.20003641e-01, 3.87599021e-01,
-1.15112424e+00, -3.38468939e-01, 2.22663552e-01,
-1.07704258e+00, 2.45495707e-01, -1.40621841e-01}}},
{{{-2.46321410e-01, 1.02315277e-01, 3.18865120e-01,
1.66382968e-01, -2.65338987e-01, -3.25932264e-01,
6.72269091e-02, -3.62757891e-02, -3.00062597e-02,
-5.40204942e-01, -2.58353222e-02, 3.01069707e-01},
{-3.80932074e-03, -2.32811034e-01, -1.36587754e-01,
-1.19526185e-01, -2.50134766e-01, 4.74178344e-01,
-5.25788590e-02, -2.11588502e-01, -4.32134233e-02,
1.81564480e-01, 1.73846662e-01, 2.43306130e-01},
{-4.68671545e-02, -3.93961340e-01, 9.16158259e-02,
-2.25613192e-01, -2.18583629e-01, 3.90818506e-01,
-2.06463963e-01, -2.32078269e-01, 1.50218427e-01,
1.55933082e-01, 4.27869618e-01, 1.90650955e-01},
{-3.24853390e-01, 3.13622087e-01, 5.96540049e-02,
6.78882748e-02, 6.79070130e-02, 2.87805289e-01,
-9.30028632e-02, 1.47727489e-01, -2.84985870e-01,
-4.40416252e-03, -5.23765199e-02, -2.10437819e-01},
{-9.69866216e-02, -1.06876567e-02, 2.32235610e-01,
4.79422003e-01, 7.61053115e-02, 6.01372242e-01,
-4.24658090e-01, 3.18205766e-02, -1.35015219e-01,
-2.94991732e-01, -1.20683210e-02, 1.63507447e-01},
{-7.23203182e-01, 3.54305685e-01, 7.70522133e-02,
-5.49711049e-01, -4.81010199e-01, 5.96723795e-01,
-4.18118566e-01, -1.39284521e-01, -1.01914309e-01,
2.99641490e-01, 8.11885521e-02, 4.43702579e-01},
{-2.60988116e-01, 6.82867527e-01, 2.73653418e-01,
-2.53143832e-02, 5.51311493e-01, -4.28519130e-01,
4.99354005e-01, -3.44483554e-01, 6.69235736e-02,
7.65151456e-02, 3.32721144e-01, -6.82664216e-02},
{-4.37593251e-01, -1.89089465e+00, -4.66393260e-03,
2.63640642e-01, -6.24097168e-01, 4.58847821e-01,
1.23356557e+00, -8.38246465e-01, 1.51093054e+00,
-1.07512638e-01, 8.77661884e-01, 3.57259095e-01}},
{{ 4.94640246e-02, 5.62086999e-02, 3.20767723e-02,
1.23812459e-01, -4.21273023e-01, 1.78027209e-02,
-1.03463486e-01, -5.96054606e-02, -5.81143320e-01,
-1.72426671e-01, 1.13657326e-01, 4.76617783e-01},
{-2.05271877e-02, 2.98685115e-02, 8.35569128e-02,
5.68790734e-02, -6.63485005e-02, -7.83027112e-02,
-7.78839644e-03, -3.41531262e-02, 4.88802373e-01,
5.92765361e-02, -4.70981032e-01, 5.25605753e-02},
{-1.19257368e-01, 1.86082780e-01, 1.91862583e-02,
9.15394202e-02, 3.29669058e-01, 4.50029969e-01,
-3.00555080e-01, -2.31377304e-01, -1.48823723e-01,
1.22882314e-01, 1.66313946e-01, -1.20544463e-01},
{-2.58052379e-01, -2.06214041e-02, -5.61359264e-02,
3.21150482e-01, 4.42231268e-01, 3.85449305e-02,
-2.51881361e-01, 1.65854394e-01, -4.37333100e-02,
-9.23354775e-02, 3.90853822e-01, 1.10149257e-01},
{-2.44020537e-01, -1.51531473e-01, 3.11589092e-01,
2.96806633e-01, 8.20496559e-01, 3.04850549e-01,
-1.73858300e-01, 7.49965683e-02, -2.70220283e-02,
-2.00422898e-01, 9.43027958e-02, 2.90607005e-01},
{ 1.29800722e-01, 3.90353441e-01, -5.23519877e-04,
-5.10549664e-01, 5.61565399e-01, -1.05784945e-01,
-3.21605325e-01, 3.71382892e-01, -2.40828454e-01,
-8.21608752e-02, 2.99489766e-01, 1.91382021e-01},
{ 5.04698694e-01, 2.13622719e-01, -6.95112169e-01,
8.28229308e-01, -1.97109461e-01, -1.66934296e-01,
-1.41812161e-01, 4.42662179e-01, 2.32226789e-01,
-5.07530093e-01, -1.11056817e+00, 2.11733162e-01},
{ 7.42363930e-01, 1.39164972e+00, 1.96828410e-01,
3.35611343e-01, 5.02780139e-01, -1.08859539e-01,
-3.50768417e-01, -1.25483036e+00, 2.68045068e-01,
-2.68672347e-01, -5.64632714e-01, -1.78237036e-01}},
{{ 1.50007382e-01, 9.88753606e-03, -4.81146127e-02,
-4.72275093e-02, -4.25470322e-01, 1.40504122e-01,
2.90765315e-01, -2.48512492e-01, -1.82193089e-02,
-2.97305524e-01, -3.35639715e-01, 4.54056710e-01},
{-3.04801613e-01, -2.99429633e-02, -1.40179023e-01,
3.91502827e-01, -2.09670112e-01, -6.40454739e-02,
-5.40546253e-02, 2.53932476e-01, -3.30323838e-02,
8.84706527e-03, 4.65069175e-01, -1.06532797e-02},
{-1.86797082e-01, -1.30909652e-01, -1.28896475e-01,
2.48080373e-01, -1.47777110e-01, 6.11934252e-02,
-1.71726212e-01, -3.33528779e-02, 5.46150357e-02,
1.30736530e-01, 3.88110846e-01, 2.91941762e-02},
{ 2.66415745e-01, 1.97808415e-01, -4.44971211e-02,
-2.84127712e-01, 8.36273059e-02, -2.06558481e-01,
2.41896316e-01, -5.37123643e-02, -2.36249074e-01,
-3.68530024e-03, 1.79301262e-01, -1.36939779e-01},
{-8.59244820e-03, -9.55575630e-02, -5.02216399e-01,
-3.59186493e-02, -2.79081762e-01, -1.53499603e-01,
-7.51517534e-01, -1.72358416e-02, 7.20796943e-01,
-2.02148080e-01, 9.84661132e-02, 2.79371321e-01},
{-1.43521741e-01, 5.28403521e-02, -4.10466313e-01,
2.85239577e-01, -3.70380163e-01, -8.53470117e-02,
5.74819863e-01, -1.34520620e-01, 3.52956176e-01,
-3.22480410e-01, 3.20179313e-01, -1.33184418e-01},
{ 1.16238587e-01, -3.20282906e-01, -5.51870055e-02,
-3.03969920e-01, -1.73577994e-01, 5.78305721e-01,
-2.39297271e-01, -1.05613339e+00, -2.96691835e-01,
6.35603905e-01, 4.40049917e-01, 5.21699905e-01},
{ 3.21581781e-01, 5.09894192e-01, -8.44862878e-01,
-5.43055594e-01, 4.61103261e-01, 1.16114581e+00,
9.23702359e-01, -2.48106122e-01, -4.83252183e-02,
1.39954075e-01, 7.77291179e-01, -1.05057202e-01}}},
{{{-3.20621282e-01, 1.64667919e-01, 1.81791395e-01,
2.03937829e-01, 5.77788940e-03, -3.26833665e-01,
-5.18061854e-02, -1.37897313e-01, -2.30574965e-01,
6.50961250e-02, -1.98845029e-01, 5.13272509e-02},
{ 1.76582754e-01, 8.32483470e-02, 1.18965186e-01,
2.24187657e-01, -1.80845097e-01, 2.37653017e-01,
7.43543953e-02, 1.68122694e-01, 6.06337562e-03,
3.07249695e-01, -1.39970118e-02, 2.32548714e-01},
{ 5.86665049e-02, -1.56928837e-01, 3.79065983e-02,
-2.56181657e-01, 1.47268102e-01, 5.02064764e-01,
2.07301951e-03, -3.26490879e-01, 6.67719590e-03,
7.13043958e-02, 1.88057020e-01, 1.73043609e-01},
{-2.17822120e-01, -2.76708603e-01, 1.69242233e-01,
8.95425826e-02, 3.17267895e-01, -7.08937764e-01,
-4.08022963e-02, 4.70394462e-01, 2.78936058e-01,
-1.74597502e-01, -5.46099693e-02, -1.11558408e-01},
{-3.08833212e-01, -8.75569701e-01, 8.89114588e-02,
1.53438091e-01, -3.86105418e-01, -7.08311021e-01,
-1.65464237e-01, 3.89871299e-01, 4.16626185e-01,
1.52687609e-01, 2.77573317e-01, 3.42038184e-01},
{-7.08884656e-01, -8.94088671e-02, -4.75552469e-01,
-5.36144972e-01, -9.71960425e-02, 1.47958010e-01,
1.69764161e-02, -3.53130728e-01, 3.36548299e-01,
7.29073435e-02, -2.13426888e-01, -2.59836763e-01},
{-2.18608961e-01, -9.39668000e-01, 3.52270082e-02,
1.21304624e-01, -6.51957214e-01, 2.63593405e-01,
3.46352719e-02, 3.74875903e-01, 7.42220521e-01,
-2.02292308e-01, 1.71525821e-01, 7.27249622e-01},
{-7.29904950e-01, 6.30520642e-01, -8.83700490e-01,
-3.31669867e-01, 8.05768311e-01, -5.06799042e-01,
-2.52019405e-01, -7.11954460e-02, -6.89883158e-02,
-8.19406509e-02, -7.60719538e-01, 2.60042578e-01}},
{{-2.53122479e-01, 9.10804048e-02, 4.31074977e-01,
1.55928478e-01, -3.77185524e-01, 7.71744102e-02,
-1.52996495e-01, -1.93037525e-01, -1.26324996e-01,
-1.17827520e-01, -7.86872730e-02, 4.33940530e-01},
{-2.40250468e-01, -8.92391652e-02, -1.86652720e-01,
1.64430887e-01, -2.66152054e-01, -3.95613551e-01,
1.03474818e-01, -1.10482469e-01, 6.04712181e-02,
2.42402866e-01, 4.29403596e-02, 5.05476184e-02},
{ 3.41122657e-01, -1.25085711e-01, -3.20897818e-01,
3.59037757e-01, -2.24039361e-01, -3.56998861e-01,
-1.43563882e-01, -3.98093373e-01, 1.30045563e-01,
1.25607699e-01, 3.32932353e-01, 8.00437108e-03},
{-6.36618972e-01, 1.04921721e-01, 1.01252578e-01,
-4.16715704e-02, -5.66671342e-02, 4.34980690e-01,
2.03167364e-01, 2.93046236e-01, 3.50989610e-01,
9.90965124e-03, -2.33184285e-02, -1.92893416e-01},
{-1.34208596e+00, -3.83682400e-01, -1.01942348e-03,
-2.51573294e-01, 9.76966769e-02, 1.96412817e-01,
1.41897157e-01, 7.62001753e-01, -8.82155895e-02,
-7.50608444e-02, 3.64949018e-01, -5.79288322e-03},
{-2.53890119e-02, -1.37958020e-01, 3.68904889e-01,
3.58280577e-02, -1.96211353e-01, -5.52264214e-01,
-2.97250658e-01, 5.95803797e-01, 2.25443900e-01,
9.54473540e-02, -3.49539191e-01, 1.98158771e-01},
{-5.52711427e-01, -7.11475968e-01, -4.97813672e-01,
2.81389207e-01, -1.05734134e+00, 2.98490405e-01,
-8.70426059e-01, -7.58137554e-03, 9.25840363e-02,
1.29365057e-01, 3.63341719e-01, 8.78037393e-01},
{-1.60779345e+00, 7.02732205e-01, -2.16896701e+00,
-4.61871862e-01, 1.52072951e-01, 9.25642908e-01,
3.06560427e-01, -5.53836763e-01, 1.01602960e+00,
-1.03291370e-01, -5.25464043e-02, 3.41618627e-01}},
{{-3.97511721e-01, 7.87386950e-03, 7.27513060e-02,
-6.34687245e-02, 8.58501866e-02, -1.59227103e-01,
1.46493375e-01, -9.44048762e-01, -2.03270301e-01,
-9.74453613e-03, 1.65325373e-01, -4.07328159e-02},
{-2.97308411e-03, -1.15950413e-01, -4.14742082e-02,
-2.73816288e-01, -3.94527018e-01, 7.33608678e-02,
-1.62992224e-01, 8.38414371e-01, 1.32655546e-01,
-4.45172638e-02, -3.25844198e-01, 3.32503140e-01},
{ 3.29432636e-01, -2.41567045e-01, -4.40980703e-01,
-9.45998281e-02, 7.07266927e-02, -5.57787001e-01,
6.28299713e-02, -5.55244349e-02, 1.03889875e-01,
7.08117196e-03, 5.27827501e-01, 6.75218850e-02},
{ 7.07173228e-01, 1.92588165e-01, 3.99979830e-01,
-5.10402977e-01, 1.86112851e-01, -6.73504844e-02,
-2.71979064e-01, -6.25972450e-01, -8.89517665e-02,
-1.31106228e-01, 6.14695512e-02, -3.01229581e-02},
{ 1.09040999e+00, 7.07620457e-02, -2.00102270e-01,
2.31079012e-01, -4.06463295e-01, 3.13888311e-01,
8.33349824e-02, 2.55863160e-01, 1.13251004e-02,
-1.44392974e-03, -9.52855870e-02, 1.57881230e-01},
{-4.40497905e-01, -1.55918434e-01, -8.78944159e-01,
-6.09392464e-01, 5.13709188e-01, 4.16777432e-01,
3.60682786e-01, -5.42139351e-01, -1.49473939e-02,
5.65136909e-01, -5.14286757e-01, -1.07949100e-01},
{ 5.81824601e-01, -9.21434388e-02, -6.86341345e-01,
5.67607224e-01, -5.78671157e-01, -1.72352895e-01,
-7.53044844e-01, 1.57299846e-01, -1.55236691e-01,
1.56490907e-01, -2.35366836e-01, -9.49650928e-02},
{-5.43812275e-01, -3.74825269e-01, 1.14048153e-01,
1.08355619e-01, -7.78387725e-01, -4.54655319e-01,
4.22871470e-01, -4.14504439e-01, -3.65076363e-01,
1.53351879e+00, -2.27804720e-01, -3.78694050e-02}}}};
const float conv2d_biases[KERN_NUM] =
{-0.50582314, -0.15525821, 0.0937408 , -0.03968126, -0.13734879,
-0.02459874, -0.3019844 , -0.23460138, 0.1732959 , 0.27621853,
-0.05070252, 0.15961371};
const float dense1_weights[CONV_NUM+2][DENSE1_NUM] =
{{ 5.20365357e-01, 2.67036825e-01, 8.62667263e-01,
-8.01012158e-01, -5.62255681e-02, 3.55006516e-01,
-1.64424270e-01, -3.37690078e-02, 2.20626250e-01},
{-3.20976414e-02, 1.73315942e-01, -4.74967808e-01,
6.37338400e-01, 4.11289304e-01, -3.00935507e-01,
-4.01919007e-01, -2.34734058e+00, -3.62349711e-02},
{ 2.38940313e-01, 1.19680442e-01, 9.57708061e-02,
3.68705601e-01, 2.16242850e-01, 5.07338680e-02,
2.52478719e-01, 4.45370972e-01, -4.50314403e-01},
{ 8.80156383e-02, -4.95193779e-01, -7.49421716e-01,
4.70114559e-01, 1.65679172e-01, -2.11382747e-01,
2.53362954e-01, 3.50114673e-01, 3.44294578e-01},
{ 3.93504024e-01, -5.00152893e-02, 5.52745700e-01,
-9.11833867e-02, -5.71952052e-02, 8.89931023e-02,
3.75504434e-01, 1.89111859e-01, 8.01168308e-02},
{ 1.09015241e-01, -2.00682506e-01, 3.89305153e-03,
2.40203962e-01, -5.06035425e-03, -9.12028998e-02,
-2.33393386e-02, 5.54777622e-01, 3.77401263e-01},
{ 4.56697136e-01, 3.29195678e-01, -2.28467479e-01,
-1.15299940e+00, -6.59075752e-02, -3.01349580e-01,
-2.16863737e-01, -3.03600520e-01, -7.46684551e-01},
{-5.23586385e-02, -1.55518189e-01, -8.77263993e-02,
2.95609534e-01, -1.83331162e-01, -4.16167229e-01,
4.61864576e-04, -3.66415828e-01, -8.36871285e-03},
{ 4.89014030e-01, -1.99271590e-01, 4.59110349e-01,
9.84975472e-02, -3.38084936e-01, 6.41228855e-02,
-2.10301578e-01, 2.60511249e-01, 3.05164814e-01},
{ 1.30015984e-01, 1.60117462e-01, 3.69346797e-01,
-6.24918006e-02, -2.48857528e-01, 2.77208269e-01,
1.28859654e-01, 1.03206217e+00, -4.05737191e-01},
{ 6.07349165e-02, -2.10251436e-01, -3.62392478e-02,
3.77864242e-01, 2.31077094e-02, 1.36317402e-01,
-6.53880179e-01, 3.00495058e-01, -6.95155442e-01},
{-1.88866496e-01, 1.84832111e-01, -1.33059829e-01,
-5.57637990e-01, 2.72664905e-01, -4.24268246e-01,
-2.86635775e-02, 3.79080802e-01, 1.05716281e-01},
{-1.73378840e-01, -1.37337968e-01, 2.76079234e-02,
-1.82590976e-01, 7.39220753e-02, -1.27823781e-02,
6.29893720e-01, -5.25784167e-03, 2.49765366e-01},
{-4.04023647e-01, -1.76825508e-01, 4.32559222e-01,
9.43508625e-01, 3.13296795e-01, 1.51266724e-01,
1.31022006e-01, -1.28474462e+00, 1.09592572e-01},
{ 1.15125969e-01, -2.38704637e-01, 4.27061856e-01,
-9.80967134e-02, -4.14862543e-01, -3.62555534e-01,
-2.43889660e-01, 6.90107867e-02, -1.31983030e+00},
{-9.43813547e-02, 2.16144845e-02, -3.23398650e-01,
-3.27076435e-01, 7.32412338e-02, 7.04773813e-02,
-1.04577214e-01, 3.44722457e-02, -9.28458750e-01},
{-8.87508765e-02, -3.85157168e-01, 3.25263321e-01,
-2.48622358e-01, 4.38320227e-02, 1.32690743e-01,
1.00045726e-01, 2.69518644e-01, -7.45460466e-02},
{ 4.42616135e-01, -1.89856403e-02, 3.18905085e-01,
-4.97087389e-01, 2.33395547e-01, -3.93612981e-02,
-2.06765443e-01, -4.62062895e-01, -3.80534887e-01},
{-8.77905190e-02, 3.01677227e-01, 3.22045982e-02,
4.68370259e-01, 3.28393072e-01, 2.06847310e-01,
-3.35303545e-01, -6.53518617e-01, 6.30351484e-01},
{-6.66759312e-02, 4.95591108e-03, -8.03819597e-02,
-1.68458953e-01, -1.15239032e-01, 5.30615710e-02,
1.54220894e-01, 5.09904400e-02, -1.55578712e-02},
{ 2.21744984e-01, -2.53749430e-01, -6.58039600e-02,
7.57964551e-02, 1.96426600e-01, 2.93583244e-01,
1.70011163e-01, -6.31138861e-01, -1.57757923e-01},
{ 2.08598807e-01, 1.91986226e-02, -1.28829610e-02,
1.47030326e-02, 1.71952724e-01, 5.51540494e-01,
2.34726742e-01, -1.68631271e-01, 2.27002367e-01},
{ 2.83379674e-01, 3.88685048e-01, 3.47124547e-01,
1.74664766e-01, -1.58639818e-01, 1.73848495e-01,
-2.26383433e-01, 1.64550394e-01, 1.48353696e-01},
{-3.56125742e-01, -2.44194478e-01, -3.26962620e-01,
2.23630592e-01, 4.21533197e-01, -6.24508504e-03,
1.68060556e-01, 1.13140628e-01, -4.72423732e-01},
{-8.76833722e-02, -1.21912397e-01, -7.58987844e-01,
-5.90288103e-01, -2.34685853e-01, 1.73539087e-01,
1.44752890e-01, 3.90227675e-01, -2.88754981e-02},
{-4.92896408e-01, 6.28241003e-02, 2.95018911e-01,
6.17515519e-02, -8.50111470e-02, 3.62739600e-02,
3.89824957e-01, -3.66259180e-02, -4.47826087e-01},
{ 2.06254914e-01, 1.63933858e-01, -3.06753248e-01,
1.64834812e-01, 1.48237282e-02, 4.56595033e-01,
-1.02455810e-01, -6.85565412e-01, -3.64740163e-01},
{ 2.54897535e-01, -6.36682734e-02, -1.52546734e-01,
5.18710732e-01, 7.62630850e-02, 2.10710108e-01,
-9.73656029e-02, 2.03102142e-01, -3.52863640e-01},
{ 2.27836758e-01, -2.79923491e-02, 2.24231079e-01,
2.34357774e-01, -1.20351292e-01, -3.09137404e-01,
1.82274044e-01, 4.65571731e-02, -2.37010848e-02},
{ 6.42556623e-02, 1.50329061e-02, 8.42898432e-03,
7.31379032e-01, -1.16561435e-01, -2.75750130e-01,
-1.60046905e-01, 3.54181349e-01, -9.45040062e-02},
{-7.22073317e-02, 3.89727294e-01, -4.73219663e-01,
7.09266961e-01, 3.37156981e-01, -4.17882890e-01,
-3.84191334e-01, 7.40251482e-01, -4.28816915e-01},
{ 4.46183383e-01, 8.74729007e-02, -3.99450250e-02,
-2.96927094e-01, 2.36514762e-01, 3.92161399e-01,
-7.10298941e-02, -8.34203780e-01, -9.91344750e-01},
{-9.15601850e-02, 2.32772436e-02, 4.53691959e-01,
-7.32673034e-02, -1.29909888e-01, 1.66824281e-01,
1.43999532e-01, -2.11547911e-02, 3.16345811e-01},
{ 6.29108012e-01, -1.06082847e-02, 3.86569530e-01,
-6.57522321e-01, -1.31236702e-01, 6.30103528e-01,
-1.98857814e-01, -3.69297445e-01, 1.00227349e-01},
{ 2.78403163e-01, -1.45616055e-01, -1.27781210e-02,
-4.52052709e-03, -3.18631530e-02, 3.84424254e-02,
5.80449849e-02, -6.08923137e-01, -1.28857136e-01},
{-3.49824905e-01, 1.82143033e-01, -4.40112680e-01,
-4.25096631e-01, 2.48442337e-01, -1.70006692e-01,
-1.38579160e-01, -1.51360109e-01, 3.38080190e-02},
{ 3.39815825e-01, 2.34008580e-02, 1.27229556e-01,
2.64536679e-01, -2.75400966e-01, 7.11119249e-02,
5.78213017e-03, -4.05856632e-02, -3.55877668e-01},
{-1.04772165e-01, -1.13926744e-02, -4.52669770e-01,
5.18807054e-01, 5.06500781e-01, -8.27034488e-02,
-1.48424163e-01, 4.19646889e-01, -1.17617452e+00},
{-3.10544670e-01, -1.15964666e-01, -2.05748543e-01,
4.90682572e-01, 2.96750337e-01, 8.85647833e-02,
3.25647965e-02, -9.49119702e-02, 2.89876580e-01},
{-5.71977422e-02, 1.99770167e-01, -3.48299384e-01,
-3.07899922e-01, 3.16252470e-01, 1.08715631e-01,
2.67641604e-01, -9.17425305e-02, -9.22367573e-02},
{ 8.92782286e-02, 2.36649349e-01, -1.29275680e-01,
1.98424622e-01, 1.02785207e-01, 4.34195101e-02,
4.82708514e-01, -8.44382122e-02, -1.42766610e-01},
{ 2.32119113e-01, 7.54624009e-02, 2.47529775e-01,
2.08809465e-01, -2.28980258e-01, -3.62709910e-01,
2.34360144e-01, -5.39934397e-01, -1.51306355e+00},
{-4.45259571e-01, 1.56581834e-01, 4.39378500e-01,
-4.88224417e-01, -4.09646183e-02, 2.61773080e-01,
1.06917150e-01, -6.69699967e-01, -6.13316715e-01},
{ 3.14878151e-02, -1.93600595e-01, 6.39250204e-02,
-1.35152504e-01, 5.83995879e-02, 2.75308311e-01,
-1.18696734e-01, -5.95717914e-02, 1.38369232e-01},
{ 2.88242161e-01, -1.77467182e-01, -8.38139057e-01,
2.69457042e-01, -1.88882276e-01, 3.65129799e-01,
-6.01105317e-02, -2.55823165e-01, -3.68736029e-01},
{ 1.90774456e-01, 3.37121010e-01, -2.21511692e-01,
-4.80402410e-01, 2.20350161e-01, 3.19534123e-01,
9.83228907e-02, 6.59708798e-01, -2.44981255e-02},
{ 1.29115105e-01, -3.37750874e-02, 6.00449257e-02,
-9.23546031e-02, 1.01711333e-01, 3.04357260e-01,
-3.40147465e-02, -2.94849306e-01, 3.73780787e-01},
{ 3.95375997e-01, -5.87834138e-03, -9.22912955e-02,
1.14963382e-01, -1.27017265e-02, -7.74945468e-02,
-3.61975789e-01, 1.82964250e-01, 5.74072838e-01},
{ 4.47279364e-01, 2.35828638e-01, 1.04954951e-01,
-2.56818682e-01, 1.47959394e-02, 2.68251598e-01,
1.59622788e-01, 1.38466191e-02, 1.82562396e-02},
{-1.44805044e-01, -1.79396406e-01, 1.89334616e-01,
-1.21175282e-01, 2.16509923e-01, -4.62895066e-01,
2.60051101e-01, -3.42255384e-01, -1.04841284e-01},
{-3.91470343e-01, -5.78178689e-02, 1.77685090e-03,
1.74934924e-01, -2.06728473e-01, 5.46238162e-02,
1.24351010e-01, 3.41734409e-01, 3.12781245e-01},
{-7.36642256e-02, 4.74024862e-02, -1.76254541e-01,
-1.08159304e-01, 2.40964934e-01, 1.29042119e-01,
2.66190261e-01, 1.99496001e-02, -3.96312326e-02},
{ 6.73424229e-02, 2.68810391e-01, -3.11152428e-01,
2.25328356e-02, 9.26664546e-02, -4.37319577e-01,
-1.95658371e-01, 3.72818351e-01, 7.34095648e-02},
{ 1.24284320e-01, -2.08963100e-02, 2.93873817e-01,
3.93925488e-01, 2.98458189e-01, -5.40206619e-02,
6.51299804e-02, -1.89499352e-02, -1.74234211e-02},
{-3.72406751e-01, -3.00065935e-01, 2.72945672e-01,
-2.56178111e-01, 1.90329760e-01, -2.15790840e-03,
2.04500809e-01, 3.33028823e-01, 2.61211768e-02},
{-3.66824895e-01, -7.09661961e-01, 2.37200230e-01,
-3.18618953e-01, -1.37146994e-01, -2.81187445e-01,
2.02441633e-01, 4.20169204e-01, 2.53293873e-03},
{ 9.77746323e-02, -4.53759730e-02, 1.03109688e-01,
4.02013808e-01, -6.52036816e-03, 2.75388896e-01,
4.57569724e-03, -3.84352684e-01, 4.80003446e-01},
{ 3.38302553e-01, -1.47270247e-01, -1.03805453e-01,
-6.59075022e-01, -1.19924597e-01, -1.52962923e-01,
9.17055383e-02, 2.07310304e-01, 4.93027061e-01},
{ 3.12479168e-01, -4.45763320e-02, 9.07223374e-02,
-3.27426523e-01, -6.28064573e-02, 2.56404191e-01,
2.09402349e-02, 9.94764045e-02, -1.97675243e-01},
{ 1.40701562e-01, -1.90860659e-01, 2.72095114e-01,
-5.05917855e-02, 2.95733660e-01, 2.99807101e-01,
-3.60057456e-04, -7.61540458e-02, 5.30228317e-01},
{ 1.83914959e-01, -3.80164444e-01, 2.55899817e-01,
-9.79989767e-01, -5.88855259e-02, 3.26165169e-01,
-4.58869040e-02, 1.91851825e-01, 5.31686068e-01},
{ 3.14017199e-02, -1.06478408e-01, 5.03059566e-01,
2.84127384e-01, 1.57308668e-01, 9.35146809e-02,
-8.11032951e-02, 4.23716903e-01, -2.13296097e-02},
{-3.20372105e-01, 3.90262723e-01, 3.48023504e-01,
-1.41910136e-01, 1.90512642e-01, -8.28668177e-02,
3.74634147e-01, -5.97442091e-01, 9.23731178e-02},
{ 4.08399731e-01, 1.77162215e-01, -3.10536355e-01,
-2.49323055e-01, 1.08527429e-01, 4.91385847e-01,
2.18052357e-01, 1.03610389e-01, 4.74729650e-02},
{ 4.56120074e-02, -3.56300354e-01, -1.23813175e-01,
5.43736100e-01, -1.09640323e-01, -3.11791539e-01,
-2.90389508e-01, -5.39120845e-02, -7.80032575e-01},
{ 6.90717716e-03, 2.34693348e-01, 1.61744744e-01,
-4.56038743e-01, 1.12377651e-01, -1.12118811e-04,
-1.54462442e-01, -8.70335400e-02, 7.41065264e-01},
{-7.37173334e-02, 2.18026340e-01, 4.06085044e-01,
6.14916623e-01, 5.15355289e-01, -2.51995832e-01,
-2.44810820e-01, -3.65591437e-01, -2.84269303e-01},
{ 6.89226151e-01, 2.46565565e-01, -4.87345994e-01,
-5.56775033e-01, -2.89455783e-02, -2.51275539e-01,
3.80881950e-02, 6.11789942e-01, -5.71883380e-01},
{ 2.88258463e-01, 1.99822336e-01, -2.23929107e-01,
2.89243847e-01, 1.75736725e-01, -7.12539721e-03,
6.95113167e-02, -7.55383372e-01, 4.41047728e-01},
{-5.32903001e-02, 3.76432785e-03, -1.67035237e-01,
-5.61747968e-01, -5.81132360e-02, 3.84685576e-01,
2.56420761e-01, -1.87474161e-01, 4.75669593e-01},
{ 1.43814251e-01, 5.59240818e-01, -1.23444781e-01,
-6.29278719e-01, 1.05193630e-02, -1.05026932e-02,
1.94454193e-01, -5.75249791e-01, -6.80901289e-01},
{-4.29649204e-02, 7.58018345e-02, 3.34357291e-01,
-8.15346930e-03, 2.14863583e-01, -4.75016795e-02,
-3.00820023e-01, 1.89484134e-01, 3.02402467e-01},
{-5.65690808e-02, -1.62820473e-01, 7.04636037e-01,
-2.69304067e-01, -4.99885112e-01, -5.22235557e-02,
1.79527532e-02, 1.22891463e-01, -1.86221099e+00},
{ 2.51392663e-01, 1.63013205e-01, 2.32890040e-01,
-3.79619151e-01, 1.58784732e-01, -7.72120059e-02,
-2.14758456e-01, 5.62392414e-01, -9.25744832e-01},
{-3.68350536e-01, 3.35248768e-01, -3.12338263e-01,
2.16399640e-01, 3.08710158e-01, -2.93771625e-02,
-3.49074215e-01, -2.22405419e-01, -1.50392756e-01},
{-2.65450478e-01, 2.20399648e-01, -4.18037742e-01,
-1.04343757e-01, 9.99428034e-02, -2.86762893e-01,
-2.18701288e-01, -1.39460170e+00, -1.84233803e-02},
{ 3.16966444e-01, -9.56642330e-02, -1.50917638e-02,
-1.11291873e+00, -2.77770370e-01, -5.13010859e-01,
3.35708231e-01, 1.63144633e-01, -2.56705374e-01},
{-6.44954592e-02, -8.18067789e-02, -3.27414244e-01,
4.16553527e-01, -1.51590377e-01, -1.38012335e-01,
7.69485950e-01, -8.10781956e-01, -1.34538209e+00},
{ 1.63818613e-01, 1.26917779e-01, 1.86418369e-01,
4.56362605e-01, 9.85018909e-02, 1.12639189e-01,
-2.58248627e-01, 5.49259901e-01, 3.04298729e-01},
{ 4.02803838e-01, 3.20964724e-01, 5.70965409e-01,
-2.75918901e-01, 7.96031356e-02, 1.02707855e-01,
1.75855070e-01, 4.01160479e-01, -4.09673631e-01},
{-5.55324042e-03, -1.91442147e-01, 3.43125612e-01,
3.01660836e-01, -1.67308301e-01, 3.21995735e-01,
1.27009585e-01, -1.92643493e-01, 1.27159551e-01},
{-5.18567637e-02, 3.72615792e-02, 1.39038906e-01,
2.57276118e-01, -5.88834435e-02, 6.48251995e-02,
-1.37870386e-01, 3.50086987e-01, -6.66871488e-01},
{ 3.78720611e-01, 7.86661804e-02, -1.85466826e-01,
4.70410794e-01, -2.91286334e-02, -4.96379063e-02,
3.47079813e-01, -5.29502891e-02, -4.65799600e-01},
{-3.86181384e-01, 3.42381150e-01, 3.88701595e-02,
5.25177062e-01, 2.98870355e-01, -1.88992962e-01,
-1.10377178e-01, 1.65274560e-01, 6.58466965e-02},
{-2.27205321e-01, 1.65890511e-02, -8.19056094e-01,
-3.07036698e-01, -1.24995792e-02, 7.35691011e-01,
3.92339259e-01, 1.04015715e-01, 7.07290173e-01},
{-4.58274148e-02, -4.01773788e-02, -3.54636699e-01,
-4.42152828e-01, 2.03399450e-01, 1.73906639e-01,
1.64666712e-01, -9.67762545e-02, -9.08142626e-02},
{ 8.60381797e-02, 1.61246195e-01, -2.43126318e-01,
-1.24653734e-01, 3.55467677e-01, -4.88721669e-01,
-1.84358373e-01, -1.92940876e-01, -3.77486289e-01},
{-1.53214619e-01, -9.05015171e-02, -5.37251413e-01,
-8.33939075e-01, 1.48675680e-01, 4.55437928e-01,
-2.13283554e-01, -3.97284180e-02, 2.67166287e-01},
{ 1.00485951e-01, -3.41468632e-01, -5.49097359e-01,
-8.40830028e-01, 2.00135633e-01, 6.41800687e-02,
-5.06431647e-02, 1.11733019e-01, 5.31757414e-01},
{-1.53401718e-01, 1.85743108e-01, -2.76827842e-01,
3.44686449e-01, -2.48533815e-01, -4.61145602e-02,
4.03787851e-01, -5.12677789e-01, -2.13835299e-01},
{-1.07171498e-01, 1.97845563e-01, -4.14673090e-01,
1.52817532e-01, 2.53381699e-01, 1.47084936e-01,
3.00640643e-01, 1.51416823e-01, 1.34567961e-01},
{ 6.77554965e-01, 2.53076464e-01, -3.80636275e-01,
1.25611231e-01, 1.34928107e-01, -1.59578711e-01,
-3.95457029e-01, 2.34642059e-01, -2.79866457e-01},
{ 1.83228999e-01, 2.66587526e-01, 1.97180092e-01,
3.10978025e-01, -8.40307679e-03, 4.97100025e-01,
-2.74940491e-01, 3.15407932e-01, 4.40992087e-01},
{ 1.45733252e-01, -1.78069547e-01, -5.72171509e-02,
-1.08311288e-01, 3.66506912e-02, 7.58164898e-02,
1.73283547e-01, 1.58833005e-02, 2.58592427e-01},
{-6.48332462e-02, -2.08469048e-01, -1.93653792e-01,
-8.78848061e-02, -1.02923386e-01, -5.60842305e-02,
7.87734389e-02, -7.22653687e-01, 4.44512069e-03},
{-1.84073627e-01, 2.01684937e-01, -5.27555346e-02,
3.49038720e-01, 1.84398800e-01, 2.71714497e-02,
-1.05141826e-01, -4.99811351e-01, -3.17314155e-02},
{ 1.89444259e-01, -5.12597263e-01, 1.00867939e+00,
-6.24394752e-02, -2.63740599e-01, 3.52429330e-01,
1.17375374e-01, -9.73625898e-01, 2.81982068e-02},
{-2.76787281e-01, -7.40799904e-02, 3.89515132e-01,
-6.44383371e-01, 1.14130884e-01, 9.30463597e-02,
-5.94623350e-02, -1.23379022e-01, 1.62462458e-01},
{-1.36184260e-01, 2.83795089e-01, -1.01524524e-01,
1.64970476e-03, 2.58080870e-01, -1.90085471e-02,
-1.94060966e-01, 3.41793239e-01, 2.34921426e-01},
{ 2.45781586e-01, 3.43621433e-01, -8.22937042e-02,
2.20040604e-01, -8.78500268e-02, -3.35342973e-01,
4.09249246e-01, 8.25929642e-02, 1.06100574e-01},
{ 2.13896841e-01, 5.06344177e-02, 7.53350377e-01,
-6.72554135e-01, -1.97996870e-01, 1.05498016e-01,
1.36608422e-01, -2.33995438e-01, -1.04750121e+00},
{ 5.35587445e-02, 2.28788659e-01, -4.10330981e-01,
2.99086601e-01, 2.29404241e-01, -3.10413510e-01,
3.72333586e-01, -2.40012437e-01, -3.76001328e-01},
{ 1.94292784e-01, 3.21002245e-01, 3.94462228e-01,
3.75159919e-01, 4.53037947e-01, -3.33846718e-01,
1.01650618e-01, 5.69569528e-01, -1.13408297e-01},
{-1.11003108e-02, -2.39230156e-01, 3.61039937e-01,
5.73206782e-01, -3.03605139e-01, 1.95180282e-01,
9.65730727e-01, -6.27246872e-02, 5.83911121e-01},
{ 2.60331988e-01, -3.94705623e-01, 8.42839718e-01,
2.11903587e-01, 6.39226660e-02, -1.40606150e-01,
1.42916352e-01, -3.25561762e-01, 4.14942652e-02},
{ 2.94532090e-01, -4.35806587e-02, 1.90212056e-01,
7.34699145e-02, 5.07718287e-02, 2.00441465e-01,
3.08042347e-01, -4.50803965e-01, -5.48107982e-01},
{ 2.30216905e-01, -1.26153693e-01, 2.32551485e-01,
1.65955365e-01, -2.33608112e-01, 6.77250102e-02,
8.34632590e-02, -2.29046419e-01, -3.62604707e-01},
{-3.26398879e-01, 1.65084854e-01, -5.60568213e-01,
2.45142743e-01, 2.77332157e-01, -3.83673787e-01,
-3.73386919e-01, 3.77528578e-01, -1.77783873e-02},
{-1.59187472e+00, 2.12910891e+00, -7.44757414e-01,
-1.49688292e+00, 1.80871642e+00, -1.79384756e+00,
-1.69458473e+00, 7.15802670e-01, 1.51803449e-01},
{ 1.64586818e+00, -1.42934048e+00, 1.82159615e+00,
-5.19323885e-01, -1.84979129e+00, 1.61859345e+00,
1.87775397e+00, -7.55037487e-01, -1.33021569e+00}};
const float dense1_biases[DENSE1_NUM] =
{ 0.08323663, 0.06709348, 0.08471993, 0.29292974, 0.08572711,
0.1444555 , 0.11218692, -0.08387941, 0.16479559};
const float dense2_weights[DENSE1_NUM][DENSE2_NUM] =
{{-0.355027 , -0.03038524, -0.9623985 , 0.44522065, -0.328203 , 0.09186581, 0.4277215 , 0.40182036},
{-0.59044325, -0.04097023, 0.3064686 , -0.04390931, -0.6194402 , 0.7946514 , -0.32374156, -0.48573917},
{-0.3127039 , -0.02573497, 0.51843095, 0.31725854, 0.34176385, 0.38730493, 1.0971122 , -1.0043958 },
{-0.09376942, 0.05173856, -0.37805918, 0.10716944, -0.16785148, -0.6186499 , 0.94506395, -0.79232514},
{ 0.05518914, -0.04873696, 0.44968304, -0.13863392, -0.4847229 , 0.94378626, -0.4600172 , 0.0524866 },
{ 0.01710335, -0.01360651, -0.9012569 , 0.71135896, -0.5623713 , -0.17142558, -0.21226907, 0.2793243 },
{-0.5672554 , 0.04492819, 0.71869844, 0.61543185, -0.5980374 , -0.5959678 , -0.63906205, -0.33205396},
{ 0.04449992, 0.01005313, 0.03499761, -0.5123107 , -0.22831082, 0.726815 , -0.5536366 , -0.415349 },
{ 0.00354342, -0.07097852, 0.5969949 , -0.51290333, -0.2601601 , 0.5347398 , -0.4713355 , 0.5292223 }};
const float dense2_biases[DENSE2_NUM] =
{-0.2302535 , 0.01565712, -0.19636394, 0.2920104 , -0.12861954,
0.24527866, 0.20829447, 0.14413184};
const float output_weights[DENSE2_NUM][OUTPUT_NUM] =
{{ 0.11664173, -0.46251142},
{-0.23456739, -0.21527362},
{-0.7781244 , 0.7823311 },
{ 0.8555713 , -0.8524619 },
{-0.5087054 , -0.13419573},
{-0.7862614 , 0.7739757 },
{ 0.5553004 , -0.5589422 },
{-0.41366068, 0.40288085}};
const float output_biases[2] = {-0.15190634, 0.17115395};
|