IVGCVSW-4456 Disable NEON PostDetectionProcess
authorJames Conroy <james.conroy@arm.com>
Fri, 21 Feb 2020 16:52:44 +0000 (16:52 +0000)
committerJames Conroy <james.conroy@arm.com>
Fri, 21 Feb 2020 16:52:44 +0000 (16:52 +0000)
* Reverting to CpuRef workload because it
  currently has better performance.
* Disabling NEON EndToEnd tests.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Idd5314e46c50581ef4bec24e391779188f20951b

src/backends/neon/NeonLayerSupport.cpp
src/backends/neon/NeonLayerSupport.hpp
src/backends/neon/NeonWorkloadFactory.cpp
src/backends/neon/test/NeonEndToEndTests.cpp

index 0db97be..3c161d5 100644 (file)
@@ -29,7 +29,6 @@
 #include "workloads/NeonDepthToSpaceWorkload.hpp"
 #include "workloads/NeonDepthwiseConvolutionWorkload.hpp"
 #include "workloads/NeonDequantizeWorkload.hpp"
-#include "workloads/NeonDetectionPostProcessWorkload.hpp"
 #include "workloads/NeonGreaterWorkload.hpp"
 #include "workloads/NeonInstanceNormalizationWorkload.hpp"
 #include "workloads/NeonL2NormalizationFloatWorkload.hpp"
@@ -338,29 +337,6 @@ bool NeonLayerSupport::IsDequantizeSupported(const TensorInfo& input,
                                    output);
 }
 
-bool NeonLayerSupport::IsDetectionPostProcessSupported(const TensorInfo& boxEncodings,
-                                                       const TensorInfo& scores,
-                                                       const TensorInfo& anchors,
-                                                       const TensorInfo& detectionBoxes,
-                                                       const TensorInfo& detectionClasses,
-                                                       const TensorInfo& detectionScores,
-                                                       const TensorInfo& numDetections,
-                                                       const DetectionPostProcessDescriptor& descriptor,
-                                                       Optional<std::string&> reasonIfUnsupported) const
-{
-    FORWARD_WORKLOAD_VALIDATE_FUNC(NeonDetectionPostProcessValidate,
-                                   reasonIfUnsupported,
-                                   boxEncodings,
-                                   scores,
-                                   anchors,
-                                   detectionBoxes,
-                                   detectionClasses,
-                                   detectionScores,
-                                   numDetections,
-                                   descriptor);
-}
-
-
 bool NeonLayerSupport::IsDilatedDepthwiseConvolutionSupported(const TensorInfo& input,
                                                               const TensorInfo& output,
                                                               const DepthwiseConvolution2dDescriptor& descriptor,
index d4f0051..9cb64ea 100644 (file)
@@ -92,16 +92,6 @@ public:
                                const TensorInfo& output,
                                Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
 
-    bool IsDetectionPostProcessSupported(const TensorInfo& boxEncodings,
-                                         const TensorInfo& scores,
-                                         const TensorInfo& anchors,
-                                         const TensorInfo& detectionBoxes,
-                                         const TensorInfo& detectionClasses,
-                                         const TensorInfo& detectionScores,
-                                         const TensorInfo& numDetections,
-                                         const DetectionPostProcessDescriptor& descriptor,
-                                         Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override;
-
     bool IsDilatedDepthwiseConvolutionSupported(const TensorInfo& input,
                                                 const TensorInfo& output,
                                                 const DepthwiseConvolution2dDescriptor& descriptor,
index 2639850..c3e0dc8 100644 (file)
@@ -210,7 +210,7 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateDequantize(const Dequantiz
 std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateDetectionPostProcess(
     const armnn::DetectionPostProcessQueueDescriptor& descriptor, const armnn::WorkloadInfo& info) const
 {
-    return std::make_unique<NeonDetectionPostProcessWorkload>(descriptor, info);
+    return MakeWorkloadHelper<NullWorkload, NullWorkload>(descriptor, info);
 }
 
 std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateDivision(
index 4e9fe0f..abded64 100644 (file)
@@ -513,7 +513,7 @@ BOOST_AUTO_TEST_CASE(NeonArgMinAxis3TestQuantisedAsymm8)
     ArgMinAxis3EndToEnd<armnn::DataType::QAsymmU8>(defaultBackends);
 }
 
-BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessRegularNmsTest)
+BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessRegularNmsTest, * boost::unit_test::disabled())
 {
     std::vector<float> boxEncodings({
                                         0.0f, 0.0f, 0.0f, 0.0f,
@@ -550,7 +550,7 @@ inline void QuantizeData(uint8_t* quant, const float* dequant, const TensorInfo&
     }
 }
 
-BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessRegularNmsUint8Test)
+BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessRegularNmsUint8Test, * boost::unit_test::disabled())
 {
     armnn::TensorInfo boxEncodingsInfo({ 1, 6, 4 }, armnn::DataType::Float32);
     armnn::TensorInfo scoresInfo({ 1, 6, 3 }, armnn::DataType::Float32);
@@ -599,7 +599,7 @@ BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessRegularNmsUint8Test)
                                                                              1.0f, 1, 0.01f, 0, 0.5f, 0);
 }
 
-BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessFastNmsTest)
+BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessFastNmsTest, * boost::unit_test::disabled())
 {
     std::vector<float> boxEncodings({
                                         0.0f, 0.0f, 0.0f, 0.0f,
@@ -628,7 +628,7 @@ BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessFastNmsTest)
     DetectionPostProcessFastNmsEndToEnd<armnn::DataType::Float32>(defaultBackends, boxEncodings, scores, anchors);
 }
 
-BOOST_AUTO_TEST_CASE(RefDetectionPostProcessFastNmsUint8Test)
+BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessFastNmsUint8Test, * boost::unit_test::disabled())
 {
     armnn::TensorInfo boxEncodingsInfo({ 1, 6, 4 }, armnn::DataType::Float32);
     armnn::TensorInfo scoresInfo({ 1, 6, 3 }, armnn::DataType::Float32);