blob: 2f34e8e8d919e628883643f19ef810265adc60e7 [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)
19 .TestF32();
20 }
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)
32 .TestF32();
33 }
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)
45 .TestF32();
46 }
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)
58 .TestF32();
59 }
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)
71 .TestF32();
72 }
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)
84 .TestF32();
85 }
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)
97 .TestF32();
98 }
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()
107 .input_size(output_size, output_size)
108 .output_size(output_size, output_size)
109 .channels(channels)
110 .iterations(3)
111 .TestF32();
112 }
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()
122 .input_size(output_size, output_size)
123 .output_size(output_size, output_size)
124 .channels(channels)
125 .input_pixel_stride(23)
126 .iterations(3)
127 .TestF32();
128 }
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()
138 .input_size(output_size, output_size)
139 .output_size(output_size, output_size)
140 .channels(channels)
141 .output_pixel_stride(29)
142 .iterations(3)
143 .TestF32();
144 }
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()
154 .batch_size(batch_size)
155 .input_size(output_size, output_size)
156 .output_size(output_size, output_size)
157 .iterations(3)
158 .TestF32();
159 }
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)
173 .TestF32();
174 }
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)
187 .TestF32();
188 }
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)
201 .TestF32();
202 }
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)
214 .TestF32();
215 }
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)
227 .TestF32();
228 }
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)
240 .TestF32();
241 }
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)
254 .TestF32();
255 }
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()
264 .align_corners(true)
265 .input_size(output_size, output_size)
266 .output_size(output_size, output_size)
267 .channels(channels)
268 .iterations(3)
269 .TestF32();
270 }
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()
280 .align_corners(true)
281 .input_size(output_size, output_size)
282 .output_size(output_size, output_size)
283 .channels(channels)
284 .input_pixel_stride(23)
285 .iterations(3)
286 .TestF32();
287 }
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()
297 .align_corners(true)
298 .input_size(output_size, output_size)
299 .output_size(output_size, output_size)
300 .channels(channels)
301 .output_pixel_stride(29)
302 .iterations(3)
303 .TestF32();
304 }
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()
314 .align_corners(true)
315 .batch_size(batch_size)
316 .input_size(output_size, output_size)
317 .output_size(output_size, output_size)
318 .iterations(3)
319 .TestF32();
320 }
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)
334 .TestF32();
335 }
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)
348 .TestF32();
349 }
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)
362 .TestF32();
363 }
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)
376 .TestF32();
377 }
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)
390 .TestF32();
391 }
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)
404 .TestF32();
405 }
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)
418 .TestF32();
419 }
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)
433 .TestF32();
434 }
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)
450 .TestF32();
451 }
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)
467 .TestF32();
468 }
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)
483 .TestF32();
484 }
485 }
486 }
487}
488
Marat Dukhanefc47b82019-11-18 09:25:38 -0800489TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_upscale_y) {
Marat Dukhan69722492019-11-11 19:55:50 -0800490 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 .tf_legacy_mode(true)
494 .align_corners(true)
495 .input_size(input_height, 1)
496 .output_size(output_height, 1)
497 .channels(17)
498 .iterations(3)
499 .TestF32();
500 }
501 }
502}
503
Marat Dukhanefc47b82019-11-18 09:25:38 -0800504TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_upscale_x) {
Marat Dukhan69722492019-11-11 19:55:50 -0800505 for (size_t input_width = 1; input_width <= 3; input_width++) {
506 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
507 ResizeBilinearOperatorTester()
508 .tf_legacy_mode(true)
509 .align_corners(true)
510 .input_size(1, input_width)
511 .output_size(1, output_width)
512 .channels(17)
513 .iterations(3)
514 .TestF32();
515 }
516 }
517}
518
Marat Dukhanefc47b82019-11-18 09:25:38 -0800519TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_upscale) {
Marat Dukhan69722492019-11-11 19:55:50 -0800520 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
521 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
522 ResizeBilinearOperatorTester()
523 .tf_legacy_mode(true)
524 .align_corners(true)
525 .input_size(2, 2)
526 .output_size(output_height, output_width)
527 .channels(17)
528 .iterations(3)
529 .TestF32();
530 }
531 }
532}
533
Marat Dukhanefc47b82019-11-18 09:25:38 -0800534TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_downscale_y) {
Marat Dukhan69722492019-11-11 19:55:50 -0800535 for (size_t output_height = 2; output_height <= 3; output_height++) {
536 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
537 ResizeBilinearOperatorTester()
538 .tf_legacy_mode(true)
539 .input_size(input_height, 1)
540 .output_size(output_height, 1)
541 .channels(17)
542 .iterations(3)
543 .TestF32();
544 }
545 }
546}
547
Marat Dukhanefc47b82019-11-18 09:25:38 -0800548TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_downscale_x) {
Marat Dukhan69722492019-11-11 19:55:50 -0800549 for (size_t output_width = 2; output_width <= 3; output_width++) {
550 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
551 ResizeBilinearOperatorTester()
552 .tf_legacy_mode(true)
553 .input_size(1, input_width)
554 .output_size(1, output_width)
555 .channels(17)
556 .iterations(3)
557 .TestF32();
558 }
559 }
560}
561
Marat Dukhanefc47b82019-11-18 09:25:38 -0800562TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_downscale) {
Marat Dukhan69722492019-11-11 19:55:50 -0800563 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
564 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
565 ResizeBilinearOperatorTester()
566 .tf_legacy_mode(true)
567 .input_size(input_height, input_width)
568 .output_size(2, 2)
569 .channels(17)
570 .iterations(3)
571 .TestF32();
572 }
573 }
574}
575
Marat Dukhanefc47b82019-11-18 09:25:38 -0800576TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_identical_size) {
Marat Dukhan69722492019-11-11 19:55:50 -0800577 for (size_t height = 1; height < 10; height *= 3) {
578 for (size_t width = 1; width < 10; width *= 3) {
579 ResizeBilinearOperatorTester()
580 .tf_legacy_mode(true)
581 .align_corners(true)
582 .input_size(height, width)
583 .output_size(height, width)
584 .channels(17)
585 .iterations(3)
586 .TestF32();
587 }
588 }
589}
590
Marat Dukhanefc47b82019-11-18 09:25:38 -0800591TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_varying_channels) {
Marat Dukhan69722492019-11-11 19:55:50 -0800592 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
593 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
594 for (size_t channels = 15; channels <= 19; channels++) {
595 ResizeBilinearOperatorTester()
596 .tf_legacy_mode(true)
597 .align_corners(true)
598 .input_size(output_size, output_size)
599 .output_size(output_size, output_size)
600 .channels(channels)
601 .iterations(3)
602 .TestF32();
603 }
604 }
605 }
606}
607
Marat Dukhanefc47b82019-11-18 09:25:38 -0800608TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_with_input_stride) {
Marat Dukhan69722492019-11-11 19:55:50 -0800609 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
610 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
611 for (size_t channels = 15; channels <= 19; channels++) {
612 ResizeBilinearOperatorTester()
613 .tf_legacy_mode(true)
614 .align_corners(true)
615 .input_size(output_size, output_size)
616 .output_size(output_size, output_size)
617 .channels(channels)
618 .input_pixel_stride(23)
619 .iterations(3)
620 .TestF32();
621 }
622 }
623 }
624}
625
Marat Dukhanefc47b82019-11-18 09:25:38 -0800626TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_with_output_stride) {
Marat Dukhan69722492019-11-11 19:55:50 -0800627 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
628 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
629 for (size_t channels = 15; channels <= 19; channels++) {
630 ResizeBilinearOperatorTester()
631 .tf_legacy_mode(true)
632 .align_corners(true)
633 .input_size(output_size, output_size)
634 .output_size(output_size, output_size)
635 .channels(channels)
636 .output_pixel_stride(29)
637 .iterations(3)
638 .TestF32();
639 }
640 }
641 }
642}
643
Marat Dukhanefc47b82019-11-18 09:25:38 -0800644TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_corners_varying_batch_size) {
Marat Dukhan69722492019-11-11 19:55:50 -0800645 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
646 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
647 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
648 ResizeBilinearOperatorTester()
649 .tf_legacy_mode(true)
650 .align_corners(true)
651 .batch_size(batch_size)
652 .input_size(output_size, output_size)
653 .output_size(output_size, output_size)
654 .iterations(3)
655 .TestF32();
656 }
657 }
658 }
659}