• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) Facebook, Inc. and its affiliates.
2 // All rights reserved.
3 //
4 // Copyright 2019 Google LLC
5 //
6 // This source code is licensed under the BSD-style license found in the
7 // LICENSE file in the root directory of this source tree.
8 
9 #include <gtest/gtest.h>
10 
11 #include "sigmoid-operator-tester.h"
12 
13 
TEST(SIGMOID_NC_QS8,unit_batch)14 TEST(SIGMOID_NC_QS8, unit_batch) {
15   for (size_t channels = 1; channels < 100; channels += 15) {
16     SigmoidOperatorTester()
17       .batch_size(1)
18       .channels(channels)
19       .iterations(3)
20       .TestQS8();
21   }
22 }
23 
TEST(SIGMOID_NC_QS8,unit_batch_with_qmin)24 TEST(SIGMOID_NC_QS8, unit_batch_with_qmin) {
25   for (size_t channels = 1; channels < 100; channels += 15) {
26     SigmoidOperatorTester()
27       .batch_size(1)
28       .channels(channels)
29       .qmin(128)
30       .iterations(3)
31       .TestQS8();
32   }
33 }
34 
TEST(SIGMOID_NC_QS8,unit_batch_with_qmax)35 TEST(SIGMOID_NC_QS8, unit_batch_with_qmax) {
36   for (size_t channels = 1; channels < 100; channels += 15) {
37     SigmoidOperatorTester()
38       .batch_size(1)
39       .channels(channels)
40       .qmax(128)
41       .iterations(3)
42       .TestQS8();
43   }
44 }
45 
TEST(SIGMOID_NC_QS8,unit_batch_with_input_scale)46 TEST(SIGMOID_NC_QS8, unit_batch_with_input_scale) {
47   for (size_t channels = 1; channels < 100; channels += 15) {
48     for (float input_scale = 1.0e-2f; input_scale < 1.0e+2f; input_scale *= 10.0f) {
49       SigmoidOperatorTester()
50         .batch_size(1)
51         .channels(channels)
52         .input_scale(input_scale)
53         .iterations(1)
54         .TestQS8();
55     }
56   }
57 }
58 
TEST(SIGMOID_NC_QS8,unit_batch_with_input_zero_point)59 TEST(SIGMOID_NC_QS8, unit_batch_with_input_zero_point) {
60   for (size_t channels = 1; channels < 100; channels += 15) {
61     for (int32_t input_zero_point = 0; input_zero_point <= 255; input_zero_point += 51) {
62       SigmoidOperatorTester()
63         .batch_size(1)
64         .channels(channels)
65         .input_zero_point(uint8_t(input_zero_point))
66         .iterations(1)
67         .TestQS8();
68     }
69   }
70 }
71 
TEST(SIGMOID_NC_QS8,small_batch)72 TEST(SIGMOID_NC_QS8, small_batch) {
73   for (size_t channels = 1; channels < 100; channels += 15) {
74     SigmoidOperatorTester()
75       .batch_size(3)
76       .channels(channels)
77       .iterations(3)
78       .TestQS8();
79   }
80 }
81 
TEST(SIGMOID_NC_QS8,small_batch_with_input_stride)82 TEST(SIGMOID_NC_QS8, small_batch_with_input_stride) {
83   for (size_t channels = 1; channels < 100; channels += 15) {
84     SigmoidOperatorTester()
85       .batch_size(3)
86       .channels(channels)
87       .input_stride(129)
88       .iterations(3)
89       .TestQS8();
90   }
91 }
92 
TEST(SIGMOID_NC_QS8,small_batch_with_output_stride)93 TEST(SIGMOID_NC_QS8, small_batch_with_output_stride) {
94   for (size_t channels = 1; channels < 100; channels += 15) {
95     SigmoidOperatorTester()
96       .batch_size(3)
97       .channels(channels)
98       .output_stride(117)
99       .iterations(3)
100       .TestQS8();
101   }
102 }
103 
TEST(SIGMOID_NC_QS8,small_batch_with_qmin)104 TEST(SIGMOID_NC_QS8, small_batch_with_qmin) {
105   for (size_t channels = 1; channels < 100; channels += 15) {
106     SigmoidOperatorTester()
107       .batch_size(3)
108       .channels(channels)
109       .qmin(128)
110       .iterations(3)
111       .TestQS8();
112   }
113 }
114 
TEST(SIGMOID_NC_QS8,small_batch_with_qmax)115 TEST(SIGMOID_NC_QS8, small_batch_with_qmax) {
116   for (size_t channels = 1; channels < 100; channels += 15) {
117     SigmoidOperatorTester()
118       .batch_size(3)
119       .channels(channels)
120       .qmax(128)
121       .iterations(3)
122       .TestQS8();
123   }
124 }
125 
TEST(SIGMOID_NC_QS8,small_batch_with_input_scale)126 TEST(SIGMOID_NC_QS8, small_batch_with_input_scale) {
127   for (size_t channels = 1; channels < 100; channels += 15) {
128     for (float input_scale = 1.0e-2f; input_scale < 1.0e+2f; input_scale *= 10.0f) {
129       SigmoidOperatorTester()
130         .batch_size(3)
131         .channels(channels)
132         .input_scale(input_scale)
133         .iterations(1)
134         .TestQS8();
135     }
136   }
137 }
138 
TEST(SIGMOID_NC_QS8,small_batch_with_input_zero_point)139 TEST(SIGMOID_NC_QS8, small_batch_with_input_zero_point) {
140   for (size_t channels = 1; channels < 100; channels += 15) {
141     for (int32_t input_zero_point = 0; input_zero_point <= 255; input_zero_point += 51) {
142       SigmoidOperatorTester()
143         .batch_size(3)
144         .channels(channels)
145         .input_zero_point(uint8_t(input_zero_point))
146         .iterations(1)
147         .TestQS8();
148     }
149   }
150 }
151 
TEST(SIGMOID_NC_QS8,strided_batch)152 TEST(SIGMOID_NC_QS8, strided_batch) {
153   for (size_t channels = 1; channels < 100; channels += 15) {
154     SigmoidOperatorTester()
155       .batch_size(3)
156       .channels(channels)
157       .input_stride(129)
158       .output_stride(117)
159       .iterations(3)
160       .TestQS8();
161   }
162 }
163 
TEST(SIGMOID_NC_QS8,strided_batch_with_qmin)164 TEST(SIGMOID_NC_QS8, strided_batch_with_qmin) {
165   for (size_t channels = 1; channels < 100; channels += 15) {
166     SigmoidOperatorTester()
167       .batch_size(3)
168       .channels(channels)
169       .input_stride(129)
170       .output_stride(117)
171       .qmin(128)
172       .iterations(3)
173       .TestQS8();
174   }
175 }
176 
TEST(SIGMOID_NC_QS8,strided_batch_with_qmax)177 TEST(SIGMOID_NC_QS8, strided_batch_with_qmax) {
178   for (size_t channels = 1; channels < 100; channels += 15) {
179     SigmoidOperatorTester()
180       .batch_size(3)
181       .channels(channels)
182       .input_stride(129)
183       .output_stride(117)
184       .qmax(128)
185       .iterations(3)
186       .TestQS8();
187   }
188 }
189 
TEST(SIGMOID_NC_QS8,strided_batch_with_input_scale)190 TEST(SIGMOID_NC_QS8, strided_batch_with_input_scale) {
191   for (size_t channels = 1; channels < 100; channels += 15) {
192     for (float input_scale = 1.0e-2f; input_scale < 1.0e+2f; input_scale *= 10.0f) {
193       SigmoidOperatorTester()
194         .batch_size(3)
195         .channels(channels)
196         .input_stride(129)
197         .output_stride(117)
198         .input_scale(input_scale)
199         .iterations(1)
200         .TestQS8();
201     }
202   }
203 }
204 
TEST(SIGMOID_NC_QS8,strided_batch_with_input_zero_point)205 TEST(SIGMOID_NC_QS8, strided_batch_with_input_zero_point) {
206   for (size_t channels = 1; channels < 100; channels += 15) {
207     for (int32_t input_zero_point = 0; input_zero_point <= 255; input_zero_point += 51) {
208       SigmoidOperatorTester()
209         .batch_size(3)
210         .channels(channels)
211         .input_stride(129)
212         .output_stride(117)
213         .input_zero_point(uint8_t(input_zero_point))
214         .iterations(1)
215         .TestQS8();
216     }
217   }
218 }
219 
TEST(SIGMOID_NC_QU8,unit_batch)220 TEST(SIGMOID_NC_QU8, unit_batch) {
221   for (size_t channels = 1; channels < 100; channels += 15) {
222     SigmoidOperatorTester()
223       .batch_size(1)
224       .channels(channels)
225       .iterations(3)
226       .TestQU8();
227   }
228 }
229 
TEST(SIGMOID_NC_QU8,unit_batch_with_qmin)230 TEST(SIGMOID_NC_QU8, unit_batch_with_qmin) {
231   for (size_t channels = 1; channels < 100; channels += 15) {
232     SigmoidOperatorTester()
233       .batch_size(1)
234       .channels(channels)
235       .qmin(128)
236       .iterations(3)
237       .TestQU8();
238   }
239 }
240 
TEST(SIGMOID_NC_QU8,unit_batch_with_qmax)241 TEST(SIGMOID_NC_QU8, unit_batch_with_qmax) {
242   for (size_t channels = 1; channels < 100; channels += 15) {
243     SigmoidOperatorTester()
244       .batch_size(1)
245       .channels(channels)
246       .qmax(128)
247       .iterations(3)
248       .TestQU8();
249   }
250 }
251 
TEST(SIGMOID_NC_QU8,unit_batch_with_input_scale)252 TEST(SIGMOID_NC_QU8, unit_batch_with_input_scale) {
253   for (size_t channels = 1; channels < 100; channels += 15) {
254     for (float input_scale = 1.0e-2f; input_scale < 1.0e+2f; input_scale *= 10.0f) {
255       SigmoidOperatorTester()
256         .batch_size(1)
257         .channels(channels)
258         .input_scale(input_scale)
259         .iterations(1)
260         .TestQU8();
261     }
262   }
263 }
264 
TEST(SIGMOID_NC_QU8,unit_batch_with_input_zero_point)265 TEST(SIGMOID_NC_QU8, unit_batch_with_input_zero_point) {
266   for (size_t channels = 1; channels < 100; channels += 15) {
267     for (int32_t input_zero_point = 0; input_zero_point <= 255; input_zero_point += 51) {
268       SigmoidOperatorTester()
269         .batch_size(1)
270         .channels(channels)
271         .input_zero_point(uint8_t(input_zero_point))
272         .iterations(1)
273         .TestQU8();
274     }
275   }
276 }
277 
TEST(SIGMOID_NC_QU8,small_batch)278 TEST(SIGMOID_NC_QU8, small_batch) {
279   for (size_t channels = 1; channels < 100; channels += 15) {
280     SigmoidOperatorTester()
281       .batch_size(3)
282       .channels(channels)
283       .iterations(3)
284       .TestQU8();
285   }
286 }
287 
TEST(SIGMOID_NC_QU8,small_batch_with_input_stride)288 TEST(SIGMOID_NC_QU8, small_batch_with_input_stride) {
289   for (size_t channels = 1; channels < 100; channels += 15) {
290     SigmoidOperatorTester()
291       .batch_size(3)
292       .channels(channels)
293       .input_stride(129)
294       .iterations(3)
295       .TestQU8();
296   }
297 }
298 
TEST(SIGMOID_NC_QU8,small_batch_with_output_stride)299 TEST(SIGMOID_NC_QU8, small_batch_with_output_stride) {
300   for (size_t channels = 1; channels < 100; channels += 15) {
301     SigmoidOperatorTester()
302       .batch_size(3)
303       .channels(channels)
304       .output_stride(117)
305       .iterations(3)
306       .TestQU8();
307   }
308 }
309 
TEST(SIGMOID_NC_QU8,small_batch_with_qmin)310 TEST(SIGMOID_NC_QU8, small_batch_with_qmin) {
311   for (size_t channels = 1; channels < 100; channels += 15) {
312     SigmoidOperatorTester()
313       .batch_size(3)
314       .channels(channels)
315       .qmin(128)
316       .iterations(3)
317       .TestQU8();
318   }
319 }
320 
TEST(SIGMOID_NC_QU8,small_batch_with_qmax)321 TEST(SIGMOID_NC_QU8, small_batch_with_qmax) {
322   for (size_t channels = 1; channels < 100; channels += 15) {
323     SigmoidOperatorTester()
324       .batch_size(3)
325       .channels(channels)
326       .qmax(128)
327       .iterations(3)
328       .TestQU8();
329   }
330 }
331 
TEST(SIGMOID_NC_QU8,small_batch_with_input_scale)332 TEST(SIGMOID_NC_QU8, small_batch_with_input_scale) {
333   for (size_t channels = 1; channels < 100; channels += 15) {
334     for (float input_scale = 1.0e-2f; input_scale < 1.0e+2f; input_scale *= 10.0f) {
335       SigmoidOperatorTester()
336         .batch_size(3)
337         .channels(channels)
338         .input_scale(input_scale)
339         .iterations(1)
340         .TestQU8();
341     }
342   }
343 }
344 
TEST(SIGMOID_NC_QU8,small_batch_with_input_zero_point)345 TEST(SIGMOID_NC_QU8, small_batch_with_input_zero_point) {
346   for (size_t channels = 1; channels < 100; channels += 15) {
347     for (int32_t input_zero_point = 0; input_zero_point <= 255; input_zero_point += 51) {
348       SigmoidOperatorTester()
349         .batch_size(3)
350         .channels(channels)
351         .input_zero_point(uint8_t(input_zero_point))
352         .iterations(1)
353         .TestQU8();
354     }
355   }
356 }
357 
TEST(SIGMOID_NC_QU8,strided_batch)358 TEST(SIGMOID_NC_QU8, strided_batch) {
359   for (size_t channels = 1; channels < 100; channels += 15) {
360     SigmoidOperatorTester()
361       .batch_size(3)
362       .channels(channels)
363       .input_stride(129)
364       .output_stride(117)
365       .iterations(3)
366       .TestQU8();
367   }
368 }
369 
TEST(SIGMOID_NC_QU8,strided_batch_with_qmin)370 TEST(SIGMOID_NC_QU8, strided_batch_with_qmin) {
371   for (size_t channels = 1; channels < 100; channels += 15) {
372     SigmoidOperatorTester()
373       .batch_size(3)
374       .channels(channels)
375       .input_stride(129)
376       .output_stride(117)
377       .qmin(128)
378       .iterations(3)
379       .TestQU8();
380   }
381 }
382 
TEST(SIGMOID_NC_QU8,strided_batch_with_qmax)383 TEST(SIGMOID_NC_QU8, strided_batch_with_qmax) {
384   for (size_t channels = 1; channels < 100; channels += 15) {
385     SigmoidOperatorTester()
386       .batch_size(3)
387       .channels(channels)
388       .input_stride(129)
389       .output_stride(117)
390       .qmax(128)
391       .iterations(3)
392       .TestQU8();
393   }
394 }
395 
TEST(SIGMOID_NC_QU8,strided_batch_with_input_scale)396 TEST(SIGMOID_NC_QU8, strided_batch_with_input_scale) {
397   for (size_t channels = 1; channels < 100; channels += 15) {
398     for (float input_scale = 1.0e-2f; input_scale < 1.0e+2f; input_scale *= 10.0f) {
399       SigmoidOperatorTester()
400         .batch_size(3)
401         .channels(channels)
402         .input_stride(129)
403         .output_stride(117)
404         .input_scale(input_scale)
405         .iterations(1)
406         .TestQU8();
407     }
408   }
409 }
410 
TEST(SIGMOID_NC_QU8,strided_batch_with_input_zero_point)411 TEST(SIGMOID_NC_QU8, strided_batch_with_input_zero_point) {
412   for (size_t channels = 1; channels < 100; channels += 15) {
413     for (int32_t input_zero_point = 0; input_zero_point <= 255; input_zero_point += 51) {
414       SigmoidOperatorTester()
415         .batch_size(3)
416         .channels(channels)
417         .input_stride(129)
418         .output_stride(117)
419         .input_zero_point(uint8_t(input_zero_point))
420         .iterations(1)
421         .TestQU8();
422     }
423   }
424 }
425 
TEST(SIGMOID_NC_F32,unit_batch)426 TEST(SIGMOID_NC_F32, unit_batch) {
427   for (size_t channels = 1; channels < 100; channels += 15) {
428     SigmoidOperatorTester()
429       .batch_size(1)
430       .channels(channels)
431       .iterations(3)
432       .TestF32();
433   }
434 }
435 
TEST(SIGMOID_NC_F32,small_batch)436 TEST(SIGMOID_NC_F32, small_batch) {
437   for (size_t channels = 1; channels < 100; channels += 15) {
438     SigmoidOperatorTester()
439       .batch_size(3)
440       .channels(channels)
441       .iterations(3)
442       .TestF32();
443   }
444 }
445 
TEST(SIGMOID_NC_F32,small_batch_with_input_stride)446 TEST(SIGMOID_NC_F32, small_batch_with_input_stride) {
447   for (size_t channels = 1; channels < 100; channels += 15) {
448     SigmoidOperatorTester()
449       .batch_size(3)
450       .channels(channels)
451       .input_stride(129)
452       .iterations(3)
453       .TestF32();
454   }
455 }
456 
TEST(SIGMOID_NC_F32,small_batch_with_output_stride)457 TEST(SIGMOID_NC_F32, small_batch_with_output_stride) {
458   for (size_t channels = 1; channels < 100; channels += 15) {
459     SigmoidOperatorTester()
460       .batch_size(3)
461       .channels(channels)
462       .output_stride(117)
463       .iterations(3)
464       .TestF32();
465   }
466 }
467 
TEST(SIGMOID_NC_F32,strided_batch)468 TEST(SIGMOID_NC_F32, strided_batch) {
469   for (size_t channels = 1; channels < 100; channels += 15) {
470     SigmoidOperatorTester()
471       .batch_size(3)
472       .channels(channels)
473       .input_stride(129)
474       .output_stride(117)
475       .iterations(3)
476       .TestF32();
477   }
478 }
479