From 1f14bbeb33f7c9ccff155f62fccde68a3284ae4f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Shubham=20Gupta/System=20SW=20/SRI-Bangalore/Engineer/?= =?utf8?q?=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Mon, 29 Oct 2018 16:56:54 +0530 Subject: [PATCH] Update nnapi delegate for LRN (#3270) This patch will add nnapi delegation changes for LocalResponseNormalization. Signed-off-by: shubham --- libs/support/tflite/src/nnapi_delegate.cpp | 5 ++++- .../tflite/src/nnapi_delegate_ex_AddOpsAndParams_lambda.inc | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/libs/support/tflite/src/nnapi_delegate.cpp b/libs/support/tflite/src/nnapi_delegate.cpp index 59f76bf..987cd77 100644 --- a/libs/support/tflite/src/nnapi_delegate.cpp +++ b/libs/support/tflite/src/nnapi_delegate.cpp @@ -493,6 +493,10 @@ void AddOpsAndParams(tflite::Interpreter* interpreter, nn_op_type = ANEURALNETWORKS_L2_NORMALIZATION; check_l2normalization_params(node.builtin_data); break; + case tflite::BuiltinOperator_LOCAL_RESPONSE_NORMALIZATION: + nn_op_type = ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION; + add_lrn_params(node.builtin_data); + break; case tflite::BuiltinOperator_DIV: nnapi_version = 11; // require NNAPI 1.1 nn_op_type = ANEURALNETWORKS_DIV; @@ -578,7 +582,6 @@ void AddOpsAndParams(tflite::Interpreter* interpreter, case tflite::BuiltinOperator_EMBEDDING_LOOKUP_SPARSE: case tflite::BuiltinOperator_BIDIRECTIONAL_SEQUENCE_LSTM: case tflite::BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_LSTM: - case tflite::BuiltinOperator_LOCAL_RESPONSE_NORMALIZATION: case tflite::BuiltinOperator_PADV2: case tflite::BuiltinOperator_CALL: case tflite::BuiltinOperator_SKIP_GRAM: diff --git a/libs/support/tflite/src/nnapi_delegate_ex_AddOpsAndParams_lambda.inc b/libs/support/tflite/src/nnapi_delegate_ex_AddOpsAndParams_lambda.inc index 6d9676c..b6b0bf6 100644 --- a/libs/support/tflite/src/nnapi_delegate_ex_AddOpsAndParams_lambda.inc +++ b/libs/support/tflite/src/nnapi_delegate_ex_AddOpsAndParams_lambda.inc @@ -28,6 +28,15 @@ } }; + auto add_lrn_params = [&add_scalar_int32, + &add_scalar_float32](void* data) { + auto builtin = reinterpret_cast(data); + add_scalar_int32(builtin->radius); + add_scalar_float32(builtin->bias); + add_scalar_float32(builtin->alpha); + add_scalar_float32(builtin->beta); + }; + auto add_strided_slice_params = [&add_scalar_int32](void* data) { auto builtin = reinterpret_cast(data); add_scalar_int32(builtin->begin_mask); -- 2.7.4