diff options
Diffstat (limited to 'delegate')
-rw-r--r-- | delegate/src/Convolution.hpp | 16 | ||||
-rw-r--r-- | delegate/src/Redefine.hpp | 7 | ||||
-rw-r--r-- | delegate/src/test/ElementwiseBinaryTest.cpp | 12 | ||||
-rw-r--r-- | delegate/src/test/ElementwiseUnaryTest.cpp | 40 |
4 files changed, 14 insertions, 61 deletions
diff --git a/delegate/src/Convolution.hpp b/delegate/src/Convolution.hpp index fed084e3a9..2d9fdba122 100644 --- a/delegate/src/Convolution.hpp +++ b/delegate/src/Convolution.hpp @@ -340,6 +340,13 @@ TfLiteStatus VisitDepthwiseConv2dOperator(DelegateData& delegateData, biasTensorInfo = armnn::TensorInfo(armnn::TensorShape({1}), GetDataType(tfLiteInputTensor)); } + std::vector<uint8_t> swizzledData(filterTensorInfo.GetNumBytes()); + auto filter = + CreateConstTensor(&tfLiteFilterTensor, + filterTensorInfo, + armnn::Optional<armnn::PermutationVector&>(permutationVector), + swizzledData.data()); + if (!delegateData.m_Network) { bool isSupported = false; @@ -351,18 +358,13 @@ TfLiteStatus VisitDepthwiseConv2dOperator(DelegateData& delegateData, inputTensorInfo, outputTensorInfo, descriptor, - filterTensorInfo, + filter.GetInfo(), armnn::Optional<armnn::TensorInfo>(biasTensorInfo)); return isSupported ? kTfLiteOk : kTfLiteError; } armnn::IConnectableLayer* layer = nullptr; - std::vector<uint8_t> swizzledData(filterTensorInfo.GetNumBytes()); - auto filter = - CreateConstTensor(&tfLiteFilterTensor, - filterTensorInfo, - armnn::Optional<armnn::PermutationVector&>(permutationVector), - swizzledData.data()); + if(biasEnabled) { auto biases = diff --git a/delegate/src/Redefine.hpp b/delegate/src/Redefine.hpp index fb58ffdf70..91295768d6 100644 --- a/delegate/src/Redefine.hpp +++ b/delegate/src/Redefine.hpp @@ -105,10 +105,13 @@ TfLiteStatus VisitReshapeOperator(DelegateData& delegateData, for (int i=0; i < reshapeOptions->num_dimensions; ++i) { targetShape.push_back(reshapeOptions->shape[i]); - elementCounter = elementCounter * reshapeOptions->shape[i]; + if (reshapeOptions->shape[i] > 0) + { + elementCounter = elementCounter * reshapeOptions->shape[i]; + } } // Check the number of elements match, otherwise fall back to using the second input tensor. - if (elementCounter == inputTensorInfo0.GetNumElements()) + if (elementCounter <= inputTensorInfo0.GetNumElements()) { targetShapeFound = true; } diff --git a/delegate/src/test/ElementwiseBinaryTest.cpp b/delegate/src/test/ElementwiseBinaryTest.cpp index 0ae60a296d..cc447d9fc3 100644 --- a/delegate/src/test/ElementwiseBinaryTest.cpp +++ b/delegate/src/test/ElementwiseBinaryTest.cpp @@ -696,12 +696,6 @@ TEST_CASE ("DIV_Broadcast_GpuAcc_Test") DivBroadcastTest(backends); } -TEST_CASE ("DIV_UINT8_GpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - DivUint8Test(backends); -} - TEST_CASE ("MAX_FP32_GpuAcc_Test") { std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; @@ -823,12 +817,6 @@ TEST_CASE ("DIV_Broadcast_CpuAcc_Test") DivBroadcastTest(backends); } -TEST_CASE ("DIV_UINT8_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - DivUint8Test(backends); -} - TEST_CASE ("MAX_FP32_CpuAcc_Test") { std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; diff --git a/delegate/src/test/ElementwiseUnaryTest.cpp b/delegate/src/test/ElementwiseUnaryTest.cpp index 012ffde057..3200423b10 100644 --- a/delegate/src/test/ElementwiseUnaryTest.cpp +++ b/delegate/src/test/ElementwiseUnaryTest.cpp @@ -103,26 +103,6 @@ TEST_CASE ("Rsqrt_Float32_GpuAcc_Test") ElementwiseUnaryFP32Test(tflite::BuiltinOperator_RSQRT, backends, inputValues, expectedOutputValues); } -TEST_CASE ("Sqrt_Float32_GpuAcc_Test") -{ - // Create the ArmNN Delegate - std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc }; - // Set input data - std::vector<float> inputValues - { - 9.0f, 4.25f, 81.9f, - 0.1f, 0.9f, 169.0f - }; - // Calculate output data - std::vector<float> expectedOutputValues(inputValues.size()); - for (unsigned int i = 0; i < inputValues.size(); ++i) - { - expectedOutputValues[i] = std::sqrt(inputValues[i]); - } - - ElementwiseUnaryFP32Test(tflite::BuiltinOperator_SQRT, backends, inputValues, expectedOutputValues); -} - } // TEST_SUITE("ElementwiseUnary_GpuAccTests") @@ -212,28 +192,8 @@ TEST_CASE ("Rsqrt_Float32_CpuAcc_Test") ElementwiseUnaryFP32Test(tflite::BuiltinOperator_RSQRT, backends, inputValues, expectedOutputValues); } -TEST_CASE ("Sqrt_Float32_CpuAcc_Test") -{ - std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc }; - // Set input data - std::vector<float> inputValues - { - 9.0f, 4.25f, 81.9f, - 0.1f, 0.9f, 169.0f - }; - // Calculate output data - std::vector<float> expectedOutputValues(inputValues.size()); - for (unsigned int i = 0; i < inputValues.size(); ++i) - { - expectedOutputValues[i] = std::sqrt(inputValues[i]); - } - - ElementwiseUnaryFP32Test(tflite::BuiltinOperator_SQRT, backends, inputValues, expectedOutputValues); -} - } // TEST_SUITE("ElementwiseUnary_CpuAccTests") - TEST_SUITE("ElementwiseUnary_CpuRefTests") { |