From bff2f9f2f92bf7a8d2f7532df0329dedfbe84693 Mon Sep 17 00:00:00 2001 From: Michele Di Giorgio Date: Tue, 20 Apr 2021 16:39:18 +0100 Subject: Remove unused yolo_layer OpenCL kernel Change-Id: Ibab2095a1a5b525c8513f924cd5bcecd5172ed48 Signed-off-by: Michele Di Giorgio Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5467 Reviewed-by: Giorgio Arena Reviewed-by: Georgios Pinitas Tested-by: Arm Jenkins --- src/core/CL/CLKernelLibrary.cpp | 6 - src/core/CL/cl_kernels/yolo_layer.cl | 172 --------------------- .../yolo/v2/YOLOV2ActivationLayerDataset.h | 109 ------------- .../yolo/v2/YOLOV2BatchNormalizationLayerDataset.h | 70 --------- .../yolo/v2/YOLOV2ConvolutionLayerDataset.h | 76 --------- .../yolo/v2/YOLOV2PoolingLayerDataset.h | 60 ------- 6 files changed, 493 deletions(-) delete mode 100644 src/core/CL/cl_kernels/yolo_layer.cl delete mode 100644 tests/datasets/system_tests/yolo/v2/YOLOV2ActivationLayerDataset.h delete mode 100644 tests/datasets/system_tests/yolo/v2/YOLOV2BatchNormalizationLayerDataset.h delete mode 100644 tests/datasets/system_tests/yolo/v2/YOLOV2ConvolutionLayerDataset.h delete mode 100644 tests/datasets/system_tests/yolo/v2/YOLOV2PoolingLayerDataset.h diff --git a/src/core/CL/CLKernelLibrary.cpp b/src/core/CL/CLKernelLibrary.cpp index 33b5ad0c6e..bb059bbc26 100644 --- a/src/core/CL/CLKernelLibrary.cpp +++ b/src/core/CL/CLKernelLibrary.cpp @@ -491,8 +491,6 @@ const std::map CLKernelLibrary::_kernel_program_map = { "winograd_output_transform_2x2_7x7_nhwc", "winograd_output_transform.cl" }, { "winograd_output_transform_2x1_7x1_nhwc", "winograd_output_transform.cl" }, { "winograd_output_transform_1x2_1x7_nhwc", "winograd_output_transform.cl" }, - { "yolo_layer_nchw", "yolo_layer.cl" }, - { "yolo_layer_nhwc", "yolo_layer.cl" }, }; const std::map CLKernelLibrary::_program_source_map = @@ -854,10 +852,6 @@ const std::map CLKernelLibrary::_program_source_map = "winograd_output_transform.cl", #include "./cl_kernels/winograd_output_transform.clembed" }, - { - "yolo_layer.cl", -#include "./cl_kernels/yolo_layer.clembed" - }, #endif /* EMBEDDED_KERNELS */ }; diff --git a/src/core/CL/cl_kernels/yolo_layer.cl b/src/core/CL/cl_kernels/yolo_layer.cl deleted file mode 100644 index 9601dddf67..0000000000 --- a/src/core/CL/cl_kernels/yolo_layer.cl +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (c) 2018-2020 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#if defined(DATA_TYPE) && defined(ACTIVATION_TYPE) && defined(NUM_CLASSES) && defined(VEC_SIZE) - -#include "activation_float_helpers.h" - -#define SELECT_TYPE SELECT_VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE) - -#if VEC_SIZE != 1 -#define TYPE VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE) - -/** This performs a YOLO partial activation function for NCHW data layout - * - * @note In order to perform the activation function "in-place", the pre-processor -DIN_PLACE must be passed at compile time - * - * @note Datatype should be given as a preprocessor argument using -DDATA_TYPE=type. e.g. -DDATA_TYPE=short - * @note Vector size should be given as a preprocessor argument using -DVEC_SIZE=size. e.g. -DVEC_SIZE=16 - * @note Activation function should be given as a preprocessor argument using -DACTIVATION_TYPE=name. e.g. -DACTIVATION_TYPE=TANH - * @note The number of classes should be given as a preprocessor argument using -DNUM_CLASSES=num. e.g. -DNUM_CLASSES=80 - * @note A, B variables required by some activation functions are set using -DA_VAL= and -DB_VAL= respectively. - * - * @param[in] input_ptr Pointer to the source tensor. Supported data types: F16/F32 - * @param[in] input_stride_x Stride of the source tensor in X dimension (in bytes) - * @param[in] input_step_x input_stride_x * number of elements along X processed per workitem(in bytes) - * @param[in] input_stride_y Stride of the source tensor in Y dimension (in bytes) - * @param[in] input_step_y input_stride_y * number of elements along Y processed per workitem(in bytes) - * @param[in] input_stride_z Stride of the source tensor in Z dimension (in bytes) - * @param[in] input_step_z input_stride_z * number of elements along Z processed per workitem(in bytes) - * @param[in] input_offset_first_element_in_bytes The offset of the first element in the source tensor - * @param[out] output_ptr (Optional) Pointer to the destination tensor. Supported data types: same as @p input_ptr - * @param[in] output_stride_x (Optional) Stride of the destination tensor in X dimension (in bytes) - * @param[in] output_step_x (Optional) output_stride_x * number of elements along X processed per workitem(in bytes) - * @param[in] output_stride_y (Optional) Stride of the destination tensor in Y dimension (in bytes) - * @param[in] output_step_y (Optional) output_stride_y * number of elements along Y processed per workitem(in bytes) - * @param[in] output_stride_z (Optional) Stride of the source tensor in Z dimension (in bytes) - * @param[in] output_step_z (Optional) output_stride_z * number of elements along Z processed per workitem(in bytes) - * @param[in] output_offset_first_element_in_bytes (Optional) The offset of the first element in the destination tensor - */ -__kernel void yolo_layer_nchw( - TENSOR3D_DECLARATION(input) -#ifndef IN_PLACE - , - TENSOR3D_DECLARATION(output) -#endif /* not IN_PLACE */ -) -{ - // Get pixels pointer - Tensor3D input = CONVERT_TO_TENSOR3D_STRUCT(input); -#ifdef IN_PLACE - Tensor3D output = input; -#else /* IN_PLACE */ - Tensor3D output = CONVERT_TO_TENSOR3D_STRUCT(output); -#endif /* IN_PLACE */ - - const int box_ch_id = get_global_id(2) % (NUM_CLASSES + 5); - const bool activate = box_ch_id != 2 && box_ch_id != 3; - - if(activate) - { - // Load data - TYPE data = VLOAD(VEC_SIZE)(0, (__global DATA_TYPE *)input.ptr); - data = ACTIVATION(ACTIVATION_TYPE, DATA_TYPE, VEC_SIZE, data, A_VAL, B_VAL); // select(1.0f, ACTIVATION_OP(ACTIVATION_TYPE, data), (SELECT_TYPE)activate); - - // Store result - VSTORE(VEC_SIZE) - (data, 0, (__global DATA_TYPE *)output.ptr); - } -#ifndef IN_PLACE - else - { - // Load data - TYPE data = VLOAD(VEC_SIZE)(0, (__global DATA_TYPE *)input.ptr); - - // Store result - VSTORE(VEC_SIZE) - (data, 0, (__global DATA_TYPE *)output.ptr); - } -#endif // IN_PLACE -} - -#else // VEC_SIZE != 1 - -/** This performs a YOLO partial activation function for NCHW data layout - * - * @note In order to perform the activation function "in-place", the pre-processor -DIN_PLACE must be passed at compile time - * - * @note Datatype should be given as a preprocessor argument using -DDATA_TYPE=type. e.g. -DDATA_TYPE=short - * @note Vector size should be given as a preprocessor argument using -DVEC_SIZE=size. e.g. -DVEC_SIZE=1 - * @note Activation function should be given as a preprocessor argument using -DACTIVATION_TYPE=name. e.g. -DACTIVATION_TYPE=TANH - * @note The number of classes should be given as a preprocessor argument using -DNUM_CLASSES=num. e.g. -DNUM_CLASSES=80 - * @note A, B variables required by some activation functions are set using -DA_VAL= and -DB_VAL= respectively. - * - * @param[in] input_ptr Pointer to the source tensor. Supported data types: F16/F32 - * @param[in] input_stride_x Stride of the source tensor in X dimension (in bytes) - * @param[in] input_step_x input_stride_x * number of elements along X processed per workitem(in bytes) - * @param[in] input_stride_y Stride of the source tensor in Y dimension (in bytes) - * @param[in] input_step_y input_stride_y * number of elements along Y processed per workitem(in bytes) - * @param[in] input_stride_z Stride of the source tensor in Z dimension (in bytes) - * @param[in] input_step_z input_stride_z * number of elements along Z processed per workitem(in bytes) - * @param[in] input_offset_first_element_in_bytes The offset of the first element in the source tensor - * @param[out] output_ptr (Optional) Pointer to the destination tensor. Supported data types: same as @p input_ptr - * @param[in] output_stride_x (Optional) Stride of the destination tensor in X dimension (in bytes) - * @param[in] output_step_x (Optional) output_stride_x * number of elements along X processed per workitem(in bytes) - * @param[in] output_stride_y (Optional) Stride of the destination tensor in Y dimension (in bytes) - * @param[in] output_step_y (Optional) output_stride_y * number of elements along Y processed per workitem(in bytes) - * @param[in] output_stride_z (Optional) Stride of the source tensor in Z dimension (in bytes) - * @param[in] output_step_z (Optional) output_stride_z * number of elements along Z processed per workitem(in bytes) - * @param[in] output_offset_first_element_in_bytes (Optional) The offset of the first element in the destination tensor - */ -__kernel void yolo_layer_nhwc( - TENSOR3D_DECLARATION(input) -#ifndef IN_PLACE - , - TENSOR3D_DECLARATION(output) -#endif /* not IN_PLACE */ -) -{ - // Get pixels pointer - Tensor3D input = CONVERT_TO_TENSOR3D_STRUCT(input); -#ifdef IN_PLACE - Tensor3D output = input; -#else /* IN_PLACE */ - Tensor3D output = CONVERT_TO_TENSOR3D_STRUCT(output); -#endif /* IN_PLACE */ - - const int box_ch_id = get_global_id(0) % (NUM_CLASSES + 5); - const bool activate = box_ch_id != 2 && box_ch_id != 3; - - if(activate) - { - // Load data - DATA_TYPE data = *((__global DATA_TYPE *)input.ptr); - data = select(data, ACTIVATION(ACTIVATION_TYPE, DATA_TYPE, VEC_SIZE, data, A_VAL, B_VAL), (SELECT_TYPE)activate); - - // Store result - *((__global DATA_TYPE *)output.ptr) = data; - } -#ifndef IN_PLACE - else - { - // Load data - DATA_TYPE data = *((__global DATA_TYPE *)input.ptr); - - // Store result - *((__global DATA_TYPE *)output.ptr) = data; - } -#endif // IN_PLACE -} - -#endif // VEC_SIZE != 1 -#endif // defined(DATA_TYPE) && defined(ACTIVATION_TYPE) && defined(NUM_CLASSES) && defined(VEC_SIZE) diff --git a/tests/datasets/system_tests/yolo/v2/YOLOV2ActivationLayerDataset.h b/tests/datasets/system_tests/yolo/v2/YOLOV2ActivationLayerDataset.h deleted file mode 100644 index ec6f470dd7..0000000000 --- a/tests/datasets/system_tests/yolo/v2/YOLOV2ActivationLayerDataset.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 2017 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef ARM_COMPUTE_TEST_YOLOV2_ACTIVATION_LAYER_DATASET -#define ARM_COMPUTE_TEST_YOLOV2_ACTIVATION_LAYER_DATASET - -#include "tests/framework/datasets/Datasets.h" - -#include "utils/TypePrinter.h" - -#include "arm_compute/core/TensorShape.h" -#include "arm_compute/core/Types.h" - -namespace arm_compute -{ -namespace test -{ -namespace datasets -{ -class YOLOV2ActivationLayerRELUDataset final : public - framework::dataset::CartesianProductDataset, framework::dataset::SingletonDataset> -{ -public: - YOLOV2ActivationLayerRELUDataset() - : CartesianProductDataset - { - framework::dataset::make("Shape", { // relu1 - TensorShape(416U, 416U, 32U), - // relu2 - TensorShape(208U, 208U, 64U), - // relu3, relu5 - TensorShape(104U, 104U, 128U), - // relu4 - TensorShape(104U, 104U, 64U), - // relu6, relu8 - TensorShape(52U, 52U, 256U), - // relu7 - TensorShape(52U, 52U, 128U), - // relu9, relu11, relu13 - TensorShape(26U, 26U, 512U), - // relu10, relu12 - TensorShape(26U, 26U, 256U), - // relu14, relu16, relu18, relu19, relu20, relu21 - TensorShape(13U, 13U, 1024U), - // relu15, relu17 - TensorShape(13U, 13U, 512U) }), - framework::dataset::make("Info", ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::RELU)) - } - { - } - YOLOV2ActivationLayerRELUDataset(YOLOV2ActivationLayerRELUDataset &&) = default; - ~YOLOV2ActivationLayerRELUDataset() = default; -}; - -class YOLOV2ActivationLayerLINEARDataset final : public - framework::dataset::CartesianProductDataset, framework::dataset::SingletonDataset> -{ -public: - YOLOV2ActivationLayerLINEARDataset() - : CartesianProductDataset - { - framework::dataset::make("Shape", { // linear22 - TensorShape(15U, 15U, 425U) }), - framework::dataset::make("Info", ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::LINEAR)) - } - { - } - YOLOV2ActivationLayerLINEARDataset(YOLOV2ActivationLayerLINEARDataset &&) = default; - ~YOLOV2ActivationLayerLINEARDataset() = default; -}; - -class YOLOV2ActivationLayerDataset final : public framework::dataset::JoinDataset -{ -public: - YOLOV2ActivationLayerDataset() - : JoinDataset - { - YOLOV2ActivationLayerRELUDataset(), - YOLOV2ActivationLayerLINEARDataset() - } - { - } - YOLOV2ActivationLayerDataset(YOLOV2ActivationLayerDataset &&) = default; - ~YOLOV2ActivationLayerDataset() = default; -}; -} // namespace datasets -} // namespace test -} // namespace arm_compute -#endif /* ARM_COMPUTE_TEST_YOLOV2_ACTIVATION_LAYER_DATASET */ diff --git a/tests/datasets/system_tests/yolo/v2/YOLOV2BatchNormalizationLayerDataset.h b/tests/datasets/system_tests/yolo/v2/YOLOV2BatchNormalizationLayerDataset.h deleted file mode 100644 index 9997ffc0c0..0000000000 --- a/tests/datasets/system_tests/yolo/v2/YOLOV2BatchNormalizationLayerDataset.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2017 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef ARM_COMPUTE_TEST_YOLOV2_BATCHNORMALIZATION_LAYER_DATASET -#define ARM_COMPUTE_TEST_YOLOV2_BATCHNORMALIZATION_LAYER_DATASET - -#include "tests/datasets/BatchNormalizationLayerDataset.h" - -#include "utils/TypePrinter.h" - -#include "arm_compute/core/TensorShape.h" -#include "arm_compute/core/Types.h" - -namespace arm_compute -{ -namespace test -{ -namespace datasets -{ -class YOLOV2BatchNormalizationLayerDataset final : public BatchNormalizationLayerDataset -{ -public: - YOLOV2BatchNormalizationLayerDataset() - { - // conv1_bn - add_config(TensorShape(416U, 416U, 32U), TensorShape(32U), 0.00001f); - // conv2_bn - add_config(TensorShape(208U, 208U, 64U), TensorShape(64U), 0.00001f); - // conv3_bn, conv5_bn - add_config(TensorShape(104U, 104U, 128U), TensorShape(128U), 0.00001f); - // conv4_bn - add_config(TensorShape(104U, 104U, 64U), TensorShape(64U), 0.00001f); - // conv6_bn, conv8_bn - add_config(TensorShape(52U, 52U, 256U), TensorShape(256U), 0.00001f); - // conv7_bn - add_config(TensorShape(52U, 52U, 128U), TensorShape(128U), 0.00001f); - // conv9_bn, conv11_bn, conv13_bn - add_config(TensorShape(26U, 26U, 512U), TensorShape(512U), 0.00001f); - // conv10_bn, conv12_bn - add_config(TensorShape(26U, 26U, 256U), TensorShape(256U), 0.00001f); - // conv14_bn, conv16_bn, conv18_bn, conv19_bn, conv20_bn, conv21_bn - add_config(TensorShape(13U, 13U, 1024U), TensorShape(1024U), 0.00001f); - // conv15_bn, conv17_bn - add_config(TensorShape(13U, 13U, 512U), TensorShape(512U), 0.00001f); - } -}; -} // namespace datasets -} // namespace test -} // namespace arm_compute -#endif /* ARM_COMPUTE_TEST_YOLOV2_BATCHNORMALIZATION_LAYER_DATASET */ diff --git a/tests/datasets/system_tests/yolo/v2/YOLOV2ConvolutionLayerDataset.h b/tests/datasets/system_tests/yolo/v2/YOLOV2ConvolutionLayerDataset.h deleted file mode 100644 index 67d57bf680..0000000000 --- a/tests/datasets/system_tests/yolo/v2/YOLOV2ConvolutionLayerDataset.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2017 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef ARM_COMPUTE_TEST_YOLOV2_CONVOLUTION_LAYER_DATASET -#define ARM_COMPUTE_TEST_YOLOV2_CONVOLUTION_LAYER_DATASET - -#include "tests/datasets/ConvolutionLayerDataset.h" - -#include "utils/TypePrinter.h" - -#include "arm_compute/core/TensorShape.h" -#include "arm_compute/core/Types.h" - -namespace arm_compute -{ -namespace test -{ -namespace datasets -{ -class YOLOV2ConvolutionLayerDataset final : public ConvolutionLayerDataset -{ -public: - YOLOV2ConvolutionLayerDataset() - { - // conv1 - add_config(TensorShape(416U, 416U, 3U), TensorShape(3U, 3U, 3U, 32U), TensorShape(32U), TensorShape(416U, 416U, 32U), PadStrideInfo(1, 1, 1, 1)); - // conv2 - add_config(TensorShape(208U, 208U, 32U), TensorShape(3U, 3U, 32U, 64U), TensorShape(64U), TensorShape(208U, 208U, 64U), PadStrideInfo(1, 1, 1, 1)); - // conv3, conv5 - add_config(TensorShape(104U, 104U, 64U), TensorShape(3U, 3U, 64U, 128U), TensorShape(128U), TensorShape(104U, 104U, 128U), PadStrideInfo(1, 1, 1, 1)); - // conv4 - add_config(TensorShape(104U, 104U, 128U), TensorShape(1U, 1U, 128U, 64U), TensorShape(64U), TensorShape(104U, 104U, 64U), PadStrideInfo(1, 1, 0, 0)); - // conv6, conv8 - add_config(TensorShape(52U, 52U, 128U), TensorShape(3U, 3U, 128U, 256U), TensorShape(256U), TensorShape(52U, 52U, 256U), PadStrideInfo(1, 1, 1, 1)); - // conv7 - add_config(TensorShape(52U, 52U, 256U), TensorShape(1U, 1U, 256U, 128U), TensorShape(128U), TensorShape(52U, 52U, 128U), PadStrideInfo(1, 1, 0, 0)); - // conv9, conv11, conv13 - add_config(TensorShape(26U, 26U, 256U), TensorShape(3U, 3U, 256U, 512U), TensorShape(512U), TensorShape(26U, 26U, 512U), PadStrideInfo(1, 1, 1, 1)); - // conv10, conv12 - add_config(TensorShape(26U, 26U, 512U), TensorShape(1U, 1U, 512U, 256U), TensorShape(256U), TensorShape(26U, 26U, 256U), PadStrideInfo(1, 1, 0, 0)); - // conv14, conv16, conv18 - add_config(TensorShape(13U, 13U, 512U), TensorShape(3U, 3U, 512U, 1024U), TensorShape(1024U), TensorShape(13U, 13U, 1024U), PadStrideInfo(1, 1, 1, 1)); - // conv15, conv17 - add_config(TensorShape(13U, 13U, 1024U), TensorShape(1U, 1U, 1024U, 512U), TensorShape(512U), TensorShape(13U, 13U, 512U), PadStrideInfo(1, 1, 0, 0)); - // conv19, conv20 - add_config(TensorShape(13U, 13U, 1024U), TensorShape(3U, 3U, 1024U, 1024U), TensorShape(1024U), TensorShape(13U, 13U, 1024U), PadStrideInfo(1, 1, 1, 1)); - // conv21 - add_config(TensorShape(13U, 13U, 3072U), TensorShape(3U, 3U, 3072U, 1024U), TensorShape(1024U), TensorShape(13U, 13U, 1024U), PadStrideInfo(1, 1, 1, 1)); - // conv22 - add_config(TensorShape(13U, 13U, 1024U), TensorShape(1U, 1U, 1024U, 425U), TensorShape(425U), TensorShape(13U, 13U, 425U), PadStrideInfo(1, 1, 0, 0)); - } -}; -} // namespace datasets -} // namespace test -} // namespace arm_compute -#endif /* ARM_COMPUTE_TEST_YOLOV2_CONVOLUTION_LAYER_DATASET */ diff --git a/tests/datasets/system_tests/yolo/v2/YOLOV2PoolingLayerDataset.h b/tests/datasets/system_tests/yolo/v2/YOLOV2PoolingLayerDataset.h deleted file mode 100644 index 88cac5e449..0000000000 --- a/tests/datasets/system_tests/yolo/v2/YOLOV2PoolingLayerDataset.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2017-2018 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#ifndef ARM_COMPUTE_TEST_YOLOV2_POOLING_LAYER_DATASET -#define ARM_COMPUTE_TEST_YOLOV2_POOLING_LAYER_DATASET - -#include "tests/datasets/PoolingLayerDataset.h" - -#include "utils/TypePrinter.h" - -#include "arm_compute/core/TensorShape.h" -#include "arm_compute/core/Types.h" - -namespace arm_compute -{ -namespace test -{ -namespace datasets -{ -class YOLOV2PoolingLayerDataset final : public PoolingLayerDataset -{ -public: - YOLOV2PoolingLayerDataset() - { - // pool1 - add_config(TensorShape(416U, 416U, 32U), PoolingLayerInfo(PoolingType::MAX, 2, PadStrideInfo(2, 2, 0, 0, DimensionRoundingType::CEIL))); - // pool2 - add_config(TensorShape(208U, 208U, 64U), PoolingLayerInfo(PoolingType::MAX, 2, PadStrideInfo(2, 2, 0, 0, DimensionRoundingType::CEIL))); - // pool5 - add_config(TensorShape(104U, 104U, 128U), PoolingLayerInfo(PoolingType::MAX, 2, PadStrideInfo(2, 2, 0, 0, DimensionRoundingType::CEIL))); - // pool8 - add_config(TensorShape(52U, 52U, 256U), PoolingLayerInfo(PoolingType::MAX, 2, PadStrideInfo(2, 2, 0, 0, DimensionRoundingType::CEIL))); - // pool13 - add_config(TensorShape(26U, 26U, 512U), PoolingLayerInfo(PoolingType::MAX, 2, PadStrideInfo(2, 2, 0, 0, DimensionRoundingType::CEIL))); - } -}; -} // namespace datasets -} // namespace test -} // namespace arm_compute -#endif /* ARM_COMPUTE_TEST_YOLOV2_POOLING_LAYER_DATASET */ -- cgit v1.2.1