diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2019-07-01 19:01:44 +0100 |
---|---|---|
committer | Áron Virginás-Tar <aron.virginas-tar@arm.com> | 2019-07-02 13:50:24 +0000 |
commit | 169d2f120cc9021f170fede22a448fd6b66fc979 (patch) | |
tree | a55b62678a85f63c074148d33fae744b22c834a8 /src/backends/neon | |
parent | 38e05bd2836b1b65b440330a9c283038ba4192c3 (diff) | |
download | armnn-169d2f120cc9021f170fede22a448fd6b66fc979.tar.gz |
IVGCVSW-3382 Deprecate ResizeBilinear and use Resize with Bilinear method
!android-nn-driver:1451
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ieedbce1f6e95891137a250fdd07e2f7e4e1f4828
Diffstat (limited to 'src/backends/neon')
-rw-r--r-- | src/backends/neon/NeonLayerSupport.cpp | 16 | ||||
-rw-r--r-- | src/backends/neon/NeonLayerSupport.hpp | 6 | ||||
-rw-r--r-- | src/backends/neon/NeonWorkloadFactory.cpp | 19 | ||||
-rw-r--r-- | src/backends/neon/NeonWorkloadFactory.hpp | 4 |
4 files changed, 45 insertions, 0 deletions
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp index 32027d46e7..e49ad793a1 100644 --- a/src/backends/neon/NeonLayerSupport.cpp +++ b/src/backends/neon/NeonLayerSupport.cpp @@ -471,6 +471,22 @@ bool NeonLayerSupport::IsReshapeSupported(const TensorInfo& input, &TrueFunc<>); } +bool NeonLayerSupport::IsResizeSupported(const TensorInfo& input, + const TensorInfo& output, + const ResizeDescriptor& descriptor, + Optional<std::string&> reasonIfUnsupported) const +{ + if (descriptor.m_Method == ResizeMethod::Bilinear) + { + FORWARD_WORKLOAD_VALIDATE_FUNC(NeonResizeBilinearWorkloadValidate, + reasonIfUnsupported, + input, + output); + } + + return false; +} + bool NeonLayerSupport::IsResizeBilinearSupported(const TensorInfo& input, const TensorInfo& output, Optional<std::string&> reasonIfUnsupported) const diff --git a/src/backends/neon/NeonLayerSupport.hpp b/src/backends/neon/NeonLayerSupport.hpp index 1539ffea93..781da42b75 100644 --- a/src/backends/neon/NeonLayerSupport.hpp +++ b/src/backends/neon/NeonLayerSupport.hpp @@ -157,6 +157,12 @@ public: const ReshapeDescriptor& descriptor, Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; + bool IsResizeSupported(const TensorInfo& input, + const TensorInfo& output, + const ResizeDescriptor& descriptor, + Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; + + ARMNN_DEPRECATED_MSG("Use IsResizeSupported instead") bool IsResizeBilinearSupported(const TensorInfo& input, const TensorInfo& output, Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override; diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp index d784a483f8..a9913186c4 100644 --- a/src/backends/neon/NeonWorkloadFactory.cpp +++ b/src/backends/neon/NeonWorkloadFactory.cpp @@ -218,6 +218,25 @@ std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateMemCopy(const MemCo return MakeWorkloadHelper<CopyMemGenericWorkload, CopyMemGenericWorkload>(descriptor, info); } +std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateResize(const ResizeQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + if (descriptor.m_Parameters.m_Method == ResizeMethod::Bilinear) + { + ResizeBilinearQueueDescriptor resizeBilinearDescriptor; + resizeBilinearDescriptor.m_Inputs = descriptor.m_Inputs; + resizeBilinearDescriptor.m_Outputs = descriptor.m_Outputs; + + resizeBilinearDescriptor.m_Parameters.m_DataLayout = descriptor.m_Parameters.m_DataLayout; + resizeBilinearDescriptor.m_Parameters.m_TargetWidth = descriptor.m_Parameters.m_TargetWidth; + resizeBilinearDescriptor.m_Parameters.m_TargetHeight = descriptor.m_Parameters.m_TargetHeight; + + return std::make_unique<NeonResizeBilinearWorkload>(resizeBilinearDescriptor, info); + } + + return MakeWorkloadHelper<NullWorkload, NullWorkload>(descriptor, info); +} + std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateResizeBilinear( const ResizeBilinearQueueDescriptor& descriptor, const WorkloadInfo& info) const diff --git a/src/backends/neon/NeonWorkloadFactory.hpp b/src/backends/neon/NeonWorkloadFactory.hpp index 4ad52e4835..ebd5001f54 100644 --- a/src/backends/neon/NeonWorkloadFactory.hpp +++ b/src/backends/neon/NeonWorkloadFactory.hpp @@ -92,6 +92,10 @@ public: std::unique_ptr<IWorkload> CreateMemCopy(const MemCopyQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + std::unique_ptr<IWorkload> CreateResize(const ResizeQueueDescriptor& descriptor, + const WorkloadInfo& info) const override; + + ARMNN_DEPRECATED_MSG("Use CreateResize instead") std::unique_ptr<IWorkload> CreateResizeBilinear(const ResizeBilinearQueueDescriptor& descriptor, const WorkloadInfo& info) const override; |