blob: 726f207137f43a7934f4f92200ad4b936240fd19 [file] [log] [blame]
XNNPACK Teamb455b122019-09-27 18:10:33 -07001// 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
XNNPACK Teamb455b122019-09-27 18:10:33 -070013
Marat Dukhanefc47b82019-11-18 09:25:38 -080014TEST(SIGMOID_NC_Q8, unit_batch) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070015 for (size_t channels = 1; channels < 100; channels += 15) {
16 SigmoidOperatorTester()
17 .batch_size(1)
18 .channels(channels)
19 .iterations(3)
20 .TestQ8();
21 }
22}
23
Marat Dukhanefc47b82019-11-18 09:25:38 -080024TEST(SIGMOID_NC_Q8, unit_batch_with_qmin) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070025 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 .TestQ8();
32 }
33}
34
Marat Dukhanefc47b82019-11-18 09:25:38 -080035TEST(SIGMOID_NC_Q8, unit_batch_with_qmax) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070036 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 .TestQ8();
43 }
44}
45
Marat Dukhanefc47b82019-11-18 09:25:38 -080046TEST(SIGMOID_NC_Q8, unit_batch_with_input_scale) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070047 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 .TestQ8();
55 }
56 }
57}
58
Marat Dukhanefc47b82019-11-18 09:25:38 -080059TEST(SIGMOID_NC_Q8, unit_batch_with_input_zero_point) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070060 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 .TestQ8();
68 }
69 }
70}
71
Marat Dukhanefc47b82019-11-18 09:25:38 -080072TEST(SIGMOID_NC_Q8, small_batch) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070073 for (size_t channels = 1; channels < 100; channels += 15) {
74 SigmoidOperatorTester()
75 .batch_size(3)
76 .channels(channels)
77 .iterations(3)
78 .TestQ8();
79 }
80}
81
Marat Dukhanefc47b82019-11-18 09:25:38 -080082TEST(SIGMOID_NC_Q8, small_batch_with_input_stride) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070083 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 .TestQ8();
90 }
91}
92
Marat Dukhanefc47b82019-11-18 09:25:38 -080093TEST(SIGMOID_NC_Q8, small_batch_with_output_stride) {
XNNPACK Teamb455b122019-09-27 18:10:33 -070094 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 .TestQ8();
101 }
102}
103
Marat Dukhanefc47b82019-11-18 09:25:38 -0800104TEST(SIGMOID_NC_Q8, small_batch_with_qmin) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700105 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 .TestQ8();
112 }
113}
114
Marat Dukhanefc47b82019-11-18 09:25:38 -0800115TEST(SIGMOID_NC_Q8, small_batch_with_qmax) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700116 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 .TestQ8();
123 }
124}
125
Marat Dukhanefc47b82019-11-18 09:25:38 -0800126TEST(SIGMOID_NC_Q8, small_batch_with_input_scale) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700127 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 .TestQ8();
135 }
136 }
137}
138
Marat Dukhanefc47b82019-11-18 09:25:38 -0800139TEST(SIGMOID_NC_Q8, small_batch_with_input_zero_point) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700140 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 .TestQ8();
148 }
149 }
150}
151
Marat Dukhanefc47b82019-11-18 09:25:38 -0800152TEST(SIGMOID_NC_Q8, strided_batch) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700153 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 .TestQ8();
161 }
162}
163
Marat Dukhanefc47b82019-11-18 09:25:38 -0800164TEST(SIGMOID_NC_Q8, strided_batch_with_qmin) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700165 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 .TestQ8();
174 }
175}
176
Marat Dukhanefc47b82019-11-18 09:25:38 -0800177TEST(SIGMOID_NC_Q8, strided_batch_with_qmax) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700178 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 .TestQ8();
187 }
188}
189
Marat Dukhanefc47b82019-11-18 09:25:38 -0800190TEST(SIGMOID_NC_Q8, strided_batch_with_input_scale) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700191 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 .TestQ8();
201 }
202 }
203}
204
Marat Dukhanefc47b82019-11-18 09:25:38 -0800205TEST(SIGMOID_NC_Q8, strided_batch_with_input_zero_point) {
XNNPACK Teamb455b122019-09-27 18:10:33 -0700206 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 .TestQ8();
216 }
217 }
218}
Marat Dukhan346a9e52019-11-15 09:06:30 -0800219
Marat Dukhanefc47b82019-11-18 09:25:38 -0800220TEST(SIGMOID_NC_F32, unit_batch) {
Marat Dukhan346a9e52019-11-15 09:06:30 -0800221 for (size_t channels = 1; channels < 100; channels += 15) {
222 SigmoidOperatorTester()
223 .batch_size(1)
224 .channels(channels)
225 .iterations(3)
226 .TestF32();
227 }
228}
229
Marat Dukhanefc47b82019-11-18 09:25:38 -0800230TEST(SIGMOID_NC_F32, small_batch) {
Marat Dukhan346a9e52019-11-15 09:06:30 -0800231 for (size_t channels = 1; channels < 100; channels += 15) {
232 SigmoidOperatorTester()
233 .batch_size(3)
234 .channels(channels)
235 .iterations(3)
236 .TestF32();
237 }
238}
239
Marat Dukhanefc47b82019-11-18 09:25:38 -0800240TEST(SIGMOID_NC_F32, small_batch_with_input_stride) {
Marat Dukhan346a9e52019-11-15 09:06:30 -0800241 for (size_t channels = 1; channels < 100; channels += 15) {
242 SigmoidOperatorTester()
243 .batch_size(3)
244 .channels(channels)
245 .input_stride(129)
246 .iterations(3)
247 .TestF32();
248 }
249}
250
Marat Dukhanefc47b82019-11-18 09:25:38 -0800251TEST(SIGMOID_NC_F32, small_batch_with_output_stride) {
Marat Dukhan346a9e52019-11-15 09:06:30 -0800252 for (size_t channels = 1; channels < 100; channels += 15) {
253 SigmoidOperatorTester()
254 .batch_size(3)
255 .channels(channels)
256 .output_stride(117)
257 .iterations(3)
258 .TestF32();
259 }
260}
261
Marat Dukhanefc47b82019-11-18 09:25:38 -0800262TEST(SIGMOID_NC_F32, strided_batch) {
Marat Dukhan346a9e52019-11-15 09:06:30 -0800263 for (size_t channels = 1; channels < 100; channels += 15) {
264 SigmoidOperatorTester()
265 .batch_size(3)
266 .channels(channels)
267 .input_stride(129)
268 .output_stride(117)
269 .iterations(3)
270 .TestF32();
271 }
272}