From b9070a42a44ec1a0102e2f0b04523d2e96392903 Mon Sep 17 00:00:00 2001 From: Matthew Jackson Date: Thu, 22 Aug 2019 16:13:27 +0100 Subject: COMPMID-2605: Add asymmetric padding support for Deconvolution layer Change-Id: I63b773bdce25f1342ccd3a08ded623a1508f70fe Signed-off-by: Matthew Jackson Reviewed-on: https://review.mlplatform.org/c/1797 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio Reviewed-by: Giuseppe Rossini --- tests/validation/CL/DeconvolutionLayer.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'tests/validation/CL') diff --git a/tests/validation/CL/DeconvolutionLayer.cpp b/tests/validation/CL/DeconvolutionLayer.cpp index 44b3428c52..9dafd1ef89 100644 --- a/tests/validation/CL/DeconvolutionLayer.cpp +++ b/tests/validation/CL/DeconvolutionLayer.cpp @@ -55,6 +55,9 @@ const auto data4x4 = datasets::SmallDeconvolutionShapes() * framework::dataset:: const auto data3x3 = datasets::SmallDeconvolutionShapes() * framework::dataset::make("StrideX", 1, 4) * framework::dataset::make("StrideY", 1, 4) * framework::dataset::make("PadX", 0, 2) * framework::dataset::make("PadY", 0, 2) * framework::dataset::make("NumKernels", { 3 }); +const auto data3x3_asymm = datasets::SmallDeconvolutionShapes() * framework::dataset::make("StrideX", 1, 2) * framework::dataset::make("StrideY", 1, 2) * framework::dataset::make("PadLeft", 0, 1) + * framework::dataset::make("PadRight", 0, 1) * framework::dataset::make("PadTop", 0, 1) * framework::dataset::make("PadBottom", 0, 1) * framework::dataset::make("NumKernels", { 3 }); + const auto data3x3_precommit = datasets::SmallDeconvolutionShapes() * framework::dataset::make("StrideX", 1, 2) * framework::dataset::make("StrideY", 1, 2) * framework::dataset::make("PadX", 0, 2) * framework::dataset::make("PadY", 0, 2) * framework::dataset::make("NumKernels", { 3 }); @@ -120,16 +123,19 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(zip( // *INDENT-ON* template -using CLDeconvolutionLayerFixture4x4 = DeconvolutionValidationFixture; +using CLDeconvolutionLayerFixture4x4 = DeconvolutionValidationFixture; + +template +using CLDeconvolutionLayerFixture3x3 = DeconvolutionValidationFixture; template -using CLDeconvolutionLayerFixture3x3 = DeconvolutionValidationFixture; +using CLDeconvolutionLayerAsymmFixture3x3 = DeconvolutionValidationAsymmFixture; template -using CLDeconvolutionLayerFixture2x2 = DeconvolutionValidationFixture; +using CLDeconvolutionLayerFixture2x2 = DeconvolutionValidationFixture; template -using CLDeconvolutionLayerFixture1x1 = DeconvolutionValidationFixture; +using CLDeconvolutionLayerFixture1x1 = DeconvolutionValidationFixture; TEST_SUITE(Float) TEST_SUITE(FP32) @@ -153,6 +159,14 @@ FIXTURE_DATA_TEST_CASE(RunSmall, CLDeconvolutionLayerFixture3x3, framewor // Validate output validate(CLAccessor(_target), _reference, tolerance_fp32); } +FIXTURE_DATA_TEST_CASE(RunAsymm, CLDeconvolutionLayerAsymmFixture3x3, framework::DatasetMode::NIGHTLY, combine(combine(combine(data3x3_asymm, framework::dataset::make("DataType", + DataType::F32)), + data_layouts_dataset), + add_bias_dataset)) +{ + // Validate output + validate(CLAccessor(_target), _reference, tolerance_fp32); +} FIXTURE_DATA_TEST_CASE(RunLarge, CLDeconvolutionLayerFixture3x3, framework::DatasetMode::NIGHTLY, combine(combine(combine(data3x3, framework::dataset::make("DataType", DataType::F32)), data_layouts_dataset), add_bias_dataset)) -- cgit v1.2.1