Skip to content

Commit 94e368f

Browse files
committed
Add SQ Softmax tests
1 parent 1723644 commit 94e368f

4 files changed

Lines changed: 589 additions & 0 deletions

File tree

TESTS/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ package_add_test_with_libraries(test_quant_dws_conv operators/test_quantized_dws
5656
package_add_test_with_libraries(test_quant_fully_connect_2 operators/test_quant_fully_connect_2 utensor operators "${PROJECT_DIR}/test-data/")
5757
package_add_test_with_libraries(test_fully_connect operators/test_fully_connected utensor operators "${PROJECT_DIR}/test-data/")
5858
package_add_test_with_libraries(test_sq_conv2d operators/test_sq_conv2d utensor operators "${PROJECT_DIR}/test-data/")
59+
package_add_test_with_libraries(test_sq_softmax operators/test_sq_softmax utensor operators "${PROJECT_DIR}/test-data/")
5960

6061
# Includes
6162
package_add_test_with_libraries(test_top_include library/test_top_include utensor library "${PROJECT_DIR}/test-data/")
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
#ifndef constants_sq_softmax_hpp
2+
#define constants_sq_softmax_hpp
3+
static const float s_ref_out_0_f[64] = {
4+
0.3232281, 0.26371953, 1.3077121e-12, 0.016629465, 7.2267464e-29, 1.3699615e-30, 2.9402095e-23, 1.121753e-22, 4.1710523e-27, 0.3769029,
5+
1.7611454e-24, 1.7294644e-06, 2.4079233e-11, 1.3690801e-09, 8.379504e-27, 6.589269e-11, 1.0570263e-11, 1.8060553e-13, 3.3170065e-17, 4.049743e-13,
6+
8.450384e-19, 1.8904372e-07, 4.8578193e-17, 9.268036e-15, 0.0030015148, 8.883796e-29, 4.644778e-18, 1.6772232e-10, 1.5857148e-13, 1.1593801e-23,
7+
2.4598917e-15, 0.00012174164, 4.3413197e-09, 9.649573e-19, 6.5545726e-07, 6.848535e-09, 1.08362144e-07, 1.8908588e-11, 2.5234859e-23, 4.974054e-28,
8+
2.4043094e-24, 1.6744401e-05, 4.748776e-05, 4.8799764e-10, 6.041961e-11, 1.5324722e-28, 1.3021458e-06, 3.551756e-30, 4.661047e-21, 6.8987385e-19,
9+
1.4893552e-23, 0.0002258275, 1.3239123e-08, 2.5544614e-29, 1.453841e-28, 1.2502035e-07, 8.3824515e-18, 0.0104530435, 2.444885e-16, 0.0022463936,
10+
4.141543e-06, 1.6166504e-10, 0.0033989828, 1.299886e-16
11+
};
12+
13+
static const float s_ref_in_0_f[64] = {
14+
49.822697, 49.619225, 23.589352, 46.855515, -13.845086, -17.810677, -0.92888075, 0.41011408, -9.789537, 49.976326,
15+
-3.743983, 37.684395, 26.502422, 30.542967, -9.091914, 27.5091, 25.679117, 21.609632, 13.007211, 22.417141,
16+
9.337189, 35.470806, 13.388737, 18.639889, 45.143456, -13.638644, 11.041307, 28.443382, 21.479523, -1.8594788,
17+
17.313435, 41.938484, 31.697006, 9.469891, 36.71416, 32.152863, 34.914307, 26.260689, -1.0817206, -11.916056,
18+
-3.4326868, 39.954647, 40.997055, 29.511383, 27.422386, -13.093405, 37.400597, -16.858017, 4.1370482, 9.134314,
19+
-1.6090201, 42.556355, 32.812004, -14.885032, -13.14608, 35.057304, 11.631701, 46.39123, 15.004728, 44.853664,
20+
38.55765, 28.406599, 45.267815, 14.373007
21+
};
22+
23+
24+
static const float s_ref_out_0_q[64] = {
25+
0.3232281, 0.26371953, 1.3077121e-12, 0.016629465, 7.2267464e-29, 1.3699615e-30, 2.9402095e-23, 1.121753e-22, 4.1710523e-27, 0.3769029,
26+
1.7611454e-24, 1.7294644e-06, 2.4079233e-11, 1.3690801e-09, 8.379504e-27, 6.589269e-11, 1.0570263e-11, 1.8060553e-13, 3.3170065e-17, 4.049743e-13,
27+
8.450384e-19, 1.8904372e-07, 4.8578193e-17, 9.268036e-15, 0.0030015148, 8.883796e-29, 4.644778e-18, 1.6772232e-10, 1.5857148e-13, 1.1593801e-23,
28+
2.4598917e-15, 0.00012174164, 4.3413197e-09, 9.649573e-19, 6.5545726e-07, 6.848535e-09, 1.08362144e-07, 1.8908588e-11, 2.5234859e-23, 4.974054e-28,
29+
2.4043094e-24, 1.6744401e-05, 4.748776e-05, 4.8799764e-10, 6.041961e-11, 1.5324722e-28, 1.3021458e-06, 3.551756e-30, 4.661047e-21, 6.8987385e-19,
30+
1.4893552e-23, 0.0002258275, 1.3239123e-08, 2.5544614e-29, 1.453841e-28, 1.2502035e-07, 8.3824515e-18, 0.0104530435, 2.444885e-16, 0.0022463936,
31+
4.141543e-06, 1.6166504e-10, 0.0033989828, 1.299886e-16
32+
};
33+
static const int32_t s_ref_out_0_f_zp = -128;
34+
static const float s_ref_out_0_f_scale = 0.00390625;
35+
36+
static const int8_t s_ref_in_0_q[64] = {
37+
126, 126, 59, 119, -35, -45, -2, 1, -24, 127,
38+
-9, 95, 67, 77, -23, 69, 65, 54, 33, 56,
39+
23, 90, 34, 47, 114, -34, 28, 72, 54, -4,
40+
43, 106, 80, 24, 93, 81, 88, 66, -2, -30,
41+
-8, 101, 104, 74, 69, -33, 95, -42, 10, 23,
42+
-4, 108, 83, -37, -33, 89, 29, 117, 38, 113,
43+
97, 72, 115, 36
44+
};
45+
static const int32_t s_ref_in_0_f_zp = 0;
46+
static const float s_ref_in_0_f_scale = 0.393514377864327;
47+
48+
static const int32_t s_out_0_q_zp = -128;
49+
static const float s_out_0_q_scale = 0.00390625;
50+
51+
static const float s_ref_in_1_f[64] = {
52+
22.695715, 44.227303, 11.416743, 47.461918, 31.889687, 33.862106, 3.5625935, 17.962265, 40.556484, 19.54177,
53+
23.217949, 37.24692, 24.682846, 47.787464, -5.523151, -9.300784, -14.9111395, 29.894224, -11.956325, 48.613052,
54+
39.866993, -19.535177, 31.834589, 1.1128968, 16.512285, 10.403177, -8.82728, 43.051098, 2.4087863, 29.458687,
55+
46.46558, 12.266608, 33.717106, -16.47829, 33.311653, 47.82073, 15.659931, 12.902919, 17.592371, -5.5361094,
56+
-0.9360571, -19.940845, 45.328693, -13.95835, 22.253778, -16.004322, 42.99831, 38.24983, 6.6986637, -14.85519,
57+
40.55758, 28.205107, 4.875554, 39.801147, 30.390907, -15.423515, 1.2851207, 18.138067, -0.70465404, 22.013,
58+
29.951313, 26.222872, 12.406887, 6.680376
59+
};
60+
61+
static const float s_ref_out_1_f[64] = {
62+
2.3294984e-12, 0.0052277176, 2.943525e-17, 0.13276625, 2.2916778e-08, 1.6472691e-07, 1.1424903e-20, 2.0490439e-14, 0.00013307485, 9.943103e-14,
63+
3.927044e-12, 4.8615093e-06, 1.6992704e-11, 0.18385296, 1.29409e-24, 2.9604588e-26, 1.0834595e-28, 3.1155538e-09, 2.0800436e-27, 0.4197774,
64+
6.678112e-05, 1.0632077e-30, 2.1688274e-08, 9.86196e-22, 4.806536e-15, 1.0682682e-17, 4.7533572e-26, 0.0016124747, 3.6038066e-21, 2.0155044e-09,
65+
0.049021166, 6.885878e-17, 1.424924e-07, 2.2605267e-29, 9.49961e-08, 0.19007152, 2.0495586e-15, 1.3010844e-16, 1.4154949e-14, 1.2774287e-24,
66+
1.270907e-22, 7.086653e-31, 0.01572679, 2.8093367e-28, 1.4973794e-12, 3.6312118e-29, 0.0015295633, 1.3253422e-05, 2.6292417e-19, 1.145807e-28,
67+
0.00013322062, 5.7538807e-10, 4.246826e-20, 6.2525534e-05, 5.11967e-09, 6.490693e-29, 1.1715478e-21, 2.4428745e-14, 1.60181e-22, 1.1769642e-12,
68+
3.2985923e-09, 7.9266045e-11, 7.9228464e-17, 2.581596e-19
69+
};
70+
71+
72+
static const int8_t s_ref_in_1_q[64] = {
73+
59, 115, 29, 123, 83, 88, 9, 46, 105, 51,
74+
60, 97, 64, 124, -14, -24, -38, 78, -31, 127,
75+
104, -51, 83, 2, 43, 27, -23, 112, 6, 76,
76+
121, 32, 88, -43, 87, 124, 40, 33, 45, -14,
77+
-2, -52, 118, -36, 58, -41, 112, 99, 17, -38,
78+
105, 73, 12, 103, 79, -40, 3, 47, -1, 57,
79+
78, 68, 32, 17
80+
};
81+
static const int32_t s_ref_in_1_f_zp = 0;
82+
static const float s_ref_in_1_f_scale = 0.38277993990680365;
83+
84+
static const float s_ref_out_1_q[64] = {
85+
2.3294984e-12, 0.0052277176, 2.943525e-17, 0.13276625, 2.2916778e-08, 1.6472691e-07, 1.1424903e-20, 2.0490439e-14, 0.00013307485, 9.943103e-14,
86+
3.927044e-12, 4.8615093e-06, 1.6992704e-11, 0.18385296, 1.29409e-24, 2.9604588e-26, 1.0834595e-28, 3.1155538e-09, 2.0800436e-27, 0.4197774,
87+
6.678112e-05, 1.0632077e-30, 2.1688274e-08, 9.86196e-22, 4.806536e-15, 1.0682682e-17, 4.7533572e-26, 0.0016124747, 3.6038066e-21, 2.0155044e-09,
88+
0.049021166, 6.885878e-17, 1.424924e-07, 2.2605267e-29, 9.49961e-08, 0.19007152, 2.0495586e-15, 1.3010844e-16, 1.4154949e-14, 1.2774287e-24,
89+
1.270907e-22, 7.086653e-31, 0.01572679, 2.8093367e-28, 1.4973794e-12, 3.6312118e-29, 0.0015295633, 1.3253422e-05, 2.6292417e-19, 1.145807e-28,
90+
0.00013322062, 5.7538807e-10, 4.246826e-20, 6.2525534e-05, 5.11967e-09, 6.490693e-29, 1.1715478e-21, 2.4428745e-14, 1.60181e-22, 1.1769642e-12,
91+
3.2985923e-09, 7.9266045e-11, 7.9228464e-17, 2.581596e-19
92+
};
93+
static const int32_t s_ref_out_1_f_zp = -128;
94+
static const float s_ref_out_1_f_scale = 0.00390625;
95+
96+
static const int32_t s_out_1_q_zp = -128;
97+
static const float s_out_1_q_scale = 0.00390625;
98+
99+
static const float s_ref_in_2_f[64] = {
100+
34.938488, -14.054197, 35.018898, 37.396076, -18.185934, -17.796629, -12.333521, 9.461549, 43.56689, 18.32165,
101+
-9.373199, 28.30858, 23.612707, 31.944818, 10.295248, 36.473015, 12.6174755, 12.397453, -0.84510195, 12.308987,
102+
29.152946, 39.6069, 6.1857705, 13.613278, 5.338169, 14.66598, 32.524464, -8.236876, 15.367252, 34.58074,
103+
42.648655, 41.028477, -10.386009, -3.138113, -10.117352, 26.080393, -19.996023, -2.2119138, -15.241206, 31.023476,
104+
21.74205, -1.6623129, 41.815094, -14.776887, -16.300507, -16.489038, 23.74406, -8.574763, 22.916353, 9.970734,
105+
30.835144, 49.18838, 1.6834415, 28.95862, 42.4797, -6.7262807, 13.943737, 8.763305, 23.102133, 13.889833,
106+
-1.633858, 10.714163, 38.31969, 8.7555895
107+
};
108+
109+
static const float s_ref_out_2_f[64] = {
110+
6.4297154e-07, 3.3957814e-28, 6.9680846e-07, 7.5077323e-06, 5.4519172e-30, 8.0467836e-30, 1.8976598e-27, 5.5423926e-18, 0.0035930187, 3.904726e-14,
111+
3.6632827e-26, 8.489058e-10, 7.752962e-12, 3.2214963e-08, 1.2757566e-17, 2.9828286e-06, 1.3010633e-16, 1.0441065e-16, 1.8517263e-22, 9.557058e-17,
112+
1.9749813e-09, 6.849471e-05, 2.0943337e-19, 3.5218473e-16, 8.972979e-20, 1.009146e-15, 5.751675e-08, 1.1412229e-25, 2.034755e-15, 4.4959828e-07,
113+
0.0014344148, 0.00028381823, 1.3304936e-26, 1.8695405e-23, 1.7405612e-26, 9.14471e-11, 8.921492e-31, 4.7203824e-23, 1.0361607e-28, 1.2821048e-08,
114+
1.1941302e-12, 8.178365e-23, 0.0006232522, 1.6484629e-28, 3.5923405e-29, 2.9750893e-29, 8.841251e-12, 8.140038e-26, 3.86407e-12, 9.222185e-18,
115+
1.06201865e-08, 0.9927543, 2.3211779e-21, 1.6261782e-09, 0.0012114284, 5.169075e-25, 4.901029e-16, 2.757113e-18, 4.6529464e-12, 4.643849e-16,
116+
8.414413e-23, 1.9395465e-17, 1.8907296e-05, 2.7359177e-18
117+
};
118+
119+
120+
static const int8_t s_ref_in_2_q[64] = {
121+
90, -36, 90, 96, -46, -45, -31, 24, 112, 47,
122+
-24, 73, 60, 82, 26, 94, 32, 32, -2, 31,
123+
75, 102, 15, 35, 13, 37, 83, -21, 39, 89,
124+
110, 105, -26, -8, -26, 67, -51, -5, -39, 80,
125+
56, -4, 107, -38, -42, -42, 61, -22, 59, 25,
126+
79, 127, 4, 74, 109, -17, 36, 22, 59, 35,
127+
-4, 27, 98, 22
128+
};
129+
static const int32_t s_ref_in_2_f_zp = 0;
130+
static const float s_ref_in_2_f_scale = 0.38731008815014456;
131+
132+
static const float s_ref_out_2_q[64] = {
133+
6.4297154e-07, 3.3957814e-28, 6.9680846e-07, 7.5077323e-06, 5.4519172e-30, 8.0467836e-30, 1.8976598e-27, 5.5423926e-18, 0.0035930187, 3.904726e-14,
134+
3.6632827e-26, 8.489058e-10, 7.752962e-12, 3.2214963e-08, 1.2757566e-17, 2.9828286e-06, 1.3010633e-16, 1.0441065e-16, 1.8517263e-22, 9.557058e-17,
135+
1.9749813e-09, 6.849471e-05, 2.0943337e-19, 3.5218473e-16, 8.972979e-20, 1.009146e-15, 5.751675e-08, 1.1412229e-25, 2.034755e-15, 4.4959828e-07,
136+
0.0014344148, 0.00028381823, 1.3304936e-26, 1.8695405e-23, 1.7405612e-26, 9.14471e-11, 8.921492e-31, 4.7203824e-23, 1.0361607e-28, 1.2821048e-08,
137+
1.1941302e-12, 8.178365e-23, 0.0006232522, 1.6484629e-28, 3.5923405e-29, 2.9750893e-29, 8.841251e-12, 8.140038e-26, 3.86407e-12, 9.222185e-18,
138+
1.06201865e-08, 0.9927543, 2.3211779e-21, 1.6261782e-09, 0.0012114284, 5.169075e-25, 4.901029e-16, 2.757113e-18, 4.6529464e-12, 4.643849e-16,
139+
8.414413e-23, 1.9395465e-17, 1.8907296e-05, 2.7359177e-18
140+
};
141+
static const int32_t s_ref_out_2_f_zp = -128;
142+
static const float s_ref_out_2_f_scale = 0.00390625;
143+
144+
static const int32_t s_out_2_q_zp = -128;
145+
static const float s_out_2_q_scale = 0.00390625;
146+
147+
148+
static const float s_ref_out_3_f[64] = {
149+
2.2033501e-26, 6.551827e-16, 1.3214243e-19, 0.00012223322, 5.9009816e-30, 1.772148e-07, 5.491834e-28, 1.9992765e-24, 4.889379e-23, 4.0392543e-22,
150+
2.0897734e-30, 0.0026910882, 2.1248337e-26, 1.652515e-24, 1.773327e-27, 7.9364094e-05, 3.445921e-26, 6.732884e-24, 1.3225973e-07, 0.17792183,
151+
1.6382727e-25, 6.320991e-05, 3.1495463e-21, 1.8635002e-26, 3.688867e-23, 1.3637399e-08, 7.718918e-06, 2.3235504e-23, 5.205454e-07, 3.0103506e-24,
152+
3.822084e-16, 5.6560943e-15, 1.1019946e-21, 1.9733667e-05, 1.8776645e-11, 1.2520434e-06, 1.8193967e-13, 0.0022230474, 9.772775e-31, 7.5892655e-14,
153+
1.8685351e-16, 4.4686257e-22, 5.81037e-19, 3.644022e-26, 0.005030723, 0.113424085, 7.2495626e-29, 3.453074e-29, 0.010316193, 0.00021124598,
154+
3.875234e-14, 5.6294543e-27, 8.885972e-30, 6.709149e-22, 8.2256223e-13, 1.3460437e-11, 1.9676825e-29, 1.6581658e-14, 0.6658609, 0.022026543,
155+
1.4060919e-10, 1.2084536e-11, 6.5306373e-25, 2.0108095e-25
156+
};
157+
158+
static const float s_ref_in_3_f[64] = {
159+
-9.049905, 15.065713, 6.5569224, 41.01775, -17.275105, 34.481426, -12.741791, -4.5419264, -1.3450625, 0.7665163,
160+
-18.313164, 44.10952, -9.086188, -4.7324157, -11.569611, 40.585865, -8.602691, -3.327709, 34.18883, 48.30092,
161+
-7.043655, 40.35828, 2.8202999, -9.217428, -1.6268091, 31.91688, 38.255493, -2.089032, 35.55894, -4.132658,
162+
14.526765, 17.221285, 1.7701639, 39.194145, 25.328922, 36.436596, 20.692228, 43.918453, -19.07321, 19.817873,
163+
13.811125, 0.8675401, 8.037858, -8.546794, 44.735138, 47.850708, -14.766694, -15.50837, 45.45329, 41.564842,
164+
19.145744, -10.4144535, -16.865746, 1.2739277, 22.200977, 24.996063, -16.070784, 18.29685, 49.620655, 46.211823,
165+
27.342293, 24.888235, -5.660794, -6.8387594
166+
};
167+
168+
static const int32_t s_out_3_q_zp = -128;
169+
static const float s_out_3_q_scale = 0.00390625;
170+
171+
static const float s_ref_out_3_q[64] = {
172+
2.2033501e-26, 6.551827e-16, 1.3214243e-19, 0.00012223322, 5.9009816e-30, 1.772148e-07, 5.491834e-28, 1.9992765e-24, 4.889379e-23, 4.0392543e-22,
173+
2.0897734e-30, 0.0026910882, 2.1248337e-26, 1.652515e-24, 1.773327e-27, 7.9364094e-05, 3.445921e-26, 6.732884e-24, 1.3225973e-07, 0.17792183,
174+
1.6382727e-25, 6.320991e-05, 3.1495463e-21, 1.8635002e-26, 3.688867e-23, 1.3637399e-08, 7.718918e-06, 2.3235504e-23, 5.205454e-07, 3.0103506e-24,
175+
3.822084e-16, 5.6560943e-15, 1.1019946e-21, 1.9733667e-05, 1.8776645e-11, 1.2520434e-06, 1.8193967e-13, 0.0022230474, 9.772775e-31, 7.5892655e-14,
176+
1.8685351e-16, 4.4686257e-22, 5.81037e-19, 3.644022e-26, 0.005030723, 0.113424085, 7.2495626e-29, 3.453074e-29, 0.010316193, 0.00021124598,
177+
3.875234e-14, 5.6294543e-27, 8.885972e-30, 6.709149e-22, 8.2256223e-13, 1.3460437e-11, 1.9676825e-29, 1.6581658e-14, 0.6658609, 0.022026543,
178+
1.4060919e-10, 1.2084536e-11, 6.5306373e-25, 2.0108095e-25
179+
};
180+
static const int32_t s_ref_out_3_f_zp = -128;
181+
static const float s_ref_out_3_f_scale = 0.00390625;
182+
183+
static const int8_t s_ref_in_3_q[64] = {
184+
-23, 38, 16, 104, -44, 88, -32, -11, -3, 1,
185+
-46, 112, -23, -12, -29, 103, -22, -8, 87, 123,
186+
-18, 103, 7, -23, -4, 81, 97, -5, 91, -10,
187+
37, 44, 4, 100, 64, 93, 52, 112, -48, 50,
188+
35, 2, 20, -21, 114, 122, -37, -39, 116, 106,
189+
49, -26, -43, 3, 56, 63, -41, 46, 127, 118,
190+
69, 63, -14, -17
191+
};
192+
static const int32_t s_ref_in_3_f_zp = 0;
193+
static const float s_ref_in_3_f_scale = 0.39071381936861777;
194+
195+
#endif

0 commit comments

Comments
 (0)