diff options
-rw-r--r-- | tensorflow/contrib/lite/delegates/eager/BUILD | 6 | ||||
-rw-r--r-- | tensorflow/contrib/lite/delegates/eager/constants.h | 29 | ||||
-rw-r--r-- | tensorflow/contrib/lite/delegates/eager/util.cc | 6 | ||||
-rw-r--r-- | tensorflow/contrib/lite/delegates/eager/util.h | 4 | ||||
-rw-r--r-- | tensorflow/contrib/lite/delegates/eager/util_test.cc | 10 | ||||
-rw-r--r-- | tensorflow/contrib/lite/kernels/BUILD | 1 | ||||
-rw-r--r-- | tensorflow/contrib/lite/kernels/register.cc | 5 | ||||
-rw-r--r-- | tensorflow/contrib/lite/util.cc | 7 | ||||
-rw-r--r-- | tensorflow/contrib/lite/util.h | 10 | ||||
-rw-r--r-- | tensorflow/contrib/lite/util_test.cc | 10 |
10 files changed, 30 insertions, 58 deletions
diff --git a/tensorflow/contrib/lite/delegates/eager/BUILD b/tensorflow/contrib/lite/delegates/eager/BUILD index 87486e8814..54231237d2 100644 --- a/tensorflow/contrib/lite/delegates/eager/BUILD +++ b/tensorflow/contrib/lite/delegates/eager/BUILD @@ -164,7 +164,6 @@ cc_library( srcs = ["util.cc"], hdrs = ["util.h"], deps = [ - ":constants", "//tensorflow/c:c_api_internal", "//tensorflow/contrib/lite:kernel_api", ] + select({ @@ -189,8 +188,3 @@ tf_cc_test( "@com_google_googletest//:gtest", ], ) - -cc_library( - name = "constants", - hdrs = ["constants.h"], -) diff --git a/tensorflow/contrib/lite/delegates/eager/constants.h b/tensorflow/contrib/lite/delegates/eager/constants.h deleted file mode 100644 index 7ed6ab7552..0000000000 --- a/tensorflow/contrib/lite/delegates/eager/constants.h +++ /dev/null @@ -1,29 +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. -==============================================================================*/ -#ifndef TENSORFLOW_CONTRIB_LITE_DELEGATES_EAGER_CONSTANTS_H_ -#define TENSORFLOW_CONTRIB_LITE_DELEGATES_EAGER_CONSTANTS_H_ - -namespace tflite { -namespace eager { - -// The prefix of Eager op custom code. -// This will be matched agains the `custom_code` field in `OperatorCode` -// Flatbuffer Table. -constexpr char kCustomCodePrefix[] = "Eager"; - -} // namespace eager -} // namespace tflite - -#endif // TENSORFLOW_CONTRIB_LITE_DELEGATES_EAGER_CONSTANTS_H_ diff --git a/tensorflow/contrib/lite/delegates/eager/util.cc b/tensorflow/contrib/lite/delegates/eager/util.cc index c8aa0b7f69..4426c653e6 100644 --- a/tensorflow/contrib/lite/delegates/eager/util.cc +++ b/tensorflow/contrib/lite/delegates/eager/util.cc @@ -13,16 +13,10 @@ See the License for the specific language governing permissions and limitations under the License. ==============================================================================*/ #include "tensorflow/contrib/lite/delegates/eager/util.h" -#include "tensorflow/contrib/lite/delegates/eager/constants.h" namespace tflite { namespace eager { -bool IsEagerOp(const char* custom_name) { - return custom_name && strncmp(custom_name, kCustomCodePrefix, - strlen(kCustomCodePrefix)) == 0; -} - TfLiteStatus ConvertStatus(TfLiteContext* context, const tensorflow::Status& status) { if (!status.ok()) { diff --git a/tensorflow/contrib/lite/delegates/eager/util.h b/tensorflow/contrib/lite/delegates/eager/util.h index b7363361be..a9407be071 100644 --- a/tensorflow/contrib/lite/delegates/eager/util.h +++ b/tensorflow/contrib/lite/delegates/eager/util.h @@ -23,10 +23,6 @@ limitations under the License. namespace tflite { namespace eager { -// Checks whether the prefix of the custom name indicates the operation is an -// Eager operation. -bool IsEagerOp(const char* custom_name); - // Converts a tensorflow:Status into a TfLiteStatus. If the original status // represented an error, reports it using the given 'context'. TfLiteStatus ConvertStatus(TfLiteContext* context, diff --git a/tensorflow/contrib/lite/delegates/eager/util_test.cc b/tensorflow/contrib/lite/delegates/eager/util_test.cc index 541d0b1701..53378a1eaf 100644 --- a/tensorflow/contrib/lite/delegates/eager/util_test.cc +++ b/tensorflow/contrib/lite/delegates/eager/util_test.cc @@ -103,16 +103,6 @@ TEST(UtilTest, TypeConversions) { EXPECT_EQ(TF_BOOL, GetTensorFlowDataType(kTfLiteBool)); } -TEST(UtilTest, IsEagerOp) { - EXPECT_TRUE(IsEagerOp("Eager")); - EXPECT_TRUE(IsEagerOp("EagerOp")); - EXPECT_FALSE(IsEagerOp("eager")); - EXPECT_FALSE(IsEagerOp("Eage")); - EXPECT_FALSE(IsEagerOp("OpEager")); - EXPECT_FALSE(IsEagerOp(nullptr)); - EXPECT_FALSE(IsEagerOp("")); -} - } // namespace } // namespace eager } // namespace tflite diff --git a/tensorflow/contrib/lite/kernels/BUILD b/tensorflow/contrib/lite/kernels/BUILD index c5586475ec..1f528fdab9 100644 --- a/tensorflow/contrib/lite/kernels/BUILD +++ b/tensorflow/contrib/lite/kernels/BUILD @@ -225,6 +225,7 @@ cc_library( "//tensorflow/contrib/lite:builtin_op_data", "//tensorflow/contrib/lite:framework", "//tensorflow/contrib/lite:string_util", + "//tensorflow/contrib/lite:util", "//tensorflow/contrib/lite/kernels:gemm_support", "//tensorflow/contrib/lite/kernels/internal:audio_utils", "//tensorflow/contrib/lite/kernels/internal:kernel_utils", diff --git a/tensorflow/contrib/lite/kernels/register.cc b/tensorflow/contrib/lite/kernels/register.cc index 6159311910..9681b900b7 100644 --- a/tensorflow/contrib/lite/kernels/register.cc +++ b/tensorflow/contrib/lite/kernels/register.cc @@ -14,6 +14,7 @@ limitations under the License. ==============================================================================*/ #include "tensorflow/contrib/lite/kernels/register.h" +#include "tensorflow/contrib/lite/util.h" namespace tflite { namespace ops { @@ -129,9 +130,7 @@ const TfLiteRegistration* BuiltinOpResolver::FindOp(const char* op, int version) const { // Return the NULL Op for all ops whose name start with "Eager", allowing // the interpreter to delegate their execution. - // TODO(ycling): Refactoring and extract an `IsEagerOp` function into - // `lite:framework` build target. - if (string(op).find("Eager") == 0) { + if (IsEagerOp(op)) { static TfLiteRegistration null_op{ nullptr, nullptr, &UnsupportedTensorFlowOp, nullptr, nullptr, BuiltinOperator_CUSTOM, diff --git a/tensorflow/contrib/lite/util.cc b/tensorflow/contrib/lite/util.cc index 8ccb65c24f..7950653da9 100644 --- a/tensorflow/contrib/lite/util.cc +++ b/tensorflow/contrib/lite/util.cc @@ -14,8 +14,15 @@ limitations under the License. ==============================================================================*/ #include "tensorflow/contrib/lite/util.h" +#include <cstring> + namespace tflite { +bool IsEagerOp(const char* custom_name) { + return custom_name && strncmp(custom_name, kEagerCustomCodePrefix, + strlen(kEagerCustomCodePrefix)) == 0; +} + TfLiteIntArray* ConvertVectorToTfLiteIntArray(const std::vector<int>& input) { return ConvertArrayToTfLiteIntArray(input.size(), input.data()); } diff --git a/tensorflow/contrib/lite/util.h b/tensorflow/contrib/lite/util.h index 3c4801183b..f5b208afbb 100644 --- a/tensorflow/contrib/lite/util.h +++ b/tensorflow/contrib/lite/util.h @@ -26,6 +26,16 @@ limitations under the License. namespace tflite { +// The prefix of Eager op custom code. +// This will be matched agains the `custom_code` field in `OperatorCode` +// Flatbuffer Table. +// WARNING: This is an experimental API and subject to change. +constexpr char kEagerCustomCodePrefix[] = "Eager"; + +// Checks whether the prefix of the custom name indicates the operation is an +// Eager operation. +bool IsEagerOp(const char* custom_name); + // Converts a `std::vector` to a `TfLiteIntArray`. The caller takes ownership // of the returned pointer. TfLiteIntArray* ConvertVectorToTfLiteIntArray(const std::vector<int>& input); diff --git a/tensorflow/contrib/lite/util_test.cc b/tensorflow/contrib/lite/util_test.cc index 04579c53aa..32bf917a59 100644 --- a/tensorflow/contrib/lite/util_test.cc +++ b/tensorflow/contrib/lite/util_test.cc @@ -41,6 +41,16 @@ TEST(ConvertVectorToTfLiteIntArray, TestWithEmptyVector) { TfLiteIntArrayFree(output); } +TEST(UtilTest, IsEagerOp) { + EXPECT_TRUE(IsEagerOp("Eager")); + EXPECT_TRUE(IsEagerOp("EagerOp")); + EXPECT_FALSE(IsEagerOp("eager")); + EXPECT_FALSE(IsEagerOp("Eage")); + EXPECT_FALSE(IsEagerOp("OpEager")); + EXPECT_FALSE(IsEagerOp(nullptr)); + EXPECT_FALSE(IsEagerOp("")); +} + } // namespace } // namespace tflite |