blob: 3f79efe147360625140e299479ac06ecedd5fb98 [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 Dukhan08b7a972020-07-14 18:17:29 -070014TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -070020 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -070021 }
22}
23
Marat Dukhan08b7a972020-07-14 18:17:29 -070024TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -070031 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -070032 }
33}
34
Marat Dukhan08b7a972020-07-14 18:17:29 -070035TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -070042 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -070043 }
44}
45
Marat Dukhan08b7a972020-07-14 18:17:29 -070046TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -070054 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -070055 }
56 }
57}
58
Marat Dukhan08b7a972020-07-14 18:17:29 -070059TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -070067 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -070068 }
69 }
70}
71
Marat Dukhan08b7a972020-07-14 18:17:29 -070072TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -070078 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -070079 }
80}
81
Marat Dukhan08b7a972020-07-14 18:17:29 -070082TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -070089 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -070090 }
91}
92
Marat Dukhan08b7a972020-07-14 18:17:29 -070093TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700100 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700101 }
102}
103
Marat Dukhan08b7a972020-07-14 18:17:29 -0700104TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700111 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700112 }
113}
114
Marat Dukhan08b7a972020-07-14 18:17:29 -0700115TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700122 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700123 }
124}
125
Marat Dukhan08b7a972020-07-14 18:17:29 -0700126TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700134 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700135 }
136 }
137}
138
Marat Dukhan08b7a972020-07-14 18:17:29 -0700139TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700147 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700148 }
149 }
150}
151
Marat Dukhan08b7a972020-07-14 18:17:29 -0700152TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700160 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700161 }
162}
163
Marat Dukhan08b7a972020-07-14 18:17:29 -0700164TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700173 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700174 }
175}
176
Marat Dukhan08b7a972020-07-14 18:17:29 -0700177TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700186 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700187 }
188}
189
Marat Dukhan08b7a972020-07-14 18:17:29 -0700190TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700200 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700201 }
202 }
203}
204
Marat Dukhan08b7a972020-07-14 18:17:29 -0700205TEST(SIGMOID_NC_QU8, 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)
Marat Dukhan08b7a972020-07-14 18:17:29 -0700215 .TestQU8();
XNNPACK Teamb455b122019-09-27 18:10:33 -0700216 }
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}