diff options
author | Matthew Sloyan <matthew.sloyan@arm.com> | 2020-12-16 12:50:01 +0000 |
---|---|---|
committer | Jim Flynn <jim.flynn@arm.com> | 2020-12-17 12:20:58 +0000 |
commit | 7515d0730acc926316886a85401bcd36f640627e (patch) | |
tree | 97b312e641e7419b14dd6f7b1686afc6b56e788b /delegate/src/test/ActivationTestHelper.hpp | |
parent | df82f3abc8acc90acfd56f18744a8cae201a759a (diff) | |
download | armnn-7515d0730acc926316886a85401bcd36f640627e.tar.gz |
IVGCVSW-5614 Enable Hard Swish and Elu activations
* Enabled Hard Swish and Elu in TfLiteDelegate
* Added support for Elu in TfLiteParser
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: If09321b58568a98e14cabce610a1586556da041e
Diffstat (limited to 'delegate/src/test/ActivationTestHelper.hpp')
-rw-r--r-- | delegate/src/test/ActivationTestHelper.hpp | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/delegate/src/test/ActivationTestHelper.hpp b/delegate/src/test/ActivationTestHelper.hpp index 2368a36931..0f4d944685 100644 --- a/delegate/src/test/ActivationTestHelper.hpp +++ b/delegate/src/test/ActivationTestHelper.hpp @@ -5,6 +5,8 @@ #pragma once +#include "TestUtils.hpp" + #include <armnn_delegate.hpp> #include <flatbuffers/flatbuffers.h> @@ -79,7 +81,7 @@ void ActivationTest(tflite::BuiltinOperator activationOperatorCode, std::vector<float>& expectedOutputValues) { using namespace tflite; - const std::vector<int32_t> inputShape { { 4, 1, 4} }; + std::vector<int32_t> inputShape { { 4, 1, 4} }; std::vector<char> modelBuffer = CreateActivationTfLiteModel(activationOperatorCode, ::tflite::TensorType_FLOAT32, inputShape); @@ -108,33 +110,21 @@ void ActivationTest(tflite::BuiltinOperator activationOperatorCode, CHECK(armnnDelegateInterpreter->ModifyGraphWithDelegate(theArmnnDelegate.get()) == kTfLiteOk); // Set input data - auto tfLiteDelegateInputId = tfLiteInterpreter->inputs()[0]; - auto tfLiteDelageInputData = tfLiteInterpreter->typed_tensor<float>(tfLiteDelegateInputId); - for (unsigned int i = 0; i < inputValues.size(); ++i) - { - tfLiteDelageInputData[i] = inputValues[i]; - } - - auto armnnDelegateInputId = armnnDelegateInterpreter->inputs()[0]; - auto armnnDelegateInputData = armnnDelegateInterpreter->typed_tensor<float>(armnnDelegateInputId); - for (unsigned int i = 0; i < inputValues.size(); ++i) - { - armnnDelegateInputData[i] = inputValues[i]; - } + armnnDelegate::FillInput<float>(tfLiteInterpreter, 0, inputValues); + armnnDelegate::FillInput<float>(armnnDelegateInterpreter, 0, inputValues); + // Run EnqueWorkload CHECK(tfLiteInterpreter->Invoke() == kTfLiteOk); CHECK(armnnDelegateInterpreter->Invoke() == kTfLiteOk); // Compare output data - auto tfLiteDelegateOutputId = tfLiteInterpreter->outputs()[0]; - auto tfLiteDelageOutputData = tfLiteInterpreter->typed_tensor<float>(tfLiteDelegateOutputId); - auto armnnDelegateOutputId = armnnDelegateInterpreter->outputs()[0]; - auto armnnDelegateOutputData = armnnDelegateInterpreter->typed_tensor<float>(armnnDelegateOutputId); - for (size_t i = 0; i < inputValues.size(); i++) - { - CHECK(expectedOutputValues[i] == doctest::Approx(armnnDelegateOutputData[i])); - CHECK(tfLiteDelageOutputData[i] == doctest::Approx(armnnDelegateOutputData[i])); - } + armnnDelegate::CompareOutputData<float>(tfLiteInterpreter, + armnnDelegateInterpreter, + inputShape, + expectedOutputValues); + + tfLiteInterpreter.reset(nullptr); + armnnDelegateInterpreter.reset(nullptr); } } // anonymous namespace
\ No newline at end of file |