• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_F32,aligned_centers_upscale_y)11 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
20     }
21   }
22 }
23 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_upscale_x)24 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
33     }
34   }
35 }
36 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_upscale)37 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
46     }
47   }
48 }
49 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale_y)50 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
59     }
60   }
61 }
62 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale_x)63 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
72     }
73   }
74 }
75 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_downscale)76 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
85     }
86   }
87 }
88 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_identical_size)89 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
98     }
99   }
100 }
101 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_varying_channels)102 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
112       }
113     }
114   }
115 }
116 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_with_input_stride)117 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
128       }
129     }
130   }
131 }
132 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_with_output_stride)133 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
144       }
145     }
146   }
147 }
148 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_centers_varying_batch_size)149 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
159       }
160     }
161   }
162 }
163 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale_y)164 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
174     }
175   }
176 }
177 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale_x)178 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
188     }
189   }
190 }
191 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_upscale)192 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
202     }
203   }
204 }
205 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale_y)206 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
215     }
216   }
217 }
218 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale_x)219 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
228     }
229   }
230 }
231 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_downscale)232 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
241     }
242   }
243 }
244 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_identical_size)245 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
255     }
256   }
257 }
258 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_varying_channels)259 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
270       }
271     }
272   }
273 }
274 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_with_input_stride)275 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
287       }
288     }
289   }
290 }
291 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_with_output_stride)292 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
304       }
305     }
306   }
307 }
308 
TEST(RESIZE_BILINEAR_NHWC_F32,aligned_corners_varying_batch_size)309 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
320       }
321     }
322   }
323 }
324 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale_y)325 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
335     }
336   }
337 }
338 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale_x)339 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
349     }
350   }
351 }
352 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_upscale)353 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
363     }
364   }
365 }
366 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale_y)367 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
377     }
378   }
379 }
380 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale_x)381 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
391     }
392   }
393 }
394 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_downscale)395 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
405     }
406   }
407 }
408 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_identical_size)409 TEST(RESIZE_BILINEAR_NHWC_F32, 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         .TestNHWCxF32();
419     }
420   }
421 }
422 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_varying_channels)423 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
434       }
435     }
436   }
437 }
438 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_with_input_stride)439 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
451       }
452     }
453   }
454 }
455 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_with_output_stride)456 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
468       }
469     }
470   }
471 }
472 
TEST(RESIZE_BILINEAR_NHWC_F32,tf_mode_aligned_centers_varying_batch_size)473 TEST(RESIZE_BILINEAR_NHWC_F32, 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           .TestNHWCxF32();
484       }
485     }
486   }
487 }
488 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale_y)489 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale_y) {
490   for (size_t input_height = 1; input_height <= 3; input_height++) {
491     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
492       ResizeBilinearOperatorTester()
493         .input_size(input_height, 1)
494         .output_size(output_height, 1)
495         .channels(17)
496         .iterations(3)
497         .TestNHWCxS8();
498     }
499   }
500 }
501 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale_x)502 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale_x) {
503   for (size_t input_width = 1; input_width <= 3; input_width++) {
504     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
505       ResizeBilinearOperatorTester()
506         .input_size(1, input_width)
507         .output_size(1, output_width)
508         .channels(17)
509         .iterations(3)
510         .TestNHWCxS8();
511     }
512   }
513 }
514 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_upscale)515 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_upscale) {
516   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
517     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
518       ResizeBilinearOperatorTester()
519         .input_size(2, 2)
520         .output_size(output_height, output_width)
521         .channels(17)
522         .iterations(3)
523         .TestNHWCxS8();
524     }
525   }
526 }
527 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale_y)528 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale_y) {
529   for (size_t output_height = 1; output_height <= 3; output_height++) {
530     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
531       ResizeBilinearOperatorTester()
532         .input_size(input_height, 1)
533         .output_size(output_height, 1)
534         .channels(17)
535         .iterations(3)
536         .TestNHWCxS8();
537     }
538   }
539 }
540 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale_x)541 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale_x) {
542   for (size_t output_width = 1; output_width <= 3; output_width++) {
543     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
544       ResizeBilinearOperatorTester()
545         .input_size(1, input_width)
546         .output_size(1, output_width)
547         .channels(17)
548         .iterations(3)
549         .TestNHWCxS8();
550     }
551   }
552 }
553 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_downscale)554 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_downscale) {
555   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
556     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
557       ResizeBilinearOperatorTester()
558         .input_size(input_height, input_width)
559         .output_size(2, 2)
560         .channels(17)
561         .iterations(3)
562         .TestNHWCxS8();
563     }
564   }
565 }
566 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_identical_size)567 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_identical_size) {
568   for (size_t height = 1; height < 10; height *= 3) {
569     for (size_t width = 1; width < 10; width *= 3) {
570       ResizeBilinearOperatorTester()
571         .input_size(height, width)
572         .output_size(height, width)
573         .channels(17)
574         .iterations(3)
575         .TestNHWCxS8();
576     }
577   }
578 }
579 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_varying_channels)580 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_varying_channels) {
581   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
582     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
583       for (size_t channels = 15; channels <= 19; channels++) {
584         ResizeBilinearOperatorTester()
585           .input_size(output_size, output_size)
586           .output_size(output_size, output_size)
587           .channels(channels)
588           .iterations(3)
589           .TestNHWCxS8();
590       }
591     }
592   }
593 }
594 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_with_input_stride)595 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_with_input_stride) {
596   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
597     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
598       for (size_t channels = 15; channels <= 19; channels++) {
599         ResizeBilinearOperatorTester()
600           .input_size(output_size, output_size)
601           .output_size(output_size, output_size)
602           .channels(channels)
603           .input_pixel_stride(23)
604           .iterations(3)
605           .TestNHWCxS8();
606       }
607     }
608   }
609 }
610 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_with_output_stride)611 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_with_output_stride) {
612   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
613     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
614       for (size_t channels = 15; channels <= 19; channels++) {
615         ResizeBilinearOperatorTester()
616           .input_size(output_size, output_size)
617           .output_size(output_size, output_size)
618           .channels(channels)
619           .output_pixel_stride(29)
620           .iterations(3)
621           .TestNHWCxS8();
622       }
623     }
624   }
625 }
626 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_centers_varying_batch_size)627 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_centers_varying_batch_size) {
628   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
629     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
630       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
631         ResizeBilinearOperatorTester()
632           .batch_size(batch_size)
633           .input_size(output_size, output_size)
634           .output_size(output_size, output_size)
635           .iterations(3)
636           .TestNHWCxS8();
637       }
638     }
639   }
640 }
641 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale_y)642 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale_y) {
643   for (size_t input_height = 1; input_height <= 3; input_height++) {
644     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
645       ResizeBilinearOperatorTester()
646         .align_corners(true)
647         .input_size(input_height, 1)
648         .output_size(output_height, 1)
649         .channels(17)
650         .iterations(3)
651         .TestNHWCxS8();
652     }
653   }
654 }
655 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale_x)656 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale_x) {
657   for (size_t input_width = 1; input_width <= 3; input_width++) {
658     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
659       ResizeBilinearOperatorTester()
660         .align_corners(true)
661         .input_size(1, input_width)
662         .output_size(1, output_width)
663         .channels(17)
664         .iterations(3)
665         .TestNHWCxS8();
666     }
667   }
668 }
669 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_upscale)670 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_upscale) {
671   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
672     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
673       ResizeBilinearOperatorTester()
674         .align_corners(true)
675         .input_size(2, 2)
676         .output_size(output_height, output_width)
677         .channels(17)
678         .iterations(3)
679         .TestNHWCxS8();
680     }
681   }
682 }
683 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale_y)684 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale_y) {
685   for (size_t output_height = 2; output_height <= 3; output_height++) {
686     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
687       ResizeBilinearOperatorTester()
688         .input_size(input_height, 1)
689         .output_size(output_height, 1)
690         .channels(17)
691         .iterations(3)
692         .TestNHWCxS8();
693     }
694   }
695 }
696 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale_x)697 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale_x) {
698   for (size_t output_width = 2; output_width <= 3; output_width++) {
699     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
700       ResizeBilinearOperatorTester()
701         .input_size(1, input_width)
702         .output_size(1, output_width)
703         .channels(17)
704         .iterations(3)
705         .TestNHWCxS8();
706     }
707   }
708 }
709 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_downscale)710 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_downscale) {
711   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
712     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
713       ResizeBilinearOperatorTester()
714         .input_size(input_height, input_width)
715         .output_size(2, 2)
716         .channels(17)
717         .iterations(3)
718         .TestNHWCxS8();
719     }
720   }
721 }
722 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_identical_size)723 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_identical_size) {
724   for (size_t height = 1; height < 10; height *= 3) {
725     for (size_t width = 1; width < 10; width *= 3) {
726       ResizeBilinearOperatorTester()
727         .align_corners(true)
728         .input_size(height, width)
729         .output_size(height, width)
730         .channels(17)
731         .iterations(3)
732         .TestNHWCxS8();
733     }
734   }
735 }
736 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_varying_channels)737 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_varying_channels) {
738   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
739     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
740       for (size_t channels = 15; channels <= 19; channels++) {
741         ResizeBilinearOperatorTester()
742           .align_corners(true)
743           .input_size(output_size, output_size)
744           .output_size(output_size, output_size)
745           .channels(channels)
746           .iterations(3)
747           .TestNHWCxS8();
748       }
749     }
750   }
751 }
752 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_with_input_stride)753 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_with_input_stride) {
754   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
755     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
756       for (size_t channels = 15; channels <= 19; channels++) {
757         ResizeBilinearOperatorTester()
758           .align_corners(true)
759           .input_size(output_size, output_size)
760           .output_size(output_size, output_size)
761           .channels(channels)
762           .input_pixel_stride(23)
763           .iterations(3)
764           .TestNHWCxS8();
765       }
766     }
767   }
768 }
769 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_with_output_stride)770 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_with_output_stride) {
771   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
772     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
773       for (size_t channels = 15; channels <= 19; channels++) {
774         ResizeBilinearOperatorTester()
775           .align_corners(true)
776           .input_size(output_size, output_size)
777           .output_size(output_size, output_size)
778           .channels(channels)
779           .output_pixel_stride(29)
780           .iterations(3)
781           .TestNHWCxS8();
782       }
783     }
784   }
785 }
786 
TEST(RESIZE_BILINEAR_NHWC_S8,aligned_corners_varying_batch_size)787 TEST(RESIZE_BILINEAR_NHWC_S8, aligned_corners_varying_batch_size) {
788   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
789     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
790       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
791         ResizeBilinearOperatorTester()
792           .align_corners(true)
793           .batch_size(batch_size)
794           .input_size(output_size, output_size)
795           .output_size(output_size, output_size)
796           .iterations(3)
797           .TestNHWCxS8();
798       }
799     }
800   }
801 }
802 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale_y)803 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale_y) {
804   for (size_t input_height = 1; input_height <= 3; input_height++) {
805     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
806       ResizeBilinearOperatorTester()
807         .tf_legacy_mode(true)
808         .input_size(input_height, 1)
809         .output_size(output_height, 1)
810         .channels(17)
811         .iterations(3)
812         .TestNHWCxS8();
813     }
814   }
815 }
816 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale_x)817 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale_x) {
818   for (size_t input_width = 1; input_width <= 3; input_width++) {
819     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
820       ResizeBilinearOperatorTester()
821         .tf_legacy_mode(true)
822         .input_size(1, input_width)
823         .output_size(1, output_width)
824         .channels(17)
825         .iterations(3)
826         .TestNHWCxS8();
827     }
828   }
829 }
830 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_upscale)831 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_upscale) {
832   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
833     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
834       ResizeBilinearOperatorTester()
835         .tf_legacy_mode(true)
836         .input_size(2, 2)
837         .output_size(output_height, output_width)
838         .channels(17)
839         .iterations(3)
840         .TestNHWCxS8();
841     }
842   }
843 }
844 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale_y)845 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale_y) {
846   for (size_t output_height = 1; output_height <= 3; output_height++) {
847     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
848       ResizeBilinearOperatorTester()
849         .tf_legacy_mode(true)
850         .input_size(input_height, 1)
851         .output_size(output_height, 1)
852         .channels(17)
853         .iterations(3)
854         .TestNHWCxS8();
855     }
856   }
857 }
858 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale_x)859 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale_x) {
860   for (size_t output_width = 1; output_width <= 3; output_width++) {
861     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
862       ResizeBilinearOperatorTester()
863         .tf_legacy_mode(true)
864         .input_size(1, input_width)
865         .output_size(1, output_width)
866         .channels(17)
867         .iterations(3)
868         .TestNHWCxS8();
869     }
870   }
871 }
872 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_downscale)873 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_downscale) {
874   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
875     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
876       ResizeBilinearOperatorTester()
877         .tf_legacy_mode(true)
878         .input_size(input_height, input_width)
879         .output_size(2, 2)
880         .channels(17)
881         .iterations(3)
882         .TestNHWCxS8();
883     }
884   }
885 }
886 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_identical_size)887 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_identical_size) {
888   for (size_t height = 1; height < 10; height *= 3) {
889     for (size_t width = 1; width < 10; width *= 3) {
890       ResizeBilinearOperatorTester()
891         .tf_legacy_mode(true)
892         .input_size(height, width)
893         .output_size(height, width)
894         .channels(17)
895         .iterations(3)
896         .TestNHWCxS8();
897     }
898   }
899 }
900 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_varying_channels)901 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_varying_channels) {
902   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
903     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
904       for (size_t channels = 15; channels <= 19; channels++) {
905         ResizeBilinearOperatorTester()
906           .tf_legacy_mode(true)
907           .input_size(output_size, output_size)
908           .output_size(output_size, output_size)
909           .channels(channels)
910           .iterations(3)
911           .TestNHWCxS8();
912       }
913     }
914   }
915 }
916 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_with_input_stride)917 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_with_input_stride) {
918   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
919     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
920       for (size_t channels = 15; channels <= 19; channels++) {
921         ResizeBilinearOperatorTester()
922           .tf_legacy_mode(true)
923           .input_size(output_size, output_size)
924           .output_size(output_size, output_size)
925           .channels(channels)
926           .input_pixel_stride(23)
927           .iterations(3)
928           .TestNHWCxS8();
929       }
930     }
931   }
932 }
933 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_with_output_stride)934 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_with_output_stride) {
935   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
936     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
937       for (size_t channels = 15; channels <= 19; channels++) {
938         ResizeBilinearOperatorTester()
939           .tf_legacy_mode(true)
940           .input_size(output_size, output_size)
941           .output_size(output_size, output_size)
942           .channels(channels)
943           .output_pixel_stride(29)
944           .iterations(3)
945           .TestNHWCxS8();
946       }
947     }
948   }
949 }
950 
TEST(RESIZE_BILINEAR_NHWC_S8,tf_mode_aligned_centers_varying_batch_size)951 TEST(RESIZE_BILINEAR_NHWC_S8, tf_mode_aligned_centers_varying_batch_size) {
952   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
953     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
954       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
955         ResizeBilinearOperatorTester()
956           .tf_legacy_mode(true)
957           .batch_size(batch_size)
958           .input_size(output_size, output_size)
959           .output_size(output_size, output_size)
960           .iterations(3)
961           .TestNHWCxS8();
962       }
963     }
964   }
965 }
966 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale_y)967 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale_y) {
968   for (size_t input_height = 1; input_height <= 3; input_height++) {
969     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
970       ResizeBilinearOperatorTester()
971         .input_size(input_height, 1)
972         .output_size(output_height, 1)
973         .channels(17)
974         .iterations(3)
975         .TestNHWCxU8();
976     }
977   }
978 }
979 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale_x)980 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale_x) {
981   for (size_t input_width = 1; input_width <= 3; input_width++) {
982     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
983       ResizeBilinearOperatorTester()
984         .input_size(1, input_width)
985         .output_size(1, output_width)
986         .channels(17)
987         .iterations(3)
988         .TestNHWCxU8();
989     }
990   }
991 }
992 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_upscale)993 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_upscale) {
994   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
995     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
996       ResizeBilinearOperatorTester()
997         .input_size(2, 2)
998         .output_size(output_height, output_width)
999         .channels(17)
1000         .iterations(3)
1001         .TestNHWCxU8();
1002     }
1003   }
1004 }
1005 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale_y)1006 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale_y) {
1007   for (size_t output_height = 1; output_height <= 3; output_height++) {
1008     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1009       ResizeBilinearOperatorTester()
1010         .input_size(input_height, 1)
1011         .output_size(output_height, 1)
1012         .channels(17)
1013         .iterations(3)
1014         .TestNHWCxU8();
1015     }
1016   }
1017 }
1018 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale_x)1019 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale_x) {
1020   for (size_t output_width = 1; output_width <= 3; output_width++) {
1021     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1022       ResizeBilinearOperatorTester()
1023         .input_size(1, input_width)
1024         .output_size(1, output_width)
1025         .channels(17)
1026         .iterations(3)
1027         .TestNHWCxU8();
1028     }
1029   }
1030 }
1031 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_downscale)1032 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_downscale) {
1033   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1034     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1035       ResizeBilinearOperatorTester()
1036         .input_size(input_height, input_width)
1037         .output_size(2, 2)
1038         .channels(17)
1039         .iterations(3)
1040         .TestNHWCxU8();
1041     }
1042   }
1043 }
1044 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_identical_size)1045 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_identical_size) {
1046   for (size_t height = 1; height < 10; height *= 3) {
1047     for (size_t width = 1; width < 10; width *= 3) {
1048       ResizeBilinearOperatorTester()
1049         .input_size(height, width)
1050         .output_size(height, width)
1051         .channels(17)
1052         .iterations(3)
1053         .TestNHWCxU8();
1054     }
1055   }
1056 }
1057 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_varying_channels)1058 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_varying_channels) {
1059   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1060     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1061       for (size_t channels = 15; channels <= 19; channels++) {
1062         ResizeBilinearOperatorTester()
1063           .input_size(output_size, output_size)
1064           .output_size(output_size, output_size)
1065           .channels(channels)
1066           .iterations(3)
1067           .TestNHWCxU8();
1068       }
1069     }
1070   }
1071 }
1072 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_with_input_stride)1073 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_with_input_stride) {
1074   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1075     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1076       for (size_t channels = 15; channels <= 19; channels++) {
1077         ResizeBilinearOperatorTester()
1078           .input_size(output_size, output_size)
1079           .output_size(output_size, output_size)
1080           .channels(channels)
1081           .input_pixel_stride(23)
1082           .iterations(3)
1083           .TestNHWCxU8();
1084       }
1085     }
1086   }
1087 }
1088 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_with_output_stride)1089 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_with_output_stride) {
1090   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1091     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1092       for (size_t channels = 15; channels <= 19; channels++) {
1093         ResizeBilinearOperatorTester()
1094           .input_size(output_size, output_size)
1095           .output_size(output_size, output_size)
1096           .channels(channels)
1097           .output_pixel_stride(29)
1098           .iterations(3)
1099           .TestNHWCxU8();
1100       }
1101     }
1102   }
1103 }
1104 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_centers_varying_batch_size)1105 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_centers_varying_batch_size) {
1106   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1107     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1108       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1109         ResizeBilinearOperatorTester()
1110           .batch_size(batch_size)
1111           .input_size(output_size, output_size)
1112           .output_size(output_size, output_size)
1113           .iterations(3)
1114           .TestNHWCxU8();
1115       }
1116     }
1117   }
1118 }
1119 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale_y)1120 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale_y) {
1121   for (size_t input_height = 1; input_height <= 3; input_height++) {
1122     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1123       ResizeBilinearOperatorTester()
1124         .align_corners(true)
1125         .input_size(input_height, 1)
1126         .output_size(output_height, 1)
1127         .channels(17)
1128         .iterations(3)
1129         .TestNHWCxU8();
1130     }
1131   }
1132 }
1133 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale_x)1134 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale_x) {
1135   for (size_t input_width = 1; input_width <= 3; input_width++) {
1136     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1137       ResizeBilinearOperatorTester()
1138         .align_corners(true)
1139         .input_size(1, input_width)
1140         .output_size(1, output_width)
1141         .channels(17)
1142         .iterations(3)
1143         .TestNHWCxU8();
1144     }
1145   }
1146 }
1147 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_upscale)1148 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_upscale) {
1149   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1150     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1151       ResizeBilinearOperatorTester()
1152         .align_corners(true)
1153         .input_size(2, 2)
1154         .output_size(output_height, output_width)
1155         .channels(17)
1156         .iterations(3)
1157         .TestNHWCxU8();
1158     }
1159   }
1160 }
1161 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale_y)1162 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale_y) {
1163   for (size_t output_height = 2; output_height <= 3; output_height++) {
1164     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1165       ResizeBilinearOperatorTester()
1166         .input_size(input_height, 1)
1167         .output_size(output_height, 1)
1168         .channels(17)
1169         .iterations(3)
1170         .TestNHWCxU8();
1171     }
1172   }
1173 }
1174 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale_x)1175 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale_x) {
1176   for (size_t output_width = 2; output_width <= 3; output_width++) {
1177     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1178       ResizeBilinearOperatorTester()
1179         .input_size(1, input_width)
1180         .output_size(1, output_width)
1181         .channels(17)
1182         .iterations(3)
1183         .TestNHWCxU8();
1184     }
1185   }
1186 }
1187 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_downscale)1188 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_downscale) {
1189   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1190     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1191       ResizeBilinearOperatorTester()
1192         .input_size(input_height, input_width)
1193         .output_size(2, 2)
1194         .channels(17)
1195         .iterations(3)
1196         .TestNHWCxU8();
1197     }
1198   }
1199 }
1200 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_identical_size)1201 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_identical_size) {
1202   for (size_t height = 1; height < 10; height *= 3) {
1203     for (size_t width = 1; width < 10; width *= 3) {
1204       ResizeBilinearOperatorTester()
1205         .align_corners(true)
1206         .input_size(height, width)
1207         .output_size(height, width)
1208         .channels(17)
1209         .iterations(3)
1210         .TestNHWCxU8();
1211     }
1212   }
1213 }
1214 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_varying_channels)1215 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_varying_channels) {
1216   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1217     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1218       for (size_t channels = 15; channels <= 19; channels++) {
1219         ResizeBilinearOperatorTester()
1220           .align_corners(true)
1221           .input_size(output_size, output_size)
1222           .output_size(output_size, output_size)
1223           .channels(channels)
1224           .iterations(3)
1225           .TestNHWCxU8();
1226       }
1227     }
1228   }
1229 }
1230 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_with_input_stride)1231 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_with_input_stride) {
1232   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1233     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1234       for (size_t channels = 15; channels <= 19; channels++) {
1235         ResizeBilinearOperatorTester()
1236           .align_corners(true)
1237           .input_size(output_size, output_size)
1238           .output_size(output_size, output_size)
1239           .channels(channels)
1240           .input_pixel_stride(23)
1241           .iterations(3)
1242           .TestNHWCxU8();
1243       }
1244     }
1245   }
1246 }
1247 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_with_output_stride)1248 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_with_output_stride) {
1249   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1250     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1251       for (size_t channels = 15; channels <= 19; channels++) {
1252         ResizeBilinearOperatorTester()
1253           .align_corners(true)
1254           .input_size(output_size, output_size)
1255           .output_size(output_size, output_size)
1256           .channels(channels)
1257           .output_pixel_stride(29)
1258           .iterations(3)
1259           .TestNHWCxU8();
1260       }
1261     }
1262   }
1263 }
1264 
TEST(RESIZE_BILINEAR_NHWC_U8,aligned_corners_varying_batch_size)1265 TEST(RESIZE_BILINEAR_NHWC_U8, aligned_corners_varying_batch_size) {
1266   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1267     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1268       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1269         ResizeBilinearOperatorTester()
1270           .align_corners(true)
1271           .batch_size(batch_size)
1272           .input_size(output_size, output_size)
1273           .output_size(output_size, output_size)
1274           .iterations(3)
1275           .TestNHWCxU8();
1276       }
1277     }
1278   }
1279 }
1280 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale_y)1281 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale_y) {
1282   for (size_t input_height = 1; input_height <= 3; input_height++) {
1283     for (size_t output_height = input_height + 1; output_height < 15; output_height *= 3) {
1284       ResizeBilinearOperatorTester()
1285         .tf_legacy_mode(true)
1286         .input_size(input_height, 1)
1287         .output_size(output_height, 1)
1288         .channels(17)
1289         .iterations(3)
1290         .TestNHWCxU8();
1291     }
1292   }
1293 }
1294 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale_x)1295 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale_x) {
1296   for (size_t input_width = 1; input_width <= 3; input_width++) {
1297     for (size_t output_width = input_width + 1; output_width < 15; output_width *= 3) {
1298       ResizeBilinearOperatorTester()
1299         .tf_legacy_mode(true)
1300         .input_size(1, input_width)
1301         .output_size(1, output_width)
1302         .channels(17)
1303         .iterations(3)
1304         .TestNHWCxU8();
1305     }
1306   }
1307 }
1308 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_upscale)1309 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_upscale) {
1310   for (size_t output_height = 3; output_height <= 5; output_height += 2) {
1311     for (size_t output_width = 3; output_width <= 5; output_width += 2) {
1312       ResizeBilinearOperatorTester()
1313         .tf_legacy_mode(true)
1314         .input_size(2, 2)
1315         .output_size(output_height, output_width)
1316         .channels(17)
1317         .iterations(3)
1318         .TestNHWCxU8();
1319     }
1320   }
1321 }
1322 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale_y)1323 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale_y) {
1324   for (size_t output_height = 1; output_height <= 3; output_height++) {
1325     for (size_t input_height = output_height + 1; input_height < 15; input_height *= 3) {
1326       ResizeBilinearOperatorTester()
1327         .tf_legacy_mode(true)
1328         .input_size(input_height, 1)
1329         .output_size(output_height, 1)
1330         .channels(17)
1331         .iterations(3)
1332         .TestNHWCxU8();
1333     }
1334   }
1335 }
1336 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale_x)1337 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale_x) {
1338   for (size_t output_width = 1; output_width <= 3; output_width++) {
1339     for (size_t input_width = output_width + 1; input_width < 15; input_width *= 3) {
1340       ResizeBilinearOperatorTester()
1341         .tf_legacy_mode(true)
1342         .input_size(1, input_width)
1343         .output_size(1, output_width)
1344         .channels(17)
1345         .iterations(3)
1346         .TestNHWCxU8();
1347     }
1348   }
1349 }
1350 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_downscale)1351 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_downscale) {
1352   for (size_t input_height = 3; input_height <= 5; input_height += 2) {
1353     for (size_t input_width = 3; input_width <= 5; input_width += 2) {
1354       ResizeBilinearOperatorTester()
1355         .tf_legacy_mode(true)
1356         .input_size(input_height, input_width)
1357         .output_size(2, 2)
1358         .channels(17)
1359         .iterations(3)
1360         .TestNHWCxU8();
1361     }
1362   }
1363 }
1364 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_identical_size)1365 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_identical_size) {
1366   for (size_t height = 1; height < 10; height *= 3) {
1367     for (size_t width = 1; width < 10; width *= 3) {
1368       ResizeBilinearOperatorTester()
1369         .tf_legacy_mode(true)
1370         .input_size(height, width)
1371         .output_size(height, width)
1372         .channels(17)
1373         .iterations(3)
1374         .TestNHWCxU8();
1375     }
1376   }
1377 }
1378 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_varying_channels)1379 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_varying_channels) {
1380   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1381     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1382       for (size_t channels = 15; channels <= 19; channels++) {
1383         ResizeBilinearOperatorTester()
1384           .tf_legacy_mode(true)
1385           .input_size(output_size, output_size)
1386           .output_size(output_size, output_size)
1387           .channels(channels)
1388           .iterations(3)
1389           .TestNHWCxU8();
1390       }
1391     }
1392   }
1393 }
1394 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_with_input_stride)1395 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_with_input_stride) {
1396   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1397     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1398       for (size_t channels = 15; channels <= 19; channels++) {
1399         ResizeBilinearOperatorTester()
1400           .tf_legacy_mode(true)
1401           .input_size(output_size, output_size)
1402           .output_size(output_size, output_size)
1403           .channels(channels)
1404           .input_pixel_stride(23)
1405           .iterations(3)
1406           .TestNHWCxU8();
1407       }
1408     }
1409   }
1410 }
1411 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_with_output_stride)1412 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_with_output_stride) {
1413   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1414     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1415       for (size_t channels = 15; channels <= 19; channels++) {
1416         ResizeBilinearOperatorTester()
1417           .tf_legacy_mode(true)
1418           .input_size(output_size, output_size)
1419           .output_size(output_size, output_size)
1420           .channels(channels)
1421           .output_pixel_stride(29)
1422           .iterations(3)
1423           .TestNHWCxU8();
1424       }
1425     }
1426   }
1427 }
1428 
TEST(RESIZE_BILINEAR_NHWC_U8,tf_mode_aligned_centers_varying_batch_size)1429 TEST(RESIZE_BILINEAR_NHWC_U8, tf_mode_aligned_centers_varying_batch_size) {
1430   for (size_t input_size = 2; input_size <= 6; input_size += 2) {
1431     for (size_t output_size = 2; output_size <= 6; output_size += 2) {
1432       for (size_t batch_size = 2; batch_size <= 3; batch_size++) {
1433         ResizeBilinearOperatorTester()
1434           .tf_legacy_mode(true)
1435           .batch_size(batch_size)
1436           .input_size(output_size, output_size)
1437           .output_size(output_size, output_size)
1438           .iterations(3)
1439           .TestNHWCxU8();
1440       }
1441     }
1442   }
1443 }
1444