From a0efe6938e216d5cb0601311bf0bf0f2ccb692ca Mon Sep 17 00:00:00 2001 From: Michele Di Giorgio Date: Fri, 30 Jul 2021 10:25:59 +0100 Subject: Reintroduce implementation of NEConvolutionLayer::get_convolution_method Issue caused by the porting of the function to the new API. The method will call down to the new CpuConv2d implementation. Change-Id: I650ad1f17c8b89a637b589e452ca785b5d14e975 Signed-off-by: Michele Di Giorgio Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6027 Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Reviewed-by: Sheri Zhang --- src/runtime/NEON/functions/NEConvolutionLayer.cpp | 8 ++++++++ tests/validation/NEON/ConvolutionLayer.cpp | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/runtime/NEON/functions/NEConvolutionLayer.cpp b/src/runtime/NEON/functions/NEConvolutionLayer.cpp index 0239514b17..6e25b429d4 100644 --- a/src/runtime/NEON/functions/NEConvolutionLayer.cpp +++ b/src/runtime/NEON/functions/NEConvolutionLayer.cpp @@ -124,6 +124,14 @@ Status NEConvolutionLayer::validate(const ITensorInfo *input, const ITensorInfo return Status{}; } +ConvolutionMethod NEConvolutionLayer::get_convolution_method(const ITensorInfo *input, const ITensorInfo *weights, + const ITensorInfo *output, const PadStrideInfo &conv_info, + const WeightsInfo &weights_info, const Size2D &dilation, + const ActivationLayerInfo &act_info, bool enable_fast_math) +{ + return cpu::CpuConv2d::get_convolution_method(input, weights, output, conv_info, weights_info, dilation, act_info, enable_fast_math); +} + void NEConvolutionLayer::run() { prepare(); diff --git a/tests/validation/NEON/ConvolutionLayer.cpp b/tests/validation/NEON/ConvolutionLayer.cpp index e0b411f785..4332db605d 100644 --- a/tests/validation/NEON/ConvolutionLayer.cpp +++ b/tests/validation/NEON/ConvolutionLayer.cpp @@ -29,7 +29,6 @@ #include "arm_compute/runtime/Tensor.h" #include "arm_compute/runtime/TensorAllocator.h" #include "src/core/helpers/MemoryHelpers.h" -#include "src/runtime/cpu/operators/CpuConv2d.h" #include "src/runtime/cpu/operators/CpuGemmConvolution.h" #include "src/runtime/cpu/operators/CpuGemmDirectConv2d.h" #include "src/runtime/cpu/operators/CpuWinogradConv2d.h" @@ -143,7 +142,7 @@ DATA_TEST_CASE(ValidateConvolutionMethod, framework::DatasetMode::ALL, zip(zip(z framework::dataset::make("Expected", { ConvolutionMethod::WINOGRAD, ConvolutionMethod::WINOGRAD, ConvolutionMethod::GEMM, ConvolutionMethod::GEMM })), input_info, weights_info, output_info, conv_info, fast_math, expected) { - ConvolutionMethod is_valid = cpu::CpuConv2d::get_convolution_method(&input_info.clone()->set_is_resizable(true), + ConvolutionMethod is_valid = NEConvolutionLayer::get_convolution_method(&input_info.clone()->set_is_resizable(true), &weights_info.clone()->set_is_resizable(true), &output_info.clone()->set_is_resizable(true), conv_info, WeightsInfo(), Size2D(1U, 1U), ActivationLayerInfo(), fast_math); ARM_COMPUTE_EXPECT(is_valid == expected, framework::LogLevel::ERRORS); -- cgit v1.2.1