diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2019-07-02 17:25:47 +0100 |
---|---|---|
committer | Áron Virginás-Tar <aron.virginas-tar@arm.com> | 2019-07-12 14:44:27 +0000 |
commit | cc0cefb6ca2abf22fc0128548b93a492df530705 (patch) | |
tree | 3b87a05e2b83ee432a04b7c43f769e0a572a2a5c /src/backends/cl/ClLayerSupport.cpp | |
parent | 59c6670cac0aac1fedf426fb19ccd578da6f9f55 (diff) | |
download | armnn-cc0cefb6ca2abf22fc0128548b93a492df530705.tar.gz |
IVGCVSW-3296 Add CL backend support for ResizeNearestNeighbour
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I7f4c722141837939fd8904c52e75704a15c8a5e3
Diffstat (limited to 'src/backends/cl/ClLayerSupport.cpp')
-rw-r--r-- | src/backends/cl/ClLayerSupport.cpp | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index 6d9b197679..7eb1dcf39a 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -40,6 +40,7 @@ #include "workloads/ClPermuteWorkload.hpp" #include "workloads/ClPooling2dWorkload.hpp" #include "workloads/ClPreluWorkload.hpp" +#include "workloads/ClResizeWorkload.hpp" #include "workloads/ClQuantizeWorkload.hpp" #include "workloads/ClSoftmaxBaseWorkload.hpp" #include "workloads/ClSpaceToBatchNdWorkload.hpp" @@ -570,28 +571,22 @@ bool ClLayerSupport::IsResizeSupported(const TensorInfo& input, const ResizeDescriptor& descriptor, Optional<std::string&> reasonIfUnsupported) const { - ignore_unused(output); - - if (descriptor.m_Method == ResizeMethod::Bilinear) - { - return IsSupportedForDataTypeCl(reasonIfUnsupported, - input.GetDataType(), - &TrueFunc<>, - &FalseFuncU8<>); - } - - return false; + FORWARD_WORKLOAD_VALIDATE_FUNC(ClResizeWorkloadValidate, reasonIfUnsupported, input, output, descriptor); } bool ClLayerSupport::IsResizeBilinearSupported(const TensorInfo& input, const TensorInfo& output, Optional<std::string&> reasonIfUnsupported) const { - ignore_unused(output); - return IsSupportedForDataTypeCl(reasonIfUnsupported, - input.GetDataType(), - &TrueFunc<>, - &FalseFuncU8<>); + ResizeDescriptor descriptor; + descriptor.m_Method = ResizeMethod::Bilinear; + descriptor.m_DataLayout = DataLayout::NCHW; + + const TensorShape& outputShape = output.GetShape(); + descriptor.m_TargetHeight = outputShape[2]; + descriptor.m_TargetWidth = outputShape[3]; + + return IsResizeSupported(input, output, descriptor, reasonIfUnsupported); } bool ClLayerSupport::IsSoftmaxSupported(const TensorInfo& input, |