1 // 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
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_upscale_y)11 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_upscale_y) {
12 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 .TestNHWCxF16();
20 }
21 }
22 }
23
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_upscale_x)24 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_upscale_x) {
25 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 .TestNHWCxF16();
33 }
34 }
35 }
36
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_upscale)37 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_upscale) {
38 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 .TestNHWCxF16();
46 }
47 }
48 }
49
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_downscale_y)50 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_downscale_y) {
51 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 .TestNHWCxF16();
59 }
60 }
61 }
62
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_downscale_x)63 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_downscale_x) {
64 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 .TestNHWCxF16();
72 }
73 }
74 }
75
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_downscale)76 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_downscale) {
77 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 .TestNHWCxF16();
85 }
86 }
87 }
88
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_identical_size)89 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_identical_size) {
90 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 .TestNHWCxF16();
98 }
99 }
100 }
101
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_varying_channels)102 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_varying_channels) {
103 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 .TestNHWCxF16();
112 }
113 }
114 }
115 }
116
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_with_input_stride)117 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_with_input_stride) {
118 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 .TestNHWCxF16();
128 }
129 }
130 }
131 }
132
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_with_output_stride)133 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_with_output_stride) {
134 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 .TestNHWCxF16();
144 }
145 }
146 }
147 }
148
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_centers_varying_batch_size)149 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_centers_varying_batch_size) {
150 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 .TestNHWCxF16();
159 }
160 }
161 }
162 }
163
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_upscale_y)164 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_upscale_y) {
165 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 .TestNHWCxF16();
174 }
175 }
176 }
177
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_upscale_x)178 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_upscale_x) {
179 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 .TestNHWCxF16();
188 }
189 }
190 }
191
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_upscale)192 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_upscale) {
193 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 .TestNHWCxF16();
202 }
203 }
204 }
205
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_downscale_y)206 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_downscale_y) {
207 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 .TestNHWCxF16();
215 }
216 }
217 }
218
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_downscale_x)219 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_downscale_x) {
220 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 .TestNHWCxF16();
228 }
229 }
230 }
231
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_downscale)232 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_downscale) {
233 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 .TestNHWCxF16();
241 }
242 }
243 }
244
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_identical_size)245 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_identical_size) {
246 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 .TestNHWCxF16();
255 }
256 }
257 }
258
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_varying_channels)259 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_varying_channels) {
260 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 .TestNHWCxF16();
270 }
271 }
272 }
273 }
274
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_with_input_stride)275 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_with_input_stride) {
276 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 .TestNHWCxF16();
287 }
288 }
289 }
290 }
291
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_with_output_stride)292 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_with_output_stride) {
293 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 .TestNHWCxF16();
304 }
305 }
306 }
307 }
308
TEST(RESIZE_BILINEAR_NHWC_F16,aligned_corners_varying_batch_size)309 TEST(RESIZE_BILINEAR_NHWC_F16, aligned_corners_varying_batch_size) {
310 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 .TestNHWCxF16();
320 }
321 }
322 }
323 }
324
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_upscale_y)325 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_upscale_y) {
326 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 .TestNHWCxF16();
335 }
336 }
337 }
338
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_upscale_x)339 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_upscale_x) {
340 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 .TestNHWCxF16();
349 }
350 }
351 }
352
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_upscale)353 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_upscale) {
354 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 .TestNHWCxF16();
363 }
364 }
365 }
366
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_downscale_y)367 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_downscale_y) {
368 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 .TestNHWCxF16();
377 }
378 }
379 }
380
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_downscale_x)381 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_downscale_x) {
382 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 .TestNHWCxF16();
391 }
392 }
393 }
394
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_downscale)395 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_downscale) {
396 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 .TestNHWCxF16();
405 }
406 }
407 }
408
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_identical_size)409 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_identical_size) {
410 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 .TestNHWCxF16();
419 }
420 }
421 }
422
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_varying_channels)423 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_varying_channels) {
424 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 .TestNHWCxF16();
434 }
435 }
436 }
437 }
438
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_with_input_stride)439 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_with_input_stride) {
440 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 .TestNHWCxF16();
451 }
452 }
453 }
454 }
455
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_with_output_stride)456 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_with_output_stride) {
457 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 .TestNHWCxF16();
468 }
469 }
470 }
471 }
472
TEST(RESIZE_BILINEAR_NHWC_F16,tf_mode_aligned_centers_varying_batch_size)473 TEST(RESIZE_BILINEAR_NHWC_F16, tf_mode_aligned_centers_varying_batch_size) {
474 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 .TestNHWCxF16();
484 }
485 }
486 }
487 }
488
489
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_upscale_y)490 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale_y) {
491 for (size_t input_height = 1; input_height <= 3; input_height++) {
492 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
493 ResizeBilinearOperatorTester()
494 .input_size(input_height, 1)
495 .output_size(output_height, 1)
496 .channels(17)
497 .iterations(3)
498 .TestNHWCxF32();
499 }
500 }
501 }
502
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_upscale_x)503 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale_x) {
504 for (size_t input_width = 1; input_width <= 3; input_width++) {
505 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
506 ResizeBilinearOperatorTester()
507 .input_size(1, input_width)
508 .output_size(1, output_width)
509 .channels(17)
510 .iterations(3)
511 .TestNHWCxF32();
512 }
513 }
514 }
515
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_upscale)516 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_upscale) {
517 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
518 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
519 ResizeBilinearOperatorTester()
520 .input_size(2, 2)
521 .output_size(output_height, output_width)
522 .channels(17)
523 .iterations(3)
524 .TestNHWCxF32();
525 }
526 }
527 }
528
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale_y)529 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale_y) {
530 for (size_t output_height = 1; output_height <= 3; output_height++) {
531 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
532 ResizeBilinearOperatorTester()
533 .input_size(input_height, 1)
534 .output_size(output_height, 1)
535 .channels(17)
536 .iterations(3)
537 .TestNHWCxF32();
538 }
539 }
540 }
541
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale_x)542 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale_x) {
543 for (size_t output_width = 1; output_width <= 3; output_width++) {
544 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
545 ResizeBilinearOperatorTester()
546 .input_size(1, input_width)
547 .output_size(1, output_width)
548 .channels(17)
549 .iterations(3)
550 .TestNHWCxF32();
551 }
552 }
553 }
554
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale)555 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_downscale) {
556 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
557 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
558 ResizeBilinearOperatorTester()
559 .input_size(input_height, input_width)
560 .output_size(2, 2)
561 .channels(17)
562 .iterations(3)
563 .TestNHWCxF32();
564 }
565 }
566 }
567
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_identical_size)568 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_identical_size) {
569 for (size_t height = 1; height < 10; height *= 3) {
570 for (size_t width = 1; width < 10; width *= 3) {
571 ResizeBilinearOperatorTester()
572 .input_size(height, width)
573 .output_size(height, width)
574 .channels(17)
575 .iterations(3)
576 .TestNHWCxF32();
577 }
578 }
579 }
580
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_varying_channels)581 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_varying_channels) {
582 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
583 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
584 for (size_t channels = 15; channels <= 19; channels++) {
585 ResizeBilinearOperatorTester()
586 .input_size(output_size, output_size)
587 .output_size(output_size, output_size)
588 .channels(channels)
589 .iterations(3)
590 .TestNHWCxF32();
591 }
592 }
593 }
594 }
595
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_with_input_stride)596 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_with_input_stride) {
597 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
598 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
599 for (size_t channels = 15; channels <= 19; channels++) {
600 ResizeBilinearOperatorTester()
601 .input_size(output_size, output_size)
602 .output_size(output_size, output_size)
603 .channels(channels)
604 .input_pixel_stride(23)
605 .iterations(3)
606 .TestNHWCxF32();
607 }
608 }
609 }
610 }
611
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_with_output_stride)612 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_with_output_stride) {
613 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
614 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
615 for (size_t channels = 15; channels <= 19; channels++) {
616 ResizeBilinearOperatorTester()
617 .input_size(output_size, output_size)
618 .output_size(output_size, output_size)
619 .channels(channels)
620 .output_pixel_stride(29)
621 .iterations(3)
622 .TestNHWCxF32();
623 }
624 }
625 }
626 }
627
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_varying_batch_size)628 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_centers_varying_batch_size) {
629 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
630 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
631 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
632 ResizeBilinearOperatorTester()
633 .batch_size(batch_size)
634 .input_size(output_size, output_size)
635 .output_size(output_size, output_size)
636 .iterations(3)
637 .TestNHWCxF32();
638 }
639 }
640 }
641 }
642
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale_y)643 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale_y) {
644 for (size_t input_height = 1; input_height <= 3; input_height++) {
645 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
646 ResizeBilinearOperatorTester()
647 .align_corners(true)
648 .input_size(input_height, 1)
649 .output_size(output_height, 1)
650 .channels(17)
651 .iterations(3)
652 .TestNHWCxF32();
653 }
654 }
655 }
656
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale_x)657 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale_x) {
658 for (size_t input_width = 1; input_width <= 3; input_width++) {
659 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
660 ResizeBilinearOperatorTester()
661 .align_corners(true)
662 .input_size(1, input_width)
663 .output_size(1, output_width)
664 .channels(17)
665 .iterations(3)
666 .TestNHWCxF32();
667 }
668 }
669 }
670
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale)671 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_upscale) {
672 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
673 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
674 ResizeBilinearOperatorTester()
675 .align_corners(true)
676 .input_size(2, 2)
677 .output_size(output_height, output_width)
678 .channels(17)
679 .iterations(3)
680 .TestNHWCxF32();
681 }
682 }
683 }
684
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale_y)685 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale_y) {
686 for (size_t output_height = 2; output_height <= 3; output_height++) {
687 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
688 ResizeBilinearOperatorTester()
689 .input_size(input_height, 1)
690 .output_size(output_height, 1)
691 .channels(17)
692 .iterations(3)
693 .TestNHWCxF32();
694 }
695 }
696 }
697
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale_x)698 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale_x) {
699 for (size_t output_width = 2; output_width <= 3; output_width++) {
700 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
701 ResizeBilinearOperatorTester()
702 .input_size(1, input_width)
703 .output_size(1, output_width)
704 .channels(17)
705 .iterations(3)
706 .TestNHWCxF32();
707 }
708 }
709 }
710
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale)711 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_downscale) {
712 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
713 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
714 ResizeBilinearOperatorTester()
715 .input_size(input_height, input_width)
716 .output_size(2, 2)
717 .channels(17)
718 .iterations(3)
719 .TestNHWCxF32();
720 }
721 }
722 }
723
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_identical_size)724 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_identical_size) {
725 for (size_t height = 1; height < 10; height *= 3) {
726 for (size_t width = 1; width < 10; width *= 3) {
727 ResizeBilinearOperatorTester()
728 .align_corners(true)
729 .input_size(height, width)
730 .output_size(height, width)
731 .channels(17)
732 .iterations(3)
733 .TestNHWCxF32();
734 }
735 }
736 }
737
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_varying_channels)738 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_varying_channels) {
739 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
740 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
741 for (size_t channels = 15; channels <= 19; channels++) {
742 ResizeBilinearOperatorTester()
743 .align_corners(true)
744 .input_size(output_size, output_size)
745 .output_size(output_size, output_size)
746 .channels(channels)
747 .iterations(3)
748 .TestNHWCxF32();
749 }
750 }
751 }
752 }
753
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_with_input_stride)754 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_with_input_stride) {
755 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
756 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
757 for (size_t channels = 15; channels <= 19; channels++) {
758 ResizeBilinearOperatorTester()
759 .align_corners(true)
760 .input_size(output_size, output_size)
761 .output_size(output_size, output_size)
762 .channels(channels)
763 .input_pixel_stride(23)
764 .iterations(3)
765 .TestNHWCxF32();
766 }
767 }
768 }
769 }
770
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_with_output_stride)771 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_with_output_stride) {
772 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
773 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
774 for (size_t channels = 15; channels <= 19; channels++) {
775 ResizeBilinearOperatorTester()
776 .align_corners(true)
777 .input_size(output_size, output_size)
778 .output_size(output_size, output_size)
779 .channels(channels)
780 .output_pixel_stride(29)
781 .iterations(3)
782 .TestNHWCxF32();
783 }
784 }
785 }
786 }
787
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_varying_batch_size)788 TEST(RESIZE_BILINEAR_NHWC_F32, aligned_corners_varying_batch_size) {
789 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
790 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
791 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
792 ResizeBilinearOperatorTester()
793 .align_corners(true)
794 .batch_size(batch_size)
795 .input_size(output_size, output_size)
796 .output_size(output_size, output_size)
797 .iterations(3)
798 .TestNHWCxF32();
799 }
800 }
801 }
802 }
803
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale_y)804 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale_y) {
805 for (size_t input_height = 1; input_height <= 3; input_height++) {
806 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
807 ResizeBilinearOperatorTester()
808 .tf_legacy_mode(true)
809 .input_size(input_height, 1)
810 .output_size(output_height, 1)
811 .channels(17)
812 .iterations(3)
813 .TestNHWCxF32();
814 }
815 }
816 }
817
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale_x)818 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale_x) {
819 for (size_t input_width = 1; input_width <= 3; input_width++) {
820 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
821 ResizeBilinearOperatorTester()
822 .tf_legacy_mode(true)
823 .input_size(1, input_width)
824 .output_size(1, output_width)
825 .channels(17)
826 .iterations(3)
827 .TestNHWCxF32();
828 }
829 }
830 }
831
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale)832 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_upscale) {
833 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
834 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
835 ResizeBilinearOperatorTester()
836 .tf_legacy_mode(true)
837 .input_size(2, 2)
838 .output_size(output_height, output_width)
839 .channels(17)
840 .iterations(3)
841 .TestNHWCxF32();
842 }
843 }
844 }
845
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale_y)846 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale_y) {
847 for (size_t output_height = 1; output_height <= 3; output_height++) {
848 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
849 ResizeBilinearOperatorTester()
850 .tf_legacy_mode(true)
851 .input_size(input_height, 1)
852 .output_size(output_height, 1)
853 .channels(17)
854 .iterations(3)
855 .TestNHWCxF32();
856 }
857 }
858 }
859
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale_x)860 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale_x) {
861 for (size_t output_width = 1; output_width <= 3; output_width++) {
862 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
863 ResizeBilinearOperatorTester()
864 .tf_legacy_mode(true)
865 .input_size(1, input_width)
866 .output_size(1, output_width)
867 .channels(17)
868 .iterations(3)
869 .TestNHWCxF32();
870 }
871 }
872 }
873
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale)874 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_downscale) {
875 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
876 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
877 ResizeBilinearOperatorTester()
878 .tf_legacy_mode(true)
879 .input_size(input_height, input_width)
880 .output_size(2, 2)
881 .channels(17)
882 .iterations(3)
883 .TestNHWCxF32();
884 }
885 }
886 }
887
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_identical_size)888 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_identical_size) {
889 for (size_t height = 1; height < 10; height *= 3) {
890 for (size_t width = 1; width < 10; width *= 3) {
891 ResizeBilinearOperatorTester()
892 .tf_legacy_mode(true)
893 .input_size(height, width)
894 .output_size(height, width)
895 .channels(17)
896 .iterations(3)
897 .TestNHWCxF32();
898 }
899 }
900 }
901
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_varying_channels)902 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_varying_channels) {
903 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
904 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
905 for (size_t channels = 15; channels <= 19; channels++) {
906 ResizeBilinearOperatorTester()
907 .tf_legacy_mode(true)
908 .input_size(output_size, output_size)
909 .output_size(output_size, output_size)
910 .channels(channels)
911 .iterations(3)
912 .TestNHWCxF32();
913 }
914 }
915 }
916 }
917
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_with_input_stride)918 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_with_input_stride) {
919 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
920 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
921 for (size_t channels = 15; channels <= 19; channels++) {
922 ResizeBilinearOperatorTester()
923 .tf_legacy_mode(true)
924 .input_size(output_size, output_size)
925 .output_size(output_size, output_size)
926 .channels(channels)
927 .input_pixel_stride(23)
928 .iterations(3)
929 .TestNHWCxF32();
930 }
931 }
932 }
933 }
934
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_with_output_stride)935 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_with_output_stride) {
936 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
937 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
938 for (size_t channels = 15; channels <= 19; channels++) {
939 ResizeBilinearOperatorTester()
940 .tf_legacy_mode(true)
941 .input_size(output_size, output_size)
942 .output_size(output_size, output_size)
943 .channels(channels)
944 .output_pixel_stride(29)
945 .iterations(3)
946 .TestNHWCxF32();
947 }
948 }
949 }
950 }
951
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_varying_batch_size)952 TEST(RESIZE_BILINEAR_NHWC_F32, tf_mode_aligned_centers_varying_batch_size) {
953 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
954 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
955 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
956 ResizeBilinearOperatorTester()
957 .tf_legacy_mode(true)
958 .batch_size(batch_size)
959 .input_size(output_size, output_size)
960 .output_size(output_size, output_size)
961 .iterations(3)
962 .TestNHWCxF32();
963 }
964 }
965 }
966 }
967
968
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale_y)969 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale_y) {
970 for (size_t input_height = 1; input_height <= 3; input_height++) {
971 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
972 ResizeBilinearOperatorTester()
973 .input_size(input_height, 1)
974 .output_size(output_height, 1)
975 .channels(17)
976 .iterations(3)
977 .TestNHWCxS8();
978 }
979 }
980 }
981
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale_x)982 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale_x) {
983 for (size_t input_width = 1; input_width <= 3; input_width++) {
984 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
985 ResizeBilinearOperatorTester()
986 .input_size(1, input_width)
987 .output_size(1, output_width)
988 .channels(17)
989 .iterations(3)
990 .TestNHWCxS8();
991 }
992 }
993 }
994
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale)995 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale) {
996 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
997 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
998 ResizeBilinearOperatorTester()
999 .input_size(2, 2)
1000 .output_size(output_height, output_width)
1001 .channels(17)
1002 .iterations(3)
1003 .TestNHWCxS8();
1004 }
1005 }
1006 }
1007
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale_y)1008 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale_y) {
1009 for (size_t output_height = 1; output_height <= 3; output_height++) {
1010 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1011 ResizeBilinearOperatorTester()
1012 .input_size(input_height, 1)
1013 .output_size(output_height, 1)
1014 .channels(17)
1015 .iterations(3)
1016 .TestNHWCxS8();
1017 }
1018 }
1019 }
1020
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale_x)1021 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale_x) {
1022 for (size_t output_width = 1; output_width <= 3; output_width++) {
1023 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1024 ResizeBilinearOperatorTester()
1025 .input_size(1, input_width)
1026 .output_size(1, output_width)
1027 .channels(17)
1028 .iterations(3)
1029 .TestNHWCxS8();
1030 }
1031 }
1032 }
1033
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale)1034 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale) {
1035 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1036 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1037 ResizeBilinearOperatorTester()
1038 .input_size(input_height, input_width)
1039 .output_size(2, 2)
1040 .channels(17)
1041 .iterations(3)
1042 .TestNHWCxS8();
1043 }
1044 }
1045 }
1046
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_identical_size)1047 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_identical_size) {
1048 for (size_t height = 1; height < 10; height *= 3) {
1049 for (size_t width = 1; width < 10; width *= 3) {
1050 ResizeBilinearOperatorTester()
1051 .input_size(height, width)
1052 .output_size(height, width)
1053 .channels(17)
1054 .iterations(3)
1055 .TestNHWCxS8();
1056 }
1057 }
1058 }
1059
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_varying_channels)1060 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_varying_channels) {
1061 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1062 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1063 for (size_t channels = 15; channels <= 19; channels++) {
1064 ResizeBilinearOperatorTester()
1065 .input_size(output_size, output_size)
1066 .output_size(output_size, output_size)
1067 .channels(channels)
1068 .iterations(3)
1069 .TestNHWCxS8();
1070 }
1071 }
1072 }
1073 }
1074
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_with_input_stride)1075 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_with_input_stride) {
1076 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1077 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1078 for (size_t channels = 15; channels <= 19; channels++) {
1079 ResizeBilinearOperatorTester()
1080 .input_size(output_size, output_size)
1081 .output_size(output_size, output_size)
1082 .channels(channels)
1083 .input_pixel_stride(23)
1084 .iterations(3)
1085 .TestNHWCxS8();
1086 }
1087 }
1088 }
1089 }
1090
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_with_output_stride)1091 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_with_output_stride) {
1092 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1093 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1094 for (size_t channels = 15; channels <= 19; channels++) {
1095 ResizeBilinearOperatorTester()
1096 .input_size(output_size, output_size)
1097 .output_size(output_size, output_size)
1098 .channels(channels)
1099 .output_pixel_stride(29)
1100 .iterations(3)
1101 .TestNHWCxS8();
1102 }
1103 }
1104 }
1105 }
1106
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_varying_batch_size)1107 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_varying_batch_size) {
1108 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1109 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1110 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1111 ResizeBilinearOperatorTester()
1112 .batch_size(batch_size)
1113 .input_size(output_size, output_size)
1114 .output_size(output_size, output_size)
1115 .iterations(3)
1116 .TestNHWCxS8();
1117 }
1118 }
1119 }
1120 }
1121
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale_y)1122 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale_y) {
1123 for (size_t input_height = 1; input_height <= 3; input_height++) {
1124 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1125 ResizeBilinearOperatorTester()
1126 .align_corners(true)
1127 .input_size(input_height, 1)
1128 .output_size(output_height, 1)
1129 .channels(17)
1130 .iterations(3)
1131 .TestNHWCxS8();
1132 }
1133 }
1134 }
1135
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale_x)1136 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale_x) {
1137 for (size_t input_width = 1; input_width <= 3; input_width++) {
1138 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1139 ResizeBilinearOperatorTester()
1140 .align_corners(true)
1141 .input_size(1, input_width)
1142 .output_size(1, output_width)
1143 .channels(17)
1144 .iterations(3)
1145 .TestNHWCxS8();
1146 }
1147 }
1148 }
1149
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale)1150 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale) {
1151 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1152 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1153 ResizeBilinearOperatorTester()
1154 .align_corners(true)
1155 .input_size(2, 2)
1156 .output_size(output_height, output_width)
1157 .channels(17)
1158 .iterations(3)
1159 .TestNHWCxS8();
1160 }
1161 }
1162 }
1163
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale_y)1164 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale_y) {
1165 for (size_t output_height = 2; output_height <= 3; output_height++) {
1166 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1167 ResizeBilinearOperatorTester()
1168 .input_size(input_height, 1)
1169 .output_size(output_height, 1)
1170 .channels(17)
1171 .iterations(3)
1172 .TestNHWCxS8();
1173 }
1174 }
1175 }
1176
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale_x)1177 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale_x) {
1178 for (size_t output_width = 2; output_width <= 3; output_width++) {
1179 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1180 ResizeBilinearOperatorTester()
1181 .input_size(1, input_width)
1182 .output_size(1, output_width)
1183 .channels(17)
1184 .iterations(3)
1185 .TestNHWCxS8();
1186 }
1187 }
1188 }
1189
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale)1190 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale) {
1191 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1192 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1193 ResizeBilinearOperatorTester()
1194 .input_size(input_height, input_width)
1195 .output_size(2, 2)
1196 .channels(17)
1197 .iterations(3)
1198 .TestNHWCxS8();
1199 }
1200 }
1201 }
1202
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_identical_size)1203 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_identical_size) {
1204 for (size_t height = 1; height < 10; height *= 3) {
1205 for (size_t width = 1; width < 10; width *= 3) {
1206 ResizeBilinearOperatorTester()
1207 .align_corners(true)
1208 .input_size(height, width)
1209 .output_size(height, width)
1210 .channels(17)
1211 .iterations(3)
1212 .TestNHWCxS8();
1213 }
1214 }
1215 }
1216
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_varying_channels)1217 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_varying_channels) {
1218 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1219 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1220 for (size_t channels = 15; channels <= 19; channels++) {
1221 ResizeBilinearOperatorTester()
1222 .align_corners(true)
1223 .input_size(output_size, output_size)
1224 .output_size(output_size, output_size)
1225 .channels(channels)
1226 .iterations(3)
1227 .TestNHWCxS8();
1228 }
1229 }
1230 }
1231 }
1232
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_with_input_stride)1233 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_with_input_stride) {
1234 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1235 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1236 for (size_t channels = 15; channels <= 19; channels++) {
1237 ResizeBilinearOperatorTester()
1238 .align_corners(true)
1239 .input_size(output_size, output_size)
1240 .output_size(output_size, output_size)
1241 .channels(channels)
1242 .input_pixel_stride(23)
1243 .iterations(3)
1244 .TestNHWCxS8();
1245 }
1246 }
1247 }
1248 }
1249
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_with_output_stride)1250 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_with_output_stride) {
1251 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1252 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1253 for (size_t channels = 15; channels <= 19; channels++) {
1254 ResizeBilinearOperatorTester()
1255 .align_corners(true)
1256 .input_size(output_size, output_size)
1257 .output_size(output_size, output_size)
1258 .channels(channels)
1259 .output_pixel_stride(29)
1260 .iterations(3)
1261 .TestNHWCxS8();
1262 }
1263 }
1264 }
1265 }
1266
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_varying_batch_size)1267 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_varying_batch_size) {
1268 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1269 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1270 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1271 ResizeBilinearOperatorTester()
1272 .align_corners(true)
1273 .batch_size(batch_size)
1274 .input_size(output_size, output_size)
1275 .output_size(output_size, output_size)
1276 .iterations(3)
1277 .TestNHWCxS8();
1278 }
1279 }
1280 }
1281 }
1282
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale_y)1283 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale_y) {
1284 for (size_t input_height = 1; input_height <= 3; input_height++) {
1285 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1286 ResizeBilinearOperatorTester()
1287 .tf_legacy_mode(true)
1288 .input_size(input_height, 1)
1289 .output_size(output_height, 1)
1290 .channels(17)
1291 .iterations(3)
1292 .TestNHWCxS8();
1293 }
1294 }
1295 }
1296
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale_x)1297 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale_x) {
1298 for (size_t input_width = 1; input_width <= 3; input_width++) {
1299 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1300 ResizeBilinearOperatorTester()
1301 .tf_legacy_mode(true)
1302 .input_size(1, input_width)
1303 .output_size(1, output_width)
1304 .channels(17)
1305 .iterations(3)
1306 .TestNHWCxS8();
1307 }
1308 }
1309 }
1310
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale)1311 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale) {
1312 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1313 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1314 ResizeBilinearOperatorTester()
1315 .tf_legacy_mode(true)
1316 .input_size(2, 2)
1317 .output_size(output_height, output_width)
1318 .channels(17)
1319 .iterations(3)
1320 .TestNHWCxS8();
1321 }
1322 }
1323 }
1324
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale_y)1325 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale_y) {
1326 for (size_t output_height = 1; output_height <= 3; output_height++) {
1327 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1328 ResizeBilinearOperatorTester()
1329 .tf_legacy_mode(true)
1330 .input_size(input_height, 1)
1331 .output_size(output_height, 1)
1332 .channels(17)
1333 .iterations(3)
1334 .TestNHWCxS8();
1335 }
1336 }
1337 }
1338
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale_x)1339 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale_x) {
1340 for (size_t output_width = 1; output_width <= 3; output_width++) {
1341 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1342 ResizeBilinearOperatorTester()
1343 .tf_legacy_mode(true)
1344 .input_size(1, input_width)
1345 .output_size(1, output_width)
1346 .channels(17)
1347 .iterations(3)
1348 .TestNHWCxS8();
1349 }
1350 }
1351 }
1352
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale)1353 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale) {
1354 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1355 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1356 ResizeBilinearOperatorTester()
1357 .tf_legacy_mode(true)
1358 .input_size(input_height, input_width)
1359 .output_size(2, 2)
1360 .channels(17)
1361 .iterations(3)
1362 .TestNHWCxS8();
1363 }
1364 }
1365 }
1366
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_identical_size)1367 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_identical_size) {
1368 for (size_t height = 1; height < 10; height *= 3) {
1369 for (size_t width = 1; width < 10; width *= 3) {
1370 ResizeBilinearOperatorTester()
1371 .tf_legacy_mode(true)
1372 .input_size(height, width)
1373 .output_size(height, width)
1374 .channels(17)
1375 .iterations(3)
1376 .TestNHWCxS8();
1377 }
1378 }
1379 }
1380
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_varying_channels)1381 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_varying_channels) {
1382 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1383 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1384 for (size_t channels = 15; channels <= 19; channels++) {
1385 ResizeBilinearOperatorTester()
1386 .tf_legacy_mode(true)
1387 .input_size(output_size, output_size)
1388 .output_size(output_size, output_size)
1389 .channels(channels)
1390 .iterations(3)
1391 .TestNHWCxS8();
1392 }
1393 }
1394 }
1395 }
1396
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_with_input_stride)1397 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_with_input_stride) {
1398 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1399 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1400 for (size_t channels = 15; channels <= 19; channels++) {
1401 ResizeBilinearOperatorTester()
1402 .tf_legacy_mode(true)
1403 .input_size(output_size, output_size)
1404 .output_size(output_size, output_size)
1405 .channels(channels)
1406 .input_pixel_stride(23)
1407 .iterations(3)
1408 .TestNHWCxS8();
1409 }
1410 }
1411 }
1412 }
1413
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_with_output_stride)1414 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_with_output_stride) {
1415 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1416 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1417 for (size_t channels = 15; channels <= 19; channels++) {
1418 ResizeBilinearOperatorTester()
1419 .tf_legacy_mode(true)
1420 .input_size(output_size, output_size)
1421 .output_size(output_size, output_size)
1422 .channels(channels)
1423 .output_pixel_stride(29)
1424 .iterations(3)
1425 .TestNHWCxS8();
1426 }
1427 }
1428 }
1429 }
1430
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_varying_batch_size)1431 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_varying_batch_size) {
1432 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1433 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1434 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1435 ResizeBilinearOperatorTester()
1436 .tf_legacy_mode(true)
1437 .batch_size(batch_size)
1438 .input_size(output_size, output_size)
1439 .output_size(output_size, output_size)
1440 .iterations(3)
1441 .TestNHWCxS8();
1442 }
1443 }
1444 }
1445 }
1446
1447
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale_y)1448 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale_y) {
1449 for (size_t input_height = 1; input_height <= 3; input_height++) {
1450 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1451 ResizeBilinearOperatorTester()
1452 .input_size(input_height, 1)
1453 .output_size(output_height, 1)
1454 .channels(17)
1455 .iterations(3)
1456 .TestNHWCxU8();
1457 }
1458 }
1459 }
1460
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale_x)1461 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale_x) {
1462 for (size_t input_width = 1; input_width <= 3; input_width++) {
1463 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1464 ResizeBilinearOperatorTester()
1465 .input_size(1, input_width)
1466 .output_size(1, output_width)
1467 .channels(17)
1468 .iterations(3)
1469 .TestNHWCxU8();
1470 }
1471 }
1472 }
1473
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale)1474 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale) {
1475 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1476 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1477 ResizeBilinearOperatorTester()
1478 .input_size(2, 2)
1479 .output_size(output_height, output_width)
1480 .channels(17)
1481 .iterations(3)
1482 .TestNHWCxU8();
1483 }
1484 }
1485 }
1486
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale_y)1487 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale_y) {
1488 for (size_t output_height = 1; output_height <= 3; output_height++) {
1489 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1490 ResizeBilinearOperatorTester()
1491 .input_size(input_height, 1)
1492 .output_size(output_height, 1)
1493 .channels(17)
1494 .iterations(3)
1495 .TestNHWCxU8();
1496 }
1497 }
1498 }
1499
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale_x)1500 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale_x) {
1501 for (size_t output_width = 1; output_width <= 3; output_width++) {
1502 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1503 ResizeBilinearOperatorTester()
1504 .input_size(1, input_width)
1505 .output_size(1, output_width)
1506 .channels(17)
1507 .iterations(3)
1508 .TestNHWCxU8();
1509 }
1510 }
1511 }
1512
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale)1513 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale) {
1514 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1515 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1516 ResizeBilinearOperatorTester()
1517 .input_size(input_height, input_width)
1518 .output_size(2, 2)
1519 .channels(17)
1520 .iterations(3)
1521 .TestNHWCxU8();
1522 }
1523 }
1524 }
1525
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_identical_size)1526 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_identical_size) {
1527 for (size_t height = 1; height < 10; height *= 3) {
1528 for (size_t width = 1; width < 10; width *= 3) {
1529 ResizeBilinearOperatorTester()
1530 .input_size(height, width)
1531 .output_size(height, width)
1532 .channels(17)
1533 .iterations(3)
1534 .TestNHWCxU8();
1535 }
1536 }
1537 }
1538
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_varying_channels)1539 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_varying_channels) {
1540 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1541 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1542 for (size_t channels = 15; channels <= 19; channels++) {
1543 ResizeBilinearOperatorTester()
1544 .input_size(output_size, output_size)
1545 .output_size(output_size, output_size)
1546 .channels(channels)
1547 .iterations(3)
1548 .TestNHWCxU8();
1549 }
1550 }
1551 }
1552 }
1553
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_with_input_stride)1554 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_with_input_stride) {
1555 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1556 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1557 for (size_t channels = 15; channels <= 19; channels++) {
1558 ResizeBilinearOperatorTester()
1559 .input_size(output_size, output_size)
1560 .output_size(output_size, output_size)
1561 .channels(channels)
1562 .input_pixel_stride(23)
1563 .iterations(3)
1564 .TestNHWCxU8();
1565 }
1566 }
1567 }
1568 }
1569
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_with_output_stride)1570 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_with_output_stride) {
1571 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1572 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1573 for (size_t channels = 15; channels <= 19; channels++) {
1574 ResizeBilinearOperatorTester()
1575 .input_size(output_size, output_size)
1576 .output_size(output_size, output_size)
1577 .channels(channels)
1578 .output_pixel_stride(29)
1579 .iterations(3)
1580 .TestNHWCxU8();
1581 }
1582 }
1583 }
1584 }
1585
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_varying_batch_size)1586 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_varying_batch_size) {
1587 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1588 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1589 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1590 ResizeBilinearOperatorTester()
1591 .batch_size(batch_size)
1592 .input_size(output_size, output_size)
1593 .output_size(output_size, output_size)
1594 .iterations(3)
1595 .TestNHWCxU8();
1596 }
1597 }
1598 }
1599 }
1600
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale_y)1601 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale_y) {
1602 for (size_t input_height = 1; input_height <= 3; input_height++) {
1603 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1604 ResizeBilinearOperatorTester()
1605 .align_corners(true)
1606 .input_size(input_height, 1)
1607 .output_size(output_height, 1)
1608 .channels(17)
1609 .iterations(3)
1610 .TestNHWCxU8();
1611 }
1612 }
1613 }
1614
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale_x)1615 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale_x) {
1616 for (size_t input_width = 1; input_width <= 3; input_width++) {
1617 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1618 ResizeBilinearOperatorTester()
1619 .align_corners(true)
1620 .input_size(1, input_width)
1621 .output_size(1, output_width)
1622 .channels(17)
1623 .iterations(3)
1624 .TestNHWCxU8();
1625 }
1626 }
1627 }
1628
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale)1629 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale) {
1630 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1631 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1632 ResizeBilinearOperatorTester()
1633 .align_corners(true)
1634 .input_size(2, 2)
1635 .output_size(output_height, output_width)
1636 .channels(17)
1637 .iterations(3)
1638 .TestNHWCxU8();
1639 }
1640 }
1641 }
1642
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale_y)1643 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale_y) {
1644 for (size_t output_height = 2; output_height <= 3; output_height++) {
1645 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1646 ResizeBilinearOperatorTester()
1647 .input_size(input_height, 1)
1648 .output_size(output_height, 1)
1649 .channels(17)
1650 .iterations(3)
1651 .TestNHWCxU8();
1652 }
1653 }
1654 }
1655
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale_x)1656 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale_x) {
1657 for (size_t output_width = 2; output_width <= 3; output_width++) {
1658 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1659 ResizeBilinearOperatorTester()
1660 .input_size(1, input_width)
1661 .output_size(1, output_width)
1662 .channels(17)
1663 .iterations(3)
1664 .TestNHWCxU8();
1665 }
1666 }
1667 }
1668
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale)1669 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale) {
1670 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1671 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1672 ResizeBilinearOperatorTester()
1673 .input_size(input_height, input_width)
1674 .output_size(2, 2)
1675 .channels(17)
1676 .iterations(3)
1677 .TestNHWCxU8();
1678 }
1679 }
1680 }
1681
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_identical_size)1682 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_identical_size) {
1683 for (size_t height = 1; height < 10; height *= 3) {
1684 for (size_t width = 1; width < 10; width *= 3) {
1685 ResizeBilinearOperatorTester()
1686 .align_corners(true)
1687 .input_size(height, width)
1688 .output_size(height, width)
1689 .channels(17)
1690 .iterations(3)
1691 .TestNHWCxU8();
1692 }
1693 }
1694 }
1695
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_varying_channels)1696 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_varying_channels) {
1697 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1698 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1699 for (size_t channels = 15; channels <= 19; channels++) {
1700 ResizeBilinearOperatorTester()
1701 .align_corners(true)
1702 .input_size(output_size, output_size)
1703 .output_size(output_size, output_size)
1704 .channels(channels)
1705 .iterations(3)
1706 .TestNHWCxU8();
1707 }
1708 }
1709 }
1710 }
1711
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_with_input_stride)1712 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_with_input_stride) {
1713 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1714 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1715 for (size_t channels = 15; channels <= 19; channels++) {
1716 ResizeBilinearOperatorTester()
1717 .align_corners(true)
1718 .input_size(output_size, output_size)
1719 .output_size(output_size, output_size)
1720 .channels(channels)
1721 .input_pixel_stride(23)
1722 .iterations(3)
1723 .TestNHWCxU8();
1724 }
1725 }
1726 }
1727 }
1728
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_with_output_stride)1729 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_with_output_stride) {
1730 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1731 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1732 for (size_t channels = 15; channels <= 19; channels++) {
1733 ResizeBilinearOperatorTester()
1734 .align_corners(true)
1735 .input_size(output_size, output_size)
1736 .output_size(output_size, output_size)
1737 .channels(channels)
1738 .output_pixel_stride(29)
1739 .iterations(3)
1740 .TestNHWCxU8();
1741 }
1742 }
1743 }
1744 }
1745
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_varying_batch_size)1746 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_varying_batch_size) {
1747 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1748 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1749 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1750 ResizeBilinearOperatorTester()
1751 .align_corners(true)
1752 .batch_size(batch_size)
1753 .input_size(output_size, output_size)
1754 .output_size(output_size, output_size)
1755 .iterations(3)
1756 .TestNHWCxU8();
1757 }
1758 }
1759 }
1760 }
1761
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale_y)1762 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale_y) {
1763 for (size_t input_height = 1; input_height <= 3; input_height++) {
1764 for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1765 ResizeBilinearOperatorTester()
1766 .tf_legacy_mode(true)
1767 .input_size(input_height, 1)
1768 .output_size(output_height, 1)
1769 .channels(17)
1770 .iterations(3)
1771 .TestNHWCxU8();
1772 }
1773 }
1774 }
1775
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale_x)1776 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale_x) {
1777 for (size_t input_width = 1; input_width <= 3; input_width++) {
1778 for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1779 ResizeBilinearOperatorTester()
1780 .tf_legacy_mode(true)
1781 .input_size(1, input_width)
1782 .output_size(1, output_width)
1783 .channels(17)
1784 .iterations(3)
1785 .TestNHWCxU8();
1786 }
1787 }
1788 }
1789
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale)1790 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale) {
1791 for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1792 for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1793 ResizeBilinearOperatorTester()
1794 .tf_legacy_mode(true)
1795 .input_size(2, 2)
1796 .output_size(output_height, output_width)
1797 .channels(17)
1798 .iterations(3)
1799 .TestNHWCxU8();
1800 }
1801 }
1802 }
1803
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale_y)1804 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale_y) {
1805 for (size_t output_height = 1; output_height <= 3; output_height++) {
1806 for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1807 ResizeBilinearOperatorTester()
1808 .tf_legacy_mode(true)
1809 .input_size(input_height, 1)
1810 .output_size(output_height, 1)
1811 .channels(17)
1812 .iterations(3)
1813 .TestNHWCxU8();
1814 }
1815 }
1816 }
1817
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale_x)1818 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale_x) {
1819 for (size_t output_width = 1; output_width <= 3; output_width++) {
1820 for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1821 ResizeBilinearOperatorTester()
1822 .tf_legacy_mode(true)
1823 .input_size(1, input_width)
1824 .output_size(1, output_width)
1825 .channels(17)
1826 .iterations(3)
1827 .TestNHWCxU8();
1828 }
1829 }
1830 }
1831
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale)1832 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale) {
1833 for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1834 for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1835 ResizeBilinearOperatorTester()
1836 .tf_legacy_mode(true)
1837 .input_size(input_height, input_width)
1838 .output_size(2, 2)
1839 .channels(17)
1840 .iterations(3)
1841 .TestNHWCxU8();
1842 }
1843 }
1844 }
1845
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_identical_size)1846 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_identical_size) {
1847 for (size_t height = 1; height < 10; height *= 3) {
1848 for (size_t width = 1; width < 10; width *= 3) {
1849 ResizeBilinearOperatorTester()
1850 .tf_legacy_mode(true)
1851 .input_size(height, width)
1852 .output_size(height, width)
1853 .channels(17)
1854 .iterations(3)
1855 .TestNHWCxU8();
1856 }
1857 }
1858 }
1859
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_varying_channels)1860 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_varying_channels) {
1861 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1862 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1863 for (size_t channels = 15; channels <= 19; channels++) {
1864 ResizeBilinearOperatorTester()
1865 .tf_legacy_mode(true)
1866 .input_size(output_size, output_size)
1867 .output_size(output_size, output_size)
1868 .channels(channels)
1869 .iterations(3)
1870 .TestNHWCxU8();
1871 }
1872 }
1873 }
1874 }
1875
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_with_input_stride)1876 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_with_input_stride) {
1877 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1878 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1879 for (size_t channels = 15; channels <= 19; channels++) {
1880 ResizeBilinearOperatorTester()
1881 .tf_legacy_mode(true)
1882 .input_size(output_size, output_size)
1883 .output_size(output_size, output_size)
1884 .channels(channels)
1885 .input_pixel_stride(23)
1886 .iterations(3)
1887 .TestNHWCxU8();
1888 }
1889 }
1890 }
1891 }
1892
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_with_output_stride)1893 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_with_output_stride) {
1894 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1895 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1896 for (size_t channels = 15; channels <= 19; channels++) {
1897 ResizeBilinearOperatorTester()
1898 .tf_legacy_mode(true)
1899 .input_size(output_size, output_size)
1900 .output_size(output_size, output_size)
1901 .channels(channels)
1902 .output_pixel_stride(29)
1903 .iterations(3)
1904 .TestNHWCxU8();
1905 }
1906 }
1907 }
1908 }
1909
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_varying_batch_size)1910 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_varying_batch_size) {
1911 for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1912 for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1913 for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1914 ResizeBilinearOperatorTester()
1915 .tf_legacy_mode(true)
1916 .batch_size(batch_size)
1917 .input_size(output_size, output_size)
1918 .output_size(output_size, output_size)
1919 .iterations(3)
1920 .TestNHWCxU8();
1921 }
1922 }
1923 }
1924 }
1925