blob: 03da62cc82a3c2d975ce4425b4917b4f860fdef9 [file] [log] [blame]
Marat Dukhan69722492019-11-11 19:55:50 -08001// Copyright 2019 Google LLC
2//
3// This source code is licensed under the BSD-style license found in the
4// LICENSE file in the root directory of this source tree.
5
6#include <gtest/gtest.h>
7
8#include "resize-bilinear-operator-tester.h"
9
10
Marat Dukhanefc47b82019-11-18 09:25:38 -080011TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale_y) {
Marat Dukhan69722492019-11-11 19:55:50 -080012 for (size_t input_height = 1; input_height <= 3; input_height++) {
13 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
14 ResizeBilinearOperatorTester()
15 .input_size(input_height, 1)
16 .output_size(output_height, 1)
17 .channels(17)
18 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -070019 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -080020 }
21 }
22}
23
Marat Dukhanefc47b82019-11-18 09:25:38 -080024TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale_x) {
Marat Dukhan69722492019-11-11 19:55:50 -080025 for (size_t input_width = 1; input_width <= 3; input_width++) {
26 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
27 ResizeBilinearOperatorTester()
28 .input_size(1, input_width)
29 .output_size(1, output_width)
30 .channels(17)
31 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -070032 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -080033 }
34 }
35}
36
Marat Dukhanefc47b82019-11-18 09:25:38 -080037TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale) {
Marat Dukhan69722492019-11-11 19:55:50 -080038 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
39 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
40 ResizeBilinearOperatorTester()
41 .input_size(2, 2)
42 .output_size(output_height, output_width)
43 .channels(17)
44 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -070045 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -080046 }
47 }
48}
49
Marat Dukhanefc47b82019-11-18 09:25:38 -080050TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale_y) {
Marat Dukhan69722492019-11-11 19:55:50 -080051 for (size_t output_height = 1; output_height <= 3; output_height++) {
52 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
53 ResizeBilinearOperatorTester()
54 .input_size(input_height, 1)
55 .output_size(output_height, 1)
56 .channels(17)
57 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -070058 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -080059 }
60 }
61}
62
Marat Dukhanefc47b82019-11-18 09:25:38 -080063TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale_x) {
Marat Dukhan69722492019-11-11 19:55:50 -080064 for (size_t output_width = 1; output_width <= 3; output_width++) {
65 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
66 ResizeBilinearOperatorTester()
67 .input_size(1, input_width)
68 .output_size(1, output_width)
69 .channels(17)
70 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -070071 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -080072 }
73 }
74}
75
Marat Dukhanefc47b82019-11-18 09:25:38 -080076TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale) {
Marat Dukhan69722492019-11-11 19:55:50 -080077 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
78 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
79 ResizeBilinearOperatorTester()
80 .input_size(input_height, input_width)
81 .output_size(2, 2)
82 .channels(17)
83 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -070084 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -080085 }
86 }
87}
88
Marat Dukhanefc47b82019-11-18 09:25:38 -080089TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_identical_size) {
Marat Dukhan69722492019-11-11 19:55:50 -080090 for (size_t height = 1; height < 10; height *= 3) {
91 for (size_t width = 1; width < 10; width *= 3) {
92 ResizeBilinearOperatorTester()
93 .input_size(height, width)
94 .output_size(height, width)
95 .channels(17)
96 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -070097 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -080098 }
99 }
100}
101
Marat Dukhanefc47b82019-11-18 09:25:38 -0800102TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_varying_channels) {
Marat Dukhan69722492019-11-11 19:55:50 -0800103 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
104 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
105 for (size_t channels = 15; channels <= 19; channels++) {
106 ResizeBilinearOperatorTester()
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700107 .input_size(output_size, output_size)
Marat Dukhan69722492019-11-11 19:55:50 -0800108 .output_size(output_size, output_size)
109 .channels(channels)
110 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700111 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800112 }
113 }
114 }
115}
116
Marat Dukhanefc47b82019-11-18 09:25:38 -0800117TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_with_input_stride) {
Marat Dukhan69722492019-11-11 19:55:50 -0800118 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
119 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
120 for (size_t channels = 15; channels <= 19; channels++) {
121 ResizeBilinearOperatorTester()
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700122 .input_size(output_size, output_size)
Marat Dukhan69722492019-11-11 19:55:50 -0800123 .output_size(output_size, output_size)
124 .channels(channels)
125 .input_pixel_stride(23)
126 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700127 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800128 }
129 }
130 }
131}
132
Marat Dukhanefc47b82019-11-18 09:25:38 -0800133TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_with_output_stride) {
Marat Dukhan69722492019-11-11 19:55:50 -0800134 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
135 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
136 for (size_t channels = 15; channels <= 19; channels++) {
137 ResizeBilinearOperatorTester()
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700138 .input_size(output_size, output_size)
Marat Dukhan69722492019-11-11 19:55:50 -0800139 .output_size(output_size, output_size)
140 .channels(channels)
141 .output_pixel_stride(29)
142 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700143 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800144 }
145 }
146 }
147}
148
Marat Dukhanefc47b82019-11-18 09:25:38 -0800149TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_varying_batch_size) {
Marat Dukhan69722492019-11-11 19:55:50 -0800150 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
151 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
152 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
153 ResizeBilinearOperatorTester()
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700154 .batch_size(batch_size)
Marat Dukhan69722492019-11-11 19:55:50 -0800155 .input_size(output_size, output_size)
156 .output_size(output_size, output_size)
157 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700158 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800159 }
160 }
161 }
162}
163
Marat Dukhanefc47b82019-11-18 09:25:38 -0800164TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale_y) {
Marat Dukhan69722492019-11-11 19:55:50 -0800165 for (size_t input_height = 1; input_height <= 3; input_height++) {
166 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
167 ResizeBilinearOperatorTester()
168 .align_corners(true)
169 .input_size(input_height, 1)
170 .output_size(output_height, 1)
171 .channels(17)
172 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700173 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800174 }
175 }
176}
177
Marat Dukhanefc47b82019-11-18 09:25:38 -0800178TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale_x) {
Marat Dukhan69722492019-11-11 19:55:50 -0800179 for (size_t input_width = 1; input_width <= 3; input_width++) {
180 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
181 ResizeBilinearOperatorTester()
182 .align_corners(true)
183 .input_size(1, input_width)
184 .output_size(1, output_width)
185 .channels(17)
186 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700187 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800188 }
189 }
190}
191
Marat Dukhanefc47b82019-11-18 09:25:38 -0800192TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale) {
Marat Dukhan69722492019-11-11 19:55:50 -0800193 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
194 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
195 ResizeBilinearOperatorTester()
196 .align_corners(true)
197 .input_size(2, 2)
198 .output_size(output_height, output_width)
199 .channels(17)
200 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700201 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800202 }
203 }
204}
205
Marat Dukhanefc47b82019-11-18 09:25:38 -0800206TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale_y) {
Marat Dukhan69722492019-11-11 19:55:50 -0800207 for (size_t output_height = 2; output_height <= 3; output_height++) {
208 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
209 ResizeBilinearOperatorTester()
210 .input_size(input_height, 1)
211 .output_size(output_height, 1)
212 .channels(17)
213 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700214 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800215 }
216 }
217}
218
Marat Dukhanefc47b82019-11-18 09:25:38 -0800219TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale_x) {
Marat Dukhan69722492019-11-11 19:55:50 -0800220 for (size_t output_width = 2; output_width <= 3; output_width++) {
221 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
222 ResizeBilinearOperatorTester()
223 .input_size(1, input_width)
224 .output_size(1, output_width)
225 .channels(17)
226 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700227 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800228 }
229 }
230}
231
Marat Dukhanefc47b82019-11-18 09:25:38 -0800232TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale) {
Marat Dukhan69722492019-11-11 19:55:50 -0800233 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
234 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
235 ResizeBilinearOperatorTester()
236 .input_size(input_height, input_width)
237 .output_size(2, 2)
238 .channels(17)
239 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700240 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800241 }
242 }
243}
244
Marat Dukhanefc47b82019-11-18 09:25:38 -0800245TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_identical_size) {
Marat Dukhan69722492019-11-11 19:55:50 -0800246 for (size_t height = 1; height < 10; height *= 3) {
247 for (size_t width = 1; width < 10; width *= 3) {
248 ResizeBilinearOperatorTester()
249 .align_corners(true)
250 .input_size(height, width)
251 .output_size(height, width)
252 .channels(17)
253 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700254 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800255 }
256 }
257}
258
Marat Dukhanefc47b82019-11-18 09:25:38 -0800259TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_varying_channels) {
Marat Dukhan69722492019-11-11 19:55:50 -0800260 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
261 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
262 for (size_t channels = 15; channels <= 19; channels++) {
263 ResizeBilinearOperatorTester()
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700264 .align_corners(true)
Marat Dukhan69722492019-11-11 19:55:50 -0800265 .input_size(output_size, output_size)
266 .output_size(output_size, output_size)
267 .channels(channels)
268 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700269 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800270 }
271 }
272 }
273}
274
Marat Dukhanefc47b82019-11-18 09:25:38 -0800275TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_with_input_stride) {
Marat Dukhan69722492019-11-11 19:55:50 -0800276 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
277 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
278 for (size_t channels = 15; channels <= 19; channels++) {
279 ResizeBilinearOperatorTester()
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700280 .align_corners(true)
Marat Dukhan69722492019-11-11 19:55:50 -0800281 .input_size(output_size, output_size)
282 .output_size(output_size, output_size)
283 .channels(channels)
284 .input_pixel_stride(23)
285 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700286 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800287 }
288 }
289 }
290}
291
Marat Dukhanefc47b82019-11-18 09:25:38 -0800292TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_with_output_stride) {
Marat Dukhan69722492019-11-11 19:55:50 -0800293 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
294 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
295 for (size_t channels = 15; channels <= 19; channels++) {
296 ResizeBilinearOperatorTester()
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700297 .align_corners(true)
Marat Dukhan69722492019-11-11 19:55:50 -0800298 .input_size(output_size, output_size)
299 .output_size(output_size, output_size)
300 .channels(channels)
301 .output_pixel_stride(29)
302 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700303 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800304 }
305 }
306 }
307}
308
Marat Dukhanefc47b82019-11-18 09:25:38 -0800309TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_varying_batch_size) {
Marat Dukhan69722492019-11-11 19:55:50 -0800310 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
311 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
312 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
313 ResizeBilinearOperatorTester()
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700314 .align_corners(true)
Marat Dukhan69722492019-11-11 19:55:50 -0800315 .batch_size(batch_size)
316 .input_size(output_size, output_size)
317 .output_size(output_size, output_size)
318 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700319 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800320 }
321 }
322 }
323}
324
Marat Dukhanefc47b82019-11-18 09:25:38 -0800325TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale_y) {
Marat Dukhan69722492019-11-11 19:55:50 -0800326 for (size_t input_height = 1; input_height <= 3; input_height++) {
327 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
328 ResizeBilinearOperatorTester()
329 .tf_legacy_mode(true)
330 .input_size(input_height, 1)
331 .output_size(output_height, 1)
332 .channels(17)
333 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700334 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800335 }
336 }
337}
338
Marat Dukhanefc47b82019-11-18 09:25:38 -0800339TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale_x) {
Marat Dukhan69722492019-11-11 19:55:50 -0800340 for (size_t input_width = 1; input_width <= 3; input_width++) {
341 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
342 ResizeBilinearOperatorTester()
343 .tf_legacy_mode(true)
344 .input_size(1, input_width)
345 .output_size(1, output_width)
346 .channels(17)
347 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700348 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800349 }
350 }
351}
352
Marat Dukhanefc47b82019-11-18 09:25:38 -0800353TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale) {
Marat Dukhan69722492019-11-11 19:55:50 -0800354 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
355 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
356 ResizeBilinearOperatorTester()
357 .tf_legacy_mode(true)
358 .input_size(2, 2)
359 .output_size(output_height, output_width)
360 .channels(17)
361 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700362 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800363 }
364 }
365}
366
Marat Dukhanefc47b82019-11-18 09:25:38 -0800367TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale_y) {
Marat Dukhan69722492019-11-11 19:55:50 -0800368 for (size_t output_height = 1; output_height <= 3; output_height++) {
369 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
370 ResizeBilinearOperatorTester()
371 .tf_legacy_mode(true)
372 .input_size(input_height, 1)
373 .output_size(output_height, 1)
374 .channels(17)
375 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700376 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800377 }
378 }
379}
380
Marat Dukhanefc47b82019-11-18 09:25:38 -0800381TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale_x) {
Marat Dukhan69722492019-11-11 19:55:50 -0800382 for (size_t output_width = 1; output_width <= 3; output_width++) {
383 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
384 ResizeBilinearOperatorTester()
385 .tf_legacy_mode(true)
386 .input_size(1, input_width)
387 .output_size(1, output_width)
388 .channels(17)
389 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700390 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800391 }
392 }
393}
394
Marat Dukhanefc47b82019-11-18 09:25:38 -0800395TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale) {
Marat Dukhan69722492019-11-11 19:55:50 -0800396 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
397 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
398 ResizeBilinearOperatorTester()
399 .tf_legacy_mode(true)
400 .input_size(input_height, input_width)
401 .output_size(2, 2)
402 .channels(17)
403 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700404 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800405 }
406 }
407}
408
Marat Dukhanefc47b82019-11-18 09:25:38 -0800409TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_identical_size) {
Marat Dukhan69722492019-11-11 19:55:50 -0800410 for (size_t height = 1; height < 10; height *= 3) {
411 for (size_t width = 1; width < 10; width *= 3) {
412 ResizeBilinearOperatorTester()
413 .tf_legacy_mode(true)
414 .input_size(height, width)
415 .output_size(height, width)
416 .channels(17)
417 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700418 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800419 }
420 }
421}
422
Marat Dukhanefc47b82019-11-18 09:25:38 -0800423TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_varying_channels) {
Marat Dukhan69722492019-11-11 19:55:50 -0800424 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
425 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
426 for (size_t channels = 15; channels <= 19; channels++) {
427 ResizeBilinearOperatorTester()
428 .tf_legacy_mode(true)
429 .input_size(output_size, output_size)
430 .output_size(output_size, output_size)
431 .channels(channels)
432 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700433 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800434 }
435 }
436 }
437}
438
Marat Dukhanefc47b82019-11-18 09:25:38 -0800439TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_with_input_stride) {
Marat Dukhan69722492019-11-11 19:55:50 -0800440 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
441 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
442 for (size_t channels = 15; channels <= 19; channels++) {
443 ResizeBilinearOperatorTester()
444 .tf_legacy_mode(true)
445 .input_size(output_size, output_size)
446 .output_size(output_size, output_size)
447 .channels(channels)
448 .input_pixel_stride(23)
449 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700450 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800451 }
452 }
453 }
454}
455
Marat Dukhanefc47b82019-11-18 09:25:38 -0800456TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_with_output_stride) {
Marat Dukhan69722492019-11-11 19:55:50 -0800457 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
458 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
459 for (size_t channels = 15; channels <= 19; channels++) {
460 ResizeBilinearOperatorTester()
461 .tf_legacy_mode(true)
462 .input_size(output_size, output_size)
463 .output_size(output_size, output_size)
464 .channels(channels)
465 .output_pixel_stride(29)
466 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700467 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800468 }
469 }
470 }
471}
472
Marat Dukhanefc47b82019-11-18 09:25:38 -0800473TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_varying_batch_size) {
Marat Dukhan69722492019-11-11 19:55:50 -0800474 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
475 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
476 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
477 ResizeBilinearOperatorTester()
478 .tf_legacy_mode(true)
479 .batch_size(batch_size)
480 .input_size(output_size, output_size)
481 .output_size(output_size, output_size)
482 .iterations(3)
XNNPACK Teama5cb6772020-10-20 18:04:33 -0700483 .TestNHWCxF32();
Marat Dukhan69722492019-11-11 19:55:50 -0800484 }
485 }
486 }
487}
Marat Dukhan0ab75532021-11-24 16:50:30 -0800488
489TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale_y) {
490 for (size_t input_height = 1; input_height <= 3; input_height++) {
491 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
492 ResizeBilinearOperatorTester()
493 .input_size(input_height, 1)
494 .output_size(output_height, 1)
495 .channels(17)
496 .iterations(3)
497 .TestNHWCxS8();
498 }
499 }
500}
501
502TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale_x) {
503 for (size_t input_width = 1; input_width <= 3; input_width++) {
504 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
505 ResizeBilinearOperatorTester()
506 .input_size(1, input_width)
507 .output_size(1, output_width)
508 .channels(17)
509 .iterations(3)
510 .TestNHWCxS8();
511 }
512 }
513}
514
515TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale) {
516 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
517 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
518 ResizeBilinearOperatorTester()
519 .input_size(2, 2)
520 .output_size(output_height, output_width)
521 .channels(17)
522 .iterations(3)
523 .TestNHWCxS8();
524 }
525 }
526}
527
528TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale_y) {
529 for (size_t output_height = 1; output_height <= 3; output_height++) {
530 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
531 ResizeBilinearOperatorTester()
532 .input_size(input_height, 1)
533 .output_size(output_height, 1)
534 .channels(17)
535 .iterations(3)
536 .TestNHWCxS8();
537 }
538 }
539}
540
541TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale_x) {
542 for (size_t output_width = 1; output_width <= 3; output_width++) {
543 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
544 ResizeBilinearOperatorTester()
545 .input_size(1, input_width)
546 .output_size(1, output_width)
547 .channels(17)
548 .iterations(3)
549 .TestNHWCxS8();
550 }
551 }
552}
553
554TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale) {
555 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
556 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
557 ResizeBilinearOperatorTester()
558 .input_size(input_height, input_width)
559 .output_size(2, 2)
560 .channels(17)
561 .iterations(3)
562 .TestNHWCxS8();
563 }
564 }
565}
566
567TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_identical_size) {
568 for (size_t height = 1; height < 10; height *= 3) {
569 for (size_t width = 1; width < 10; width *= 3) {
570 ResizeBilinearOperatorTester()
571 .input_size(height, width)
572 .output_size(height, width)
573 .channels(17)
574 .iterations(3)
575 .TestNHWCxS8();
576 }
577 }
578}
579
580TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_varying_channels) {
581 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
582 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
583 for (size_t channels = 15; channels <= 19; channels++) {
584 ResizeBilinearOperatorTester()
585 .input_size(output_size, output_size)
586 .output_size(output_size, output_size)
587 .channels(channels)
588 .iterations(3)
589 .TestNHWCxS8();
590 }
591 }
592 }
593}
594
595TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_with_input_stride) {
596 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
597 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
598 for (size_t channels = 15; channels <= 19; channels++) {
599 ResizeBilinearOperatorTester()
600 .input_size(output_size, output_size)
601 .output_size(output_size, output_size)
602 .channels(channels)
603 .input_pixel_stride(23)
604 .iterations(3)
605 .TestNHWCxS8();
606 }
607 }
608 }
609}
610
611TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_with_output_stride) {
612 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
613 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
614 for (size_t channels = 15; channels <= 19; channels++) {
615 ResizeBilinearOperatorTester()
616 .input_size(output_size, output_size)
617 .output_size(output_size, output_size)
618 .channels(channels)
619 .output_pixel_stride(29)
620 .iterations(3)
621 .TestNHWCxS8();
622 }
623 }
624 }
625}
626
627TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_varying_batch_size) {
628 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
629 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
630 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
631 ResizeBilinearOperatorTester()
632 .batch_size(batch_size)
633 .input_size(output_size, output_size)
634 .output_size(output_size, output_size)
635 .iterations(3)
636 .TestNHWCxS8();
637 }
638 }
639 }
640}
641
642TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale_y) {
643 for (size_t input_height = 1; input_height <= 3; input_height++) {
644 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
645 ResizeBilinearOperatorTester()
646 .align_corners(true)
647 .input_size(input_height, 1)
648 .output_size(output_height, 1)
649 .channels(17)
650 .iterations(3)
651 .TestNHWCxS8();
652 }
653 }
654}
655
656TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale_x) {
657 for (size_t input_width = 1; input_width <= 3; input_width++) {
658 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
659 ResizeBilinearOperatorTester()
660 .align_corners(true)
661 .input_size(1, input_width)
662 .output_size(1, output_width)
663 .channels(17)
664 .iterations(3)
665 .TestNHWCxS8();
666 }
667 }
668}
669
670TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale) {
671 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
672 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
673 ResizeBilinearOperatorTester()
674 .align_corners(true)
675 .input_size(2, 2)
676 .output_size(output_height, output_width)
677 .channels(17)
678 .iterations(3)
679 .TestNHWCxS8();
680 }
681 }
682}
683
684TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale_y) {
685 for (size_t output_height = 2; output_height <= 3; output_height++) {
686 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
687 ResizeBilinearOperatorTester()
688 .input_size(input_height, 1)
689 .output_size(output_height, 1)
690 .channels(17)
691 .iterations(3)
692 .TestNHWCxS8();
693 }
694 }
695}
696
697TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale_x) {
698 for (size_t output_width = 2; output_width <= 3; output_width++) {
699 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
700 ResizeBilinearOperatorTester()
701 .input_size(1, input_width)
702 .output_size(1, output_width)
703 .channels(17)
704 .iterations(3)
705 .TestNHWCxS8();
706 }
707 }
708}
709
710TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale) {
711 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
712 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
713 ResizeBilinearOperatorTester()
714 .input_size(input_height, input_width)
715 .output_size(2, 2)
716 .channels(17)
717 .iterations(3)
718 .TestNHWCxS8();
719 }
720 }
721}
722
723TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_identical_size) {
724 for (size_t height = 1; height < 10; height *= 3) {
725 for (size_t width = 1; width < 10; width *= 3) {
726 ResizeBilinearOperatorTester()
727 .align_corners(true)
728 .input_size(height, width)
729 .output_size(height, width)
730 .channels(17)
731 .iterations(3)
732 .TestNHWCxS8();
733 }
734 }
735}
736
737TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_varying_channels) {
738 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
739 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
740 for (size_t channels = 15; channels <= 19; channels++) {
741 ResizeBilinearOperatorTester()
742 .align_corners(true)
743 .input_size(output_size, output_size)
744 .output_size(output_size, output_size)
745 .channels(channels)
746 .iterations(3)
747 .TestNHWCxS8();
748 }
749 }
750 }
751}
752
753TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_with_input_stride) {
754 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
755 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
756 for (size_t channels = 15; channels <= 19; channels++) {
757 ResizeBilinearOperatorTester()
758 .align_corners(true)
759 .input_size(output_size, output_size)
760 .output_size(output_size, output_size)
761 .channels(channels)
762 .input_pixel_stride(23)
763 .iterations(3)
764 .TestNHWCxS8();
765 }
766 }
767 }
768}
769
770TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_with_output_stride) {
771 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
772 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
773 for (size_t channels = 15; channels <= 19; channels++) {
774 ResizeBilinearOperatorTester()
775 .align_corners(true)
776 .input_size(output_size, output_size)
777 .output_size(output_size, output_size)
778 .channels(channels)
779 .output_pixel_stride(29)
780 .iterations(3)
781 .TestNHWCxS8();
782 }
783 }
784 }
785}
786
787TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_varying_batch_size) {
788 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
789 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
790 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
791 ResizeBilinearOperatorTester()
792 .align_corners(true)
793 .batch_size(batch_size)
794 .input_size(output_size, output_size)
795 .output_size(output_size, output_size)
796 .iterations(3)
797 .TestNHWCxS8();
798 }
799 }
800 }
801}
802
803TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale_y) {
804 for (size_t input_height = 1; input_height <= 3; input_height++) {
805 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
806 ResizeBilinearOperatorTester()
807 .tf_legacy_mode(true)
808 .input_size(input_height, 1)
809 .output_size(output_height, 1)
810 .channels(17)
811 .iterations(3)
812 .TestNHWCxS8();
813 }
814 }
815}
816
817TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale_x) {
818 for (size_t input_width = 1; input_width <= 3; input_width++) {
819 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
820 ResizeBilinearOperatorTester()
821 .tf_legacy_mode(true)
822 .input_size(1, input_width)
823 .output_size(1, output_width)
824 .channels(17)
825 .iterations(3)
826 .TestNHWCxS8();
827 }
828 }
829}
830
831TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale) {
832 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
833 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
834 ResizeBilinearOperatorTester()
835 .tf_legacy_mode(true)
836 .input_size(2, 2)
837 .output_size(output_height, output_width)
838 .channels(17)
839 .iterations(3)
840 .TestNHWCxS8();
841 }
842 }
843}
844
845TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale_y) {
846 for (size_t output_height = 1; output_height <= 3; output_height++) {
847 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
848 ResizeBilinearOperatorTester()
849 .tf_legacy_mode(true)
850 .input_size(input_height, 1)
851 .output_size(output_height, 1)
852 .channels(17)
853 .iterations(3)
854 .TestNHWCxS8();
855 }
856 }
857}
858
859TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale_x) {
860 for (size_t output_width = 1; output_width <= 3; output_width++) {
861 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
862 ResizeBilinearOperatorTester()
863 .tf_legacy_mode(true)
864 .input_size(1, input_width)
865 .output_size(1, output_width)
866 .channels(17)
867 .iterations(3)
868 .TestNHWCxS8();
869 }
870 }
871}
872
873TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale) {
874 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
875 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
876 ResizeBilinearOperatorTester()
877 .tf_legacy_mode(true)
878 .input_size(input_height, input_width)
879 .output_size(2, 2)
880 .channels(17)
881 .iterations(3)
882 .TestNHWCxS8();
883 }
884 }
885}
886
887TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_identical_size) {
888 for (size_t height = 1; height < 10; height *= 3) {
889 for (size_t width = 1; width < 10; width *= 3) {
890 ResizeBilinearOperatorTester()
891 .tf_legacy_mode(true)
892 .input_size(height, width)
893 .output_size(height, width)
894 .channels(17)
895 .iterations(3)
896 .TestNHWCxS8();
897 }
898 }
899}
900
901TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_varying_channels) {
902 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
903 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
904 for (size_t channels = 15; channels <= 19; channels++) {
905 ResizeBilinearOperatorTester()
906 .tf_legacy_mode(true)
907 .input_size(output_size, output_size)
908 .output_size(output_size, output_size)
909 .channels(channels)
910 .iterations(3)
911 .TestNHWCxS8();
912 }
913 }
914 }
915}
916
917TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_with_input_stride) {
918 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
919 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
920 for (size_t channels = 15; channels <= 19; channels++) {
921 ResizeBilinearOperatorTester()
922 .tf_legacy_mode(true)
923 .input_size(output_size, output_size)
924 .output_size(output_size, output_size)
925 .channels(channels)
926 .input_pixel_stride(23)
927 .iterations(3)
928 .TestNHWCxS8();
929 }
930 }
931 }
932}
933
934TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_with_output_stride) {
935 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
936 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
937 for (size_t channels = 15; channels <= 19; channels++) {
938 ResizeBilinearOperatorTester()
939 .tf_legacy_mode(true)
940 .input_size(output_size, output_size)
941 .output_size(output_size, output_size)
942 .channels(channels)
943 .output_pixel_stride(29)
944 .iterations(3)
945 .TestNHWCxS8();
946 }
947 }
948 }
949}
950
951TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_varying_batch_size) {
952 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
953 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
954 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
955 ResizeBilinearOperatorTester()
956 .tf_legacy_mode(true)
957 .batch_size(batch_size)
958 .input_size(output_size, output_size)
959 .output_size(output_size, output_size)
960 .iterations(3)
961 .TestNHWCxS8();
962 }
963 }
964 }
965}
966
967TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale_y) {
968 for (size_t input_height = 1; input_height <= 3; input_height++) {
969 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
970 ResizeBilinearOperatorTester()
971 .input_size(input_height, 1)
972 .output_size(output_height, 1)
973 .channels(17)
974 .iterations(3)
975 .TestNHWCxU8();
976 }
977 }
978}
979
980TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale_x) {
981 for (size_t input_width = 1; input_width <= 3; input_width++) {
982 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
983 ResizeBilinearOperatorTester()
984 .input_size(1, input_width)
985 .output_size(1, output_width)
986 .channels(17)
987 .iterations(3)
988 .TestNHWCxU8();
989 }
990 }
991}
992
993TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale) {
994 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
995 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
996 ResizeBilinearOperatorTester()
997 .input_size(2, 2)
998 .output_size(output_height, output_width)
999 .channels(17)
1000 .iterations(3)
1001 .TestNHWCxU8();
1002 }
1003 }
1004}
1005
1006TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale_y) {
1007 for (size_t output_height = 1; output_height <= 3; output_height++) {
1008 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1009 ResizeBilinearOperatorTester()
1010 .input_size(input_height, 1)
1011 .output_size(output_height, 1)
1012 .channels(17)
1013 .iterations(3)
1014 .TestNHWCxU8();
1015 }
1016 }
1017}
1018
1019TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale_x) {
1020 for (size_t output_width = 1; output_width <= 3; output_width++) {
1021 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1022 ResizeBilinearOperatorTester()
1023 .input_size(1, input_width)
1024 .output_size(1, output_width)
1025 .channels(17)
1026 .iterations(3)
1027 .TestNHWCxU8();
1028 }
1029 }
1030}
1031
1032TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale) {
1033 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1034 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1035 ResizeBilinearOperatorTester()
1036 .input_size(input_height, input_width)
1037 .output_size(2, 2)
1038 .channels(17)
1039 .iterations(3)
1040 .TestNHWCxU8();
1041 }
1042 }
1043}
1044
1045TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_identical_size) {
1046 for (size_t height = 1; height < 10; height *= 3) {
1047 for (size_t width = 1; width < 10; width *= 3) {
1048 ResizeBilinearOperatorTester()
1049 .input_size(height, width)
1050 .output_size(height, width)
1051 .channels(17)
1052 .iterations(3)
1053 .TestNHWCxU8();
1054 }
1055 }
1056}
1057
1058TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_varying_channels) {
1059 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1060 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1061 for (size_t channels = 15; channels <= 19; channels++) {
1062 ResizeBilinearOperatorTester()
1063 .input_size(output_size, output_size)
1064 .output_size(output_size, output_size)
1065 .channels(channels)
1066 .iterations(3)
1067 .TestNHWCxU8();
1068 }
1069 }
1070 }
1071}
1072
1073TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_with_input_stride) {
1074 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1075 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1076 for (size_t channels = 15; channels <= 19; channels++) {
1077 ResizeBilinearOperatorTester()
1078 .input_size(output_size, output_size)
1079 .output_size(output_size, output_size)
1080 .channels(channels)
1081 .input_pixel_stride(23)
1082 .iterations(3)
1083 .TestNHWCxU8();
1084 }
1085 }
1086 }
1087}
1088
1089TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_with_output_stride) {
1090 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1091 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1092 for (size_t channels = 15; channels <= 19; channels++) {
1093 ResizeBilinearOperatorTester()
1094 .input_size(output_size, output_size)
1095 .output_size(output_size, output_size)
1096 .channels(channels)
1097 .output_pixel_stride(29)
1098 .iterations(3)
1099 .TestNHWCxU8();
1100 }
1101 }
1102 }
1103}
1104
1105TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_varying_batch_size) {
1106 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1107 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1108 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1109 ResizeBilinearOperatorTester()
1110 .batch_size(batch_size)
1111 .input_size(output_size, output_size)
1112 .output_size(output_size, output_size)
1113 .iterations(3)
1114 .TestNHWCxU8();
1115 }
1116 }
1117 }
1118}
1119
1120TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale_y) {
1121 for (size_t input_height = 1; input_height <= 3; input_height++) {
1122 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1123 ResizeBilinearOperatorTester()
1124 .align_corners(true)
1125 .input_size(input_height, 1)
1126 .output_size(output_height, 1)
1127 .channels(17)
1128 .iterations(3)
1129 .TestNHWCxU8();
1130 }
1131 }
1132}
1133
1134TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale_x) {
1135 for (size_t input_width = 1; input_width <= 3; input_width++) {
1136 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1137 ResizeBilinearOperatorTester()
1138 .align_corners(true)
1139 .input_size(1, input_width)
1140 .output_size(1, output_width)
1141 .channels(17)
1142 .iterations(3)
1143 .TestNHWCxU8();
1144 }
1145 }
1146}
1147
1148TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale) {
1149 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1150 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1151 ResizeBilinearOperatorTester()
1152 .align_corners(true)
1153 .input_size(2, 2)
1154 .output_size(output_height, output_width)
1155 .channels(17)
1156 .iterations(3)
1157 .TestNHWCxU8();
1158 }
1159 }
1160}
1161
1162TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale_y) {
1163 for (size_t output_height = 2; output_height <= 3; output_height++) {
1164 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1165 ResizeBilinearOperatorTester()
1166 .input_size(input_height, 1)
1167 .output_size(output_height, 1)
1168 .channels(17)
1169 .iterations(3)
1170 .TestNHWCxU8();
1171 }
1172 }
1173}
1174
1175TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale_x) {
1176 for (size_t output_width = 2; output_width <= 3; output_width++) {
1177 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1178 ResizeBilinearOperatorTester()
1179 .input_size(1, input_width)
1180 .output_size(1, output_width)
1181 .channels(17)
1182 .iterations(3)
1183 .TestNHWCxU8();
1184 }
1185 }
1186}
1187
1188TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale) {
1189 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1190 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1191 ResizeBilinearOperatorTester()
1192 .input_size(input_height, input_width)
1193 .output_size(2, 2)
1194 .channels(17)
1195 .iterations(3)
1196 .TestNHWCxU8();
1197 }
1198 }
1199}
1200
1201TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_identical_size) {
1202 for (size_t height = 1; height < 10; height *= 3) {
1203 for (size_t width = 1; width < 10; width *= 3) {
1204 ResizeBilinearOperatorTester()
1205 .align_corners(true)
1206 .input_size(height, width)
1207 .output_size(height, width)
1208 .channels(17)
1209 .iterations(3)
1210 .TestNHWCxU8();
1211 }
1212 }
1213}
1214
1215TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_varying_channels) {
1216 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1217 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1218 for (size_t channels = 15; channels <= 19; channels++) {
1219 ResizeBilinearOperatorTester()
1220 .align_corners(true)
1221 .input_size(output_size, output_size)
1222 .output_size(output_size, output_size)
1223 .channels(channels)
1224 .iterations(3)
1225 .TestNHWCxU8();
1226 }
1227 }
1228 }
1229}
1230
1231TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_with_input_stride) {
1232 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1233 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1234 for (size_t channels = 15; channels <= 19; channels++) {
1235 ResizeBilinearOperatorTester()
1236 .align_corners(true)
1237 .input_size(output_size, output_size)
1238 .output_size(output_size, output_size)
1239 .channels(channels)
1240 .input_pixel_stride(23)
1241 .iterations(3)
1242 .TestNHWCxU8();
1243 }
1244 }
1245 }
1246}
1247
1248TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_with_output_stride) {
1249 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1250 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1251 for (size_t channels = 15; channels <= 19; channels++) {
1252 ResizeBilinearOperatorTester()
1253 .align_corners(true)
1254 .input_size(output_size, output_size)
1255 .output_size(output_size, output_size)
1256 .channels(channels)
1257 .output_pixel_stride(29)
1258 .iterations(3)
1259 .TestNHWCxU8();
1260 }
1261 }
1262 }
1263}
1264
1265TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_varying_batch_size) {
1266 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1267 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1268 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1269 ResizeBilinearOperatorTester()
1270 .align_corners(true)
1271 .batch_size(batch_size)
1272 .input_size(output_size, output_size)
1273 .output_size(output_size, output_size)
1274 .iterations(3)
1275 .TestNHWCxU8();
1276 }
1277 }
1278 }
1279}
1280
1281TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale_y) {
1282 for (size_t input_height = 1; input_height <= 3; input_height++) {
1283 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1284 ResizeBilinearOperatorTester()
1285 .tf_legacy_mode(true)
1286 .input_size(input_height, 1)
1287 .output_size(output_height, 1)
1288 .channels(17)
1289 .iterations(3)
1290 .TestNHWCxU8();
1291 }
1292 }
1293}
1294
1295TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale_x) {
1296 for (size_t input_width = 1; input_width <= 3; input_width++) {
1297 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1298 ResizeBilinearOperatorTester()
1299 .tf_legacy_mode(true)
1300 .input_size(1, input_width)
1301 .output_size(1, output_width)
1302 .channels(17)
1303 .iterations(3)
1304 .TestNHWCxU8();
1305 }
1306 }
1307}
1308
1309TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale) {
1310 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1311 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1312 ResizeBilinearOperatorTester()
1313 .tf_legacy_mode(true)
1314 .input_size(2, 2)
1315 .output_size(output_height, output_width)
1316 .channels(17)
1317 .iterations(3)
1318 .TestNHWCxU8();
1319 }
1320 }
1321}
1322
1323TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale_y) {
1324 for (size_t output_height = 1; output_height <= 3; output_height++) {
1325 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1326 ResizeBilinearOperatorTester()
1327 .tf_legacy_mode(true)
1328 .input_size(input_height, 1)
1329 .output_size(output_height, 1)
1330 .channels(17)
1331 .iterations(3)
1332 .TestNHWCxU8();
1333 }
1334 }
1335}
1336
1337TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale_x) {
1338 for (size_t output_width = 1; output_width <= 3; output_width++) {
1339 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1340 ResizeBilinearOperatorTester()
1341 .tf_legacy_mode(true)
1342 .input_size(1, input_width)
1343 .output_size(1, output_width)
1344 .channels(17)
1345 .iterations(3)
1346 .TestNHWCxU8();
1347 }
1348 }
1349}
1350
1351TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale) {
1352 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1353 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1354 ResizeBilinearOperatorTester()
1355 .tf_legacy_mode(true)
1356 .input_size(input_height, input_width)
1357 .output_size(2, 2)
1358 .channels(17)
1359 .iterations(3)
1360 .TestNHWCxU8();
1361 }
1362 }
1363}
1364
1365TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_identical_size) {
1366 for (size_t height = 1; height < 10; height *= 3) {
1367 for (size_t width = 1; width < 10; width *= 3) {
1368 ResizeBilinearOperatorTester()
1369 .tf_legacy_mode(true)
1370 .input_size(height, width)
1371 .output_size(height, width)
1372 .channels(17)
1373 .iterations(3)
1374 .TestNHWCxU8();
1375 }
1376 }
1377}
1378
1379TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_varying_channels) {
1380 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1381 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1382 for (size_t channels = 15; channels <= 19; channels++) {
1383 ResizeBilinearOperatorTester()
1384 .tf_legacy_mode(true)
1385 .input_size(output_size, output_size)
1386 .output_size(output_size, output_size)
1387 .channels(channels)
1388 .iterations(3)
1389 .TestNHWCxU8();
1390 }
1391 }
1392 }
1393}
1394
1395TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_with_input_stride) {
1396 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1397 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1398 for (size_t channels = 15; channels <= 19; channels++) {
1399 ResizeBilinearOperatorTester()
1400 .tf_legacy_mode(true)
1401 .input_size(output_size, output_size)
1402 .output_size(output_size, output_size)
1403 .channels(channels)
1404 .input_pixel_stride(23)
1405 .iterations(3)
1406 .TestNHWCxU8();
1407 }
1408 }
1409 }
1410}
1411
1412TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_with_output_stride) {
1413 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1414 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1415 for (size_t channels = 15; channels <= 19; channels++) {
1416 ResizeBilinearOperatorTester()
1417 .tf_legacy_mode(true)
1418 .input_size(output_size, output_size)
1419 .output_size(output_size, output_size)
1420 .channels(channels)
1421 .output_pixel_stride(29)
1422 .iterations(3)
1423 .TestNHWCxU8();
1424 }
1425 }
1426 }
1427}
1428
1429TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_varying_batch_size) {
1430 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1431 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1432 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1433 ResizeBilinearOperatorTester()
1434 .tf_legacy_mode(true)
1435 .batch_size(batch_size)
1436 .input_size(output_size, output_size)
1437 .output_size(output_size, output_size)
1438 .iterations(3)
1439 .TestNHWCxU8();
1440 }
1441 }
1442 }
1443}