aboutsummaryrefslogtreecommitdiff
path: root/delegate/src/Activation.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'delegate/src/Activation.hpp')
-rw-r--r--delegate/src/Activation.hpp133
1 files changed, 0 insertions, 133 deletions
diff --git a/delegate/src/Activation.hpp b/delegate/src/Activation.hpp
deleted file mode 100644
index 59066d23e3..0000000000
--- a/delegate/src/Activation.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-//
-// Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include "DelegateUtils.hpp"
-
-#include <tensorflow/lite/builtin_ops.h>
-#include <tensorflow/lite/c/builtin_op_data.h>
-#include <tensorflow/lite/c/common.h>
-#include <tensorflow/lite/minimal_logging.h>
-
-namespace armnnDelegate
-{
-
-TfLiteStatus ValidateActivationOperator(DelegateData& delegateData,
- TfLiteContext* tfLiteContext,
- const armnn::TensorInfo& inputInfo,
- const armnn::TensorInfo& outputInfo,
- armnn::ActivationDescriptor& activationDesc)
-{
- bool isSupported = false;
- auto validateFunc = [&](const armnn::TensorInfo& outputInfo, bool& isSupported)
- {
- FORWARD_LAYER_SUPPORT_FUNC("ACTIVATION",
- tfLiteContext,
- IsActivationSupported,
- delegateData.m_Backends,
- isSupported,
- armnn::BackendId(),
- inputInfo,
- outputInfo,
- activationDesc);
- };
-
- validateFunc(outputInfo, isSupported);
- return isSupported ? kTfLiteOk : kTfLiteError;
-}
-
-TfLiteStatus VisitActivationOperator(DelegateData& delegateData,
- TfLiteContext* tfLiteContext,
- TfLiteNode* tfLiteNode,
- int nodeIndex,
- int32_t operatorCode)
-{
- TF_LITE_ENSURE_STATUS(ValidateNumInputs(tfLiteContext, tfLiteNode, 1, nodeIndex));
- TF_LITE_ENSURE_STATUS(ValidateNumOutputs(tfLiteContext, tfLiteNode, 1, nodeIndex));
-
- const TfLiteTensor* tfLiteTensors = tfLiteContext->tensors;
- const TfLiteTensor& tfLiteInputTensor = tfLiteTensors[tfLiteNode->inputs->data[0]];
- if (!IsValid(tfLiteContext, tfLiteInputTensor, operatorCode, nodeIndex))
- {
- return kTfLiteError;
- }
-
- const TfLiteTensor& tfLiteOutputTensor = tfLiteTensors[tfLiteNode->outputs->data[0]];
- if (!IsValid(tfLiteContext, tfLiteOutputTensor, operatorCode, nodeIndex))
- {
- return kTfLiteError;
- }
-
- const armnn::TensorInfo& inputTensorInfo = GetTensorInfoForTfLiteTensor(tfLiteInputTensor);
- const armnn::TensorInfo& outputTensorInfo = GetTensorInfoForTfLiteTensor(tfLiteOutputTensor, true);
-
- armnn::ActivationDescriptor activationDesc;
- switch(operatorCode)
- {
- case kTfLiteBuiltinRelu:
- {
- activationDesc.m_Function = armnn::ActivationFunction::ReLu;
- break;
- }
- case kTfLiteBuiltinRelu6:
- {
- activationDesc.m_Function = armnn::ActivationFunction::BoundedReLu;
- activationDesc.m_A = 6.0f;
- break;
- }
- case kTfLiteBuiltinLogistic:
- {
- activationDesc.m_Function = armnn::ActivationFunction::Sigmoid;
- break;
- }
- case kTfLiteBuiltinTanh:
- {
- activationDesc.m_Function = armnn::ActivationFunction::TanH;
- activationDesc.m_A = 1.0f;
- activationDesc.m_B = 1.0f;
- break;
- }
- case kTfLiteBuiltinElu:
- {
- activationDesc.m_Function = armnn::ActivationFunction::Elu;
- activationDesc.m_A = 1.0f;
- break;
- }
- case kTfLiteBuiltinHardSwish:
- {
- activationDesc.m_Function = armnn::ActivationFunction::HardSwish;
- break;
- }
- default:
- {
- return kTfLiteError;
- }
- }
- if (!delegateData.m_Network)
- {
- return ValidateActivationOperator(delegateData,
- tfLiteContext,
- inputTensorInfo,
- outputTensorInfo,
- activationDesc);
- }
- armnn::IConnectableLayer* activationLayer = delegateData.m_Network->AddActivationLayer(activationDesc);
- ARMNN_ASSERT(activationLayer != nullptr);
-
- armnn::IOutputSlot& outputSlot = activationLayer->GetOutputSlot(0);
- outputSlot.SetTensorInfo(outputTensorInfo);
-
- // try to connect the Constant Inputs if there are any
- if(ProcessInputs(activationLayer,delegateData, tfLiteContext, tfLiteNode) != kTfLiteOk )
- {
- return kTfLiteError;
- }
-
- // Connect
- return Connect(activationLayer, tfLiteNode, delegateData);
-}
-
-} // namespace armnnDelegate