aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGian Marco Iodice <gianmarco.iodice@arm.com>2020-10-19 12:49:44 +0100
committerGian Marco Iodice <gianmarco.iodice@arm.com>2020-10-19 15:36:57 +0000
commitbc6c374f5bc6c17c3e9b5462f5f8c3c5a5e8a13e (patch)
tree054f99e6d8e6c266e2bfd8786b8d07ee2ef60587 /tests
parent7333e1f10f5da9dc67b511d326121a843771a107 (diff)
downloadComputeLibrary-bc6c374f5bc6c17c3e9b5462f5f8c3c5a5e8a13e.tar.gz
COMPMID-3740: Remove OpenCL padding: CLWinogradInputTransformKernel
- Remove padding requirement from the OpenCL kernels - Extend test to validate zero padding requirement Change-Id: I1ddf04eba783721858792efb08a2c97f11f7297e Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4206 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/validation/CL/Winograd.cpp39
1 files changed, 38 insertions, 1 deletions
diff --git a/tests/validation/CL/Winograd.cpp b/tests/validation/CL/Winograd.cpp
index 771acf9461..d1522f3e7f 100644
--- a/tests/validation/CL/Winograd.cpp
+++ b/tests/validation/CL/Winograd.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -182,6 +182,29 @@ const auto ActivationFunctionsSmallDataset = framework::dataset::make("Activatio
ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::LEAKY_RELU),
ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::SOFT_RELU)
});
+
+/** Zero padding test */
+bool validate_zero_padding(unsigned int width, unsigned height)
+{
+ TensorShape shape(width, height, 11, 1);
+
+ WinogradInfo winograd_info = WinogradInfo(Size2D(4U, 4U), Size2D(5U, 5U), Size2D(width, height), PadStrideInfo(), DataLayout::NHWC);
+
+ // Create tensors
+ CLTensor src = create_tensor<CLTensor>(shape, DataType::F32, 1, QuantizationInfo(), DataLayout::NHWC);
+ CLTensor dst;
+
+ src.info()->set_quantization_info(QuantizationInfo(1.f / 256.f, 0));
+ dst.info()->set_quantization_info(QuantizationInfo(1.f / 256.f, 0));
+
+ CLWinogradInputTransform input_transform;
+
+ input_transform.configure(&src, &dst, winograd_info);
+
+ // Padding can be added along rhs and bias's X dimension
+ return src.info()->padding().empty() && dst.info()->padding().empty();
+}
+
} // namespace
using namespace arm_compute::misc::shape_calculator;
@@ -190,6 +213,20 @@ TEST_SUITE(CL)
TEST_SUITE(Winograd)
TEST_SUITE(InputTransform)
+
+/** Validate zero padding tests
+ *
+ * A series of validation tests to check that no padding is added
+ */
+DATA_TEST_CASE(ValidateZeroPadding, framework::DatasetMode::ALL, zip(
+framework::dataset::make("Width", { 32U, 37U, 12U, 1U }),
+framework::dataset::make("Height", { 13U, 27U, 19U, 1U })),
+width, height)
+{
+ bool status = validate_zero_padding(width, height);
+ ARM_COMPUTE_EXPECT(status, framework::LogLevel::ERRORS);
+}
+
DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
framework::dataset::make("InputInfo",{
TensorInfo(TensorShape(53U, 21U, 5U, 3U), 1, DataType::F16), // F16 not supported