aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/kernels/maximum.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/lite/kernels/maximum.cc')
-rw-r--r--tensorflow/contrib/lite/kernels/maximum.cc106
1 files changed, 0 insertions, 106 deletions
diff --git a/tensorflow/contrib/lite/kernels/maximum.cc b/tensorflow/contrib/lite/kernels/maximum.cc
deleted file mode 100644
index 9fdf2b47ea..0000000000
--- a/tensorflow/contrib/lite/kernels/maximum.cc
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-#include <string.h>
-#include <vector>
-#include "tensorflow/contrib/lite/builtin_op_data.h"
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/kernels/internal/reference/reference_ops.h"
-#include "tensorflow/contrib/lite/kernels/internal/tensor.h"
-#include "tensorflow/contrib/lite/kernels/kernel_util.h"
-#include "tensorflow/contrib/lite/kernels/op_macros.h"
-
-namespace tflite {
-namespace ops {
-namespace builtin {
-namespace maximum {
-
-// This file has a reference implemenation of TFMaximum.
-enum KernelType {
- kReference,
-};
-
-constexpr int kInputTensor1 = 0;
-constexpr int kInputTensor2 = 1;
-constexpr int kOutputTensor = 0;
-
-struct MaximumContext {
- MaximumContext(TfLiteContext* context, TfLiteNode* node) {
- input1 = GetInput(context, node, kInputTensor1);
- input2 = GetInput(context, node, kInputTensor2);
- output = GetOutput(context, node, kOutputTensor);
- }
- TfLiteTensor* input1;
- TfLiteTensor* input2;
- TfLiteTensor* output;
-};
-
-TfLiteStatus Prepare(TfLiteContext* context, TfLiteNode* node) {
- TF_LITE_ENSURE_EQ(context, NumInputs(node), 2);
- TF_LITE_ENSURE_EQ(context, NumOutputs(node), 1);
-
- MaximumContext op_context(context, node);
- TF_LITE_ENSURE_EQ(context, op_context.input1->type, op_context.input2->type);
- TfLiteIntArray* output_dims = TfLiteIntArrayCopy(op_context.input2->dims);
- op_context.output->type = op_context.input2->type;
- return context->ResizeTensor(context, op_context.output, output_dims);
-}
-
-template <KernelType kernel_type>
-TfLiteStatus Eval(TfLiteContext* context, TfLiteNode* node) {
- MaximumContext op_context(context, node);
-
-#define TF_LITE_MAXIMUM(kernel_type, data_type) \
- kernel_type::TensorFlowMaximum<data_type>( \
- GetTensorData<data_type>(op_context.input1), \
- GetTensorDims(op_context.input1), \
- GetTensorData<data_type>(op_context.input2), \
- GetTensorDims(op_context.input2), \
- GetTensorData<data_type>(op_context.output), \
- GetTensorDims(op_context.output))
-
- if (kernel_type == kReference) {
- switch (op_context.output->type) {
- case kTfLiteFloat32:
- TF_LITE_MAXIMUM(reference_ops, float);
- break;
- default:
- context->ReportError(context,
- "Type %d is currently not supported by Maximum.",
- op_context.output->type);
- return kTfLiteError;
- }
- } else {
- context->ReportError(context,
- "Type %d is currently not supported by Maximum.",
- op_context.output->type);
- return kTfLiteError;
- }
-#undef TF_LITE_MAXIMUM
- return kTfLiteOk;
-}
-
-} // namespace maximum
-
-TfLiteRegistration* Register_MAXIMUM_REF() {
- static TfLiteRegistration r = {nullptr, nullptr, maximum::Prepare,
- maximum::Eval<maximum::kReference>};
- return &r;
-}
-
-TfLiteRegistration* Register_MAXIMUM() { return Register_MAXIMUM_REF(); }
-
-} // namespace builtin
-} // namespace ops
-} // namespace tflite