aboutsummaryrefslogtreecommitdiff
path: root/delegate/src/test/AbsTest.cpp
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-10-27 17:30:18 +0000
committerJim Flynn <jim.flynn@arm.com>2020-10-28 11:56:16 +0000
commit0534e0364473c0b1244f96462cbde1808e92ce81 (patch)
tree454ae9378d1882d945eaa699711c84ba6656f87e /delegate/src/test/AbsTest.cpp
parentbf18a266bf5d0fe74db7cca0f54fb1ae25869da8 (diff)
downloadarmnn-0534e0364473c0b1244f96462cbde1808e92ce81.tar.gz
IVGCVSW-5378 'TfLiteDelegate: Implement the ElementWiseUnary operators '
* Moved ElementwiseUnary operators tests into single file * Implemented FP32 test for supported ElementwiseUnary operators Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I4b7eab190c3c8edb50927b8e1e94dd353597efcb
Diffstat (limited to 'delegate/src/test/AbsTest.cpp')
-rw-r--r--delegate/src/test/AbsTest.cpp98
1 files changed, 0 insertions, 98 deletions
diff --git a/delegate/src/test/AbsTest.cpp b/delegate/src/test/AbsTest.cpp
deleted file mode 100644
index f9c345e6d2..0000000000
--- a/delegate/src/test/AbsTest.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-//
-// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#include "ElementwiseUnaryTestHelper.hpp"
-
-#include <armnn_delegate.hpp>
-
-#include <flatbuffers/flatbuffers.h>
-#include <tensorflow/lite/interpreter.h>
-#include <tensorflow/lite/kernels/register.h>
-#include <tensorflow/lite/model.h>
-#include <tensorflow/lite/schema/schema_generated.h>
-#include <tensorflow/lite/version.h>
-
-#include <doctest/doctest.h>
-
-namespace armnnDelegate
-{
-
-TEST_SUITE("AbsTest")
-{
-
-TEST_CASE ("AbsTestFloat32")
-{
- using namespace tflite;
-
- const std::vector<int32_t> inputShape { { 3, 1, 2} };
- std::vector<char> modelBuffer = CreateElementwiseUnaryTfLiteModel(BuiltinOperator_ABS,
- ::tflite::TensorType_FLOAT32,
- inputShape);
- const Model* tfLiteModel = GetModel(modelBuffer.data());
-
- // Create TfLite Interpreters
- std::unique_ptr<Interpreter> armnnDelegateInterpreter;
- CHECK(InterpreterBuilder(tfLiteModel, ::tflite::ops::builtin::BuiltinOpResolver())
- (&armnnDelegateInterpreter) == kTfLiteOk);
- CHECK(armnnDelegateInterpreter != nullptr);
- CHECK(armnnDelegateInterpreter->AllocateTensors() == kTfLiteOk);
-
- std::unique_ptr<Interpreter> tfLiteInterpreter;
- CHECK(InterpreterBuilder(tfLiteModel, ::tflite::ops::builtin::BuiltinOpResolver())
- (&tfLiteInterpreter) == kTfLiteOk);
- CHECK(tfLiteInterpreter != nullptr);
- CHECK(tfLiteInterpreter->AllocateTensors() == kTfLiteOk);
-
- // Create the ArmNN Delegate
- auto delegateOptions = TfLiteArmnnDelegateOptionsDefault();
- auto armnnDelegate = TfLiteArmnnDelegateCreate(delegateOptions);
- CHECK(armnnDelegate != nullptr);
- // Modify armnnDelegateInterpreter to use armnnDelegate
- CHECK(armnnDelegateInterpreter->ModifyGraphWithDelegate(armnnDelegate) == kTfLiteOk);
-
- // Set input data
- std::vector<float> inputValues
- {
- -0.1f, -0.2f, -0.3f,
- 0.1f, 0.2f, 0.3f
- };
- 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];
- }
-
- // 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(std::abs(inputValues[i]) == armnnDelegateOutputData[i]);
- CHECK(tfLiteDelageOutputData[i] == armnnDelegateOutputData[i]);
- }
-}
-
-}
-
-} // namespace armnnDelegate
-
-
-