aboutsummaryrefslogtreecommitdiff
path: root/delegate/src/test/ActivationTestHelper.hpp
diff options
context:
space:
mode:
authorMatthew Sloyan <matthew.sloyan@arm.com>2020-12-16 12:50:01 +0000
committerJim Flynn <jim.flynn@arm.com>2020-12-17 12:20:58 +0000
commit7515d0730acc926316886a85401bcd36f640627e (patch)
tree97b312e641e7419b14dd6f7b1686afc6b56e788b /delegate/src/test/ActivationTestHelper.hpp
parentdf82f3abc8acc90acfd56f18744a8cae201a759a (diff)
downloadarmnn-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.hpp36
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