// Copyright 2022 Google LLC // // This source code is licensed under the BSD-style license found in the // LICENSE file in the root directory of this source tree. #include "space-to-depth-operator-tester.h" #include TEST(SPACE_TO_DEPTH_NHWC_X8, one_output_pixel) { size_t block_size = 3; SpaceToDepthOperatorTester() .input_size(block_size, block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX8(); } TEST(SPACE_TO_DEPTH_NHWC_X8, one_column) { size_t block_size = 3; for (size_t input_height = 2; input_height <= 7; input_height++) { SpaceToDepthOperatorTester() .input_size(input_height * block_size, block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX8(); } } TEST(SPACE_TO_DEPTH_NHWC_X8, one_row) { size_t block_size = 3; for (size_t input_width = 2; input_width <= 7; input_width++) { SpaceToDepthOperatorTester() .input_size(block_size, input_width * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX8(); } } TEST(SPACE_TO_DEPTH_NHWC_X8, varying_input_size) { size_t block_size = 3; for (size_t input_height = 1; input_height <= 5; input_height++) { for (size_t input_width = 1; input_width <= 5; input_width++) { SpaceToDepthOperatorTester() .input_size(input_height * block_size, input_width * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX8(); } } } TEST(SPACE_TO_DEPTH_NHWC_X8, varying_block_size) { for (uint32_t block_size = 2; block_size <= 5; block_size++) { SpaceToDepthOperatorTester() .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX8(); } } TEST(SPACE_TO_DEPTH_NHWC_X8, varying_input_channels) { size_t block_size = 3; for (size_t input_channels = 1; input_channels <= 15; input_channels++) { SpaceToDepthOperatorTester() .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(input_channels) .TestNHWCxX8(); } } TEST(SPACE_TO_DEPTH_NHWC_X8, varying_batch_size) { size_t block_size = 3; for (size_t batch_size = 2; batch_size <= 3; batch_size++) { SpaceToDepthOperatorTester() .batch_size(batch_size) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX8(); } } TEST(SPACE_TO_DEPTH_NHWC_X8, input_channels_stride) { size_t block_size = 3; SpaceToDepthOperatorTester() .batch_size(1) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels_stride(10) .input_channels(9) .TestNHWCxX8(); } TEST(SPACE_TO_DEPTH_NHWC_X8, output_channels_stride) { size_t block_size = 3; SpaceToDepthOperatorTester() .batch_size(2) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .output_channels_stride(171) .input_channels(17) .TestNHWCxX8(); } TEST(SPACE_TO_DEPTH_NHWC_X16, one_output_pixel) { size_t block_size = 3; SpaceToDepthOperatorTester() .input_size(block_size, block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX16(); } TEST(SPACE_TO_DEPTH_NHWC_X16, one_column) { size_t block_size = 3; for (size_t input_height = 2; input_height <= 7; input_height++) { SpaceToDepthOperatorTester() .input_size(input_height * block_size, block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX16(); } } TEST(SPACE_TO_DEPTH_NHWC_X16, one_row) { size_t block_size = 3; for (size_t input_width = 2; input_width <= 7; input_width++) { SpaceToDepthOperatorTester() .input_size(block_size, input_width * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX16(); } } TEST(SPACE_TO_DEPTH_NHWC_X16, varying_input_size) { size_t block_size = 3; for (size_t input_height = 1; input_height <= 5; input_height++) { for (size_t input_width = 1; input_width <= 5; input_width++) { SpaceToDepthOperatorTester() .input_size(input_height * block_size, input_width * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX16(); } } } TEST(SPACE_TO_DEPTH_NHWC_X16, varying_block_size) { for (uint32_t block_size = 2; block_size <= 5; block_size++) { SpaceToDepthOperatorTester() .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX16(); } } TEST(SPACE_TO_DEPTH_NHWC_X16, varying_input_channels) { size_t block_size = 3; for (size_t input_channels = 1; input_channels <= 15; input_channels++) { SpaceToDepthOperatorTester() .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(input_channels) .TestNHWCxX16(); } } TEST(SPACE_TO_DEPTH_NHWC_X16, varying_batch_size) { size_t block_size = 3; for (size_t batch_size = 2; batch_size <= 3; batch_size++) { SpaceToDepthOperatorTester() .batch_size(batch_size) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX32(); } } TEST(SPACE_TO_DEPTH_NHWC_X16, input_channels_stride) { size_t block_size = 3; SpaceToDepthOperatorTester() .batch_size(1) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels_stride(10) .input_channels(9) .TestNHWCxX16(); } TEST(SPACE_TO_DEPTH_NHWC_X16, output_channels_stride) { size_t block_size = 3; SpaceToDepthOperatorTester() .batch_size(2) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .output_channels_stride(171) .input_channels(17) .TestNHWCxX32(); } TEST(SPACE_TO_DEPTH_NHWC_X32, one_output_pixel) { size_t block_size = 3; SpaceToDepthOperatorTester() .input_size(block_size, block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX32(); } TEST(SPACE_TO_DEPTH_NHWC_X32, one_column) { size_t block_size = 3; for (size_t input_height = 2; input_height <= 7; input_height++) { SpaceToDepthOperatorTester() .input_size(input_height * block_size, block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX32(); } } TEST(SPACE_TO_DEPTH_NHWC_X32, one_row) { size_t block_size = 3; for (size_t input_width = 2; input_width <= 7; input_width++) { SpaceToDepthOperatorTester() .input_size(block_size, input_width * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX32(); } } TEST(SPACE_TO_DEPTH_NHWC_X32, varying_input_size) { size_t block_size = 3; for (size_t input_height = 1; input_height <= 5; input_height++) { for (size_t input_width = 1; input_width <= 5; input_width++) { SpaceToDepthOperatorTester() .input_size(input_height * block_size, input_width * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX32(); } } } TEST(SPACE_TO_DEPTH_NHWC_X32, varying_block_size) { for (uint32_t block_size = 2; block_size <= 5; block_size++) { SpaceToDepthOperatorTester() .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX32(); } } TEST(SPACE_TO_DEPTH_NHWC_X32, varying_input_channels) { size_t block_size = 3; for (size_t input_channels = 1; input_channels <= 15; input_channels++) { SpaceToDepthOperatorTester() .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(input_channels) .TestNHWCxX32(); } } TEST(SPACE_TO_DEPTH_NHWC_X32, varying_batch_size) { size_t block_size = 3; for (size_t batch_size = 2; batch_size <= 3; batch_size++) { SpaceToDepthOperatorTester() .batch_size(batch_size) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels(17) .TestNHWCxX32(); } } TEST(SPACE_TO_DEPTH_NHWC_X32, input_channels_stride) { size_t block_size = 3; SpaceToDepthOperatorTester() .batch_size(1) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .input_channels_stride(10) .input_channels(9) .TestNHWCxX32(); } TEST(SPACE_TO_DEPTH_NHWC_X32, output_channels_stride) { size_t block_size = 3; SpaceToDepthOperatorTester() .batch_size(2) .input_size(7 * block_size, 5 * block_size) .block_size(block_size) .output_channels_stride(171) .input_channels(17) .TestNHWCxX32(); }