From 051d1b70f5f0636316e2651630f0ade554f192c0 Mon Sep 17 00:00:00 2001 From: Stefano Galarraga Date: Fri, 19 Jun 2020 01:21:24 -0700 Subject: [PATCH] Fix NNAPI delegation error on models with MAX/MIN operations with scalar quantized operators PiperOrigin-RevId: 317266736 Change-Id: Ieed8a77685d4ca0d51389b5976addf0de167cfcf --- tensorflow/lite/delegates/nnapi/nnapi_delegate.cc | 2 ++ tensorflow/lite/kernels/maximum_minimum_test.cc | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/tensorflow/lite/delegates/nnapi/nnapi_delegate.cc b/tensorflow/lite/delegates/nnapi/nnapi_delegate.cc index a3a3f9fda4d..1c35ee370c2 100644 --- a/tensorflow/lite/delegates/nnapi/nnapi_delegate.cc +++ b/tensorflow/lite/delegates/nnapi/nnapi_delegate.cc @@ -160,6 +160,8 @@ bool IsScalarInputSupported(int builtin_code) { case kTfLiteBuiltinLess: case kTfLiteBuiltinLessEqual: case kTfLiteBuiltinPow: + case kTfLiteBuiltinMaximum: + case kTfLiteBuiltinMinimum: return true; default: return false; diff --git a/tensorflow/lite/kernels/maximum_minimum_test.cc b/tensorflow/lite/kernels/maximum_minimum_test.cc index 2c036e369bd..803fe91c460 100644 --- a/tensorflow/lite/kernels/maximum_minimum_test.cc +++ b/tensorflow/lite/kernels/maximum_minimum_test.cc @@ -190,6 +190,17 @@ TEST(MaximumOpTest, Int32WithBroadcastTest_ScalarY) { data1, data2, {1, 0, -1, -2, 2, 2}, /*is_constant=*/true); } +TEST(MaximumOpTest, Int8WithBroadcastTest_ScalarY) { + std::initializer_list data1 = {1, 0, -1, -2, 3, 11}; + std::initializer_list data2 = {2}; + TestModel(BuiltinOperator_MAXIMUM, {TensorType_INT8, {3, 1, 2}}, + {TensorType_INT8, {}}, {TensorType_INT8, {3, 1, 2}}, data1, + data2, {2, 2, 2, 2, 3, 11}, /*is_constant=*/true); + TestModel(BuiltinOperator_MINIMUM, {TensorType_INT8, {3, 1, 2}}, + {TensorType_INT8, {}}, {TensorType_INT8, {3, 1, 2}}, data1, + data2, {1, 0, -1, -2, 2, 2}, /*is_constant=*/true); +} + TEST(MaxMinOpTest, Int8Test8D) { std::initializer_list data1 = {1, 0, 2, 11, 2, 23}; std::initializer_list data2 = {0, 0, 1, 12, 123, 1};