From d529a5fe4f0deaf93cb58bfd70f5eca638d8fb67 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=98=A4=ED=98=95=EC=84=9D/On-Device=20Lab=28SR=29/Staff?= =?utf8?q?=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Fri, 27 Sep 2019 15:39:32 +0900 Subject: [PATCH] [nnfw-cmake] Revise tflite version setting (#7793) Define option for tflite external code version Replace ported tflite files to support two or more version Prepare to remove TFLITE_MAJOR_VER and TFLITE_MINOR_VER setting Signed-off-by: Hyeongseok Oh --- runtimes/libs/tflite/CMakeLists.txt | 15 +++---------- runtimes/libs/tflite/port/1.13.1/CMakeLists.txt | 26 ++++++++++++++++++++++ .../1.13.1}/include/tflite/ext/kernels/Abs.h | 0 .../1.13.1}/include/tflite/ext/kernels/CustomOps.h | 0 .../include/tflite/ext/kernels/SquaredDifference.h | 0 .../include/tflite/ext/kernels/TensorFlowMax.h | 0 .../include/tflite/ext/kernels/TensorFlowSum.h | 0 .../1.13.1}/include/tflite/ext/kernels/register.h | 0 .../1.13.1}/include/tflite/ext/nnapi_delegate.h | 0 .../{src/ext => port/1.13.1/src}/kernels/Abs.cpp | 0 .../1.13.1/src}/kernels/SquaredDifference.cpp | 0 .../1.13.1/src}/kernels/TensorFlowMax.cpp | 0 .../1.13.1/src}/kernels/TensorFlowSum.cpp | 0 .../ext => port/1.13.1/src}/kernels/register.cpp | 0 .../ext => port/1.13.1/src}/nnapi_delegate.cpp | 0 .../nnapi_delegate_ex_AddOpsAndParams_lambda.inc | 0 runtimes/libs/tflite/port/CMakeLists.txt | 7 ++++++ 17 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 runtimes/libs/tflite/port/1.13.1/CMakeLists.txt rename runtimes/libs/tflite/{ => port/1.13.1}/include/tflite/ext/kernels/Abs.h (100%) rename runtimes/libs/tflite/{ => port/1.13.1}/include/tflite/ext/kernels/CustomOps.h (100%) rename runtimes/libs/tflite/{ => port/1.13.1}/include/tflite/ext/kernels/SquaredDifference.h (100%) rename runtimes/libs/tflite/{ => port/1.13.1}/include/tflite/ext/kernels/TensorFlowMax.h (100%) rename runtimes/libs/tflite/{ => port/1.13.1}/include/tflite/ext/kernels/TensorFlowSum.h (100%) rename runtimes/libs/tflite/{ => port/1.13.1}/include/tflite/ext/kernels/register.h (100%) rename runtimes/libs/tflite/{ => port/1.13.1}/include/tflite/ext/nnapi_delegate.h (100%) rename runtimes/libs/tflite/{src/ext => port/1.13.1/src}/kernels/Abs.cpp (100%) rename runtimes/libs/tflite/{src/ext => port/1.13.1/src}/kernels/SquaredDifference.cpp (100%) rename runtimes/libs/tflite/{src/ext => port/1.13.1/src}/kernels/TensorFlowMax.cpp (100%) rename runtimes/libs/tflite/{src/ext => port/1.13.1/src}/kernels/TensorFlowSum.cpp (100%) rename runtimes/libs/tflite/{src/ext => port/1.13.1/src}/kernels/register.cpp (100%) rename runtimes/libs/tflite/{src/ext => port/1.13.1/src}/nnapi_delegate.cpp (100%) rename runtimes/libs/tflite/{src/ext => port/1.13.1/src}/nnapi_delegate_ex_AddOpsAndParams_lambda.inc (100%) create mode 100644 runtimes/libs/tflite/port/CMakeLists.txt diff --git a/runtimes/libs/tflite/CMakeLists.txt b/runtimes/libs/tflite/CMakeLists.txt index 8b85e71..b5a16bc 100644 --- a/runtimes/libs/tflite/CMakeLists.txt +++ b/runtimes/libs/tflite/CMakeLists.txt @@ -1,26 +1,17 @@ -nnfw_find_package(TensorFlowLite REQUIRED) +add_subdirectory(port) file(GLOB_RECURSE SOURCES "src/*.cpp") file(GLOB_RECURSE TESTS "src/*.test.cpp") list(REMOVE_ITEM SOURCES ${TESTS}) -# NOTE For now NNFW supports two TFLITE versions - v1.12 for Ubuntu and v1.9 for Tizen. -# So TFLITE version should mandatorily be specified to distinguish the version. -if(NOT TFLITE_MAJOR_VER OR NOT TFLITE_MINOR_VER) - message(FATAL_ERROR "TFLITE_MAJOR_VER and TFLITE_MINOR_VER should be defined") -endif(NOT TFLITE_MAJOR_VER OR NOT TFLITE_MINOR_VER) - add_library(nnfw_lib_tflite STATIC ${SOURCES}) set_target_properties(nnfw_lib_tflite PROPERTIES POSITION_INDEPENDENT_CODE ON) target_include_directories(nnfw_lib_tflite PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) -target_link_libraries(nnfw_lib_tflite PUBLIC tensorflow-lite) -target_link_libraries(nnfw_lib_tflite PUBLIC nnfw_lib_misc nnfw_lib_rua_shim) +target_link_libraries(nnfw_lib_tflite PUBLIC tensorflow-lite-ex) +target_link_libraries(nnfw_lib_tflite PUBLIC nnfw_lib_misc) target_link_libraries(nnfw_lib_tflite PRIVATE ${LIB_PTHREAD} dl) target_link_libraries(nnfw_lib_tflite PRIVATE nnfw_common) target_link_libraries(nnfw_lib_tflite PRIVATE nnfw_coverage) -target_compile_definitions(nnfw_lib_tflite PUBLIC TFLITE_MAJOR_VER=${TFLITE_MAJOR_VER} - TFLITE_MINOR_VER=${TFLITE_MINOR_VER}) - add_executable(nnfw_lib_tflite_test_TensorView src/TensorView.test.cpp) target_link_libraries(nnfw_lib_tflite_test_TensorView nnfw_lib_tflite) diff --git a/runtimes/libs/tflite/port/1.13.1/CMakeLists.txt b/runtimes/libs/tflite/port/1.13.1/CMakeLists.txt new file mode 100644 index 0000000..7e2459b --- /dev/null +++ b/runtimes/libs/tflite/port/1.13.1/CMakeLists.txt @@ -0,0 +1,26 @@ +if(NOT SUPPORT_TFLITE_VERSION VERSION_EQUAL 1.13.1) + return() +endif(NOT SUPPORT_TFLITE_VERSION VERSION_EQUAL 1.13.1) + +nnfw_find_package(TensorFlowLite REQUIRED) + +file(GLOB_RECURSE SOURCES "src/*.cpp") + +add_library(tensorflow-lite-ex STATIC ${SOURCES}) +set_target_properties(tensorflow-lite-ex PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_include_directories(tensorflow-lite-ex PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) +target_link_libraries(tensorflow-lite-ex PUBLIC tensorflow-lite) +target_link_libraries(tensorflow-lite-ex PUBLIC nnfw_lib_misc nnfw_lib_rua_shim) +target_link_libraries(tensorflow-lite-ex PRIVATE ${LIB_PTHREAD} dl) +target_link_libraries(tensorflow-lite-ex PRIVATE nnfw_common) +target_link_libraries(tensorflow-lite-ex PRIVATE nnfw_coverage) + +# TODO Remove TFLITE_MAJOR_VER and TFLITE_MINOR_VER setting +# NOTE For now NNFW supports two TFLITE versions - v1.12 for Ubuntu and v1.9 for Tizen. +# So TFLITE version should mandatorily be specified to distinguish the version. +if(NOT TFLITE_MAJOR_VER OR NOT TFLITE_MINOR_VER) + message(FATAL_ERROR "TFLITE_MAJOR_VER and TFLITE_MINOR_VER should be defined") +endif(NOT TFLITE_MAJOR_VER OR NOT TFLITE_MINOR_VER) + +target_compile_definitions(tensorflow-lite-ex PUBLIC TFLITE_MAJOR_VER=${TFLITE_MAJOR_VER} + TFLITE_MINOR_VER=${TFLITE_MINOR_VER}) diff --git a/runtimes/libs/tflite/include/tflite/ext/kernels/Abs.h b/runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/Abs.h similarity index 100% rename from runtimes/libs/tflite/include/tflite/ext/kernels/Abs.h rename to runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/Abs.h diff --git a/runtimes/libs/tflite/include/tflite/ext/kernels/CustomOps.h b/runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/CustomOps.h similarity index 100% rename from runtimes/libs/tflite/include/tflite/ext/kernels/CustomOps.h rename to runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/CustomOps.h diff --git a/runtimes/libs/tflite/include/tflite/ext/kernels/SquaredDifference.h b/runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/SquaredDifference.h similarity index 100% rename from runtimes/libs/tflite/include/tflite/ext/kernels/SquaredDifference.h rename to runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/SquaredDifference.h diff --git a/runtimes/libs/tflite/include/tflite/ext/kernels/TensorFlowMax.h b/runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/TensorFlowMax.h similarity index 100% rename from runtimes/libs/tflite/include/tflite/ext/kernels/TensorFlowMax.h rename to runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/TensorFlowMax.h diff --git a/runtimes/libs/tflite/include/tflite/ext/kernels/TensorFlowSum.h b/runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/TensorFlowSum.h similarity index 100% rename from runtimes/libs/tflite/include/tflite/ext/kernels/TensorFlowSum.h rename to runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/TensorFlowSum.h diff --git a/runtimes/libs/tflite/include/tflite/ext/kernels/register.h b/runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/register.h similarity index 100% rename from runtimes/libs/tflite/include/tflite/ext/kernels/register.h rename to runtimes/libs/tflite/port/1.13.1/include/tflite/ext/kernels/register.h diff --git a/runtimes/libs/tflite/include/tflite/ext/nnapi_delegate.h b/runtimes/libs/tflite/port/1.13.1/include/tflite/ext/nnapi_delegate.h similarity index 100% rename from runtimes/libs/tflite/include/tflite/ext/nnapi_delegate.h rename to runtimes/libs/tflite/port/1.13.1/include/tflite/ext/nnapi_delegate.h diff --git a/runtimes/libs/tflite/src/ext/kernels/Abs.cpp b/runtimes/libs/tflite/port/1.13.1/src/kernels/Abs.cpp similarity index 100% rename from runtimes/libs/tflite/src/ext/kernels/Abs.cpp rename to runtimes/libs/tflite/port/1.13.1/src/kernels/Abs.cpp diff --git a/runtimes/libs/tflite/src/ext/kernels/SquaredDifference.cpp b/runtimes/libs/tflite/port/1.13.1/src/kernels/SquaredDifference.cpp similarity index 100% rename from runtimes/libs/tflite/src/ext/kernels/SquaredDifference.cpp rename to runtimes/libs/tflite/port/1.13.1/src/kernels/SquaredDifference.cpp diff --git a/runtimes/libs/tflite/src/ext/kernels/TensorFlowMax.cpp b/runtimes/libs/tflite/port/1.13.1/src/kernels/TensorFlowMax.cpp similarity index 100% rename from runtimes/libs/tflite/src/ext/kernels/TensorFlowMax.cpp rename to runtimes/libs/tflite/port/1.13.1/src/kernels/TensorFlowMax.cpp diff --git a/runtimes/libs/tflite/src/ext/kernels/TensorFlowSum.cpp b/runtimes/libs/tflite/port/1.13.1/src/kernels/TensorFlowSum.cpp similarity index 100% rename from runtimes/libs/tflite/src/ext/kernels/TensorFlowSum.cpp rename to runtimes/libs/tflite/port/1.13.1/src/kernels/TensorFlowSum.cpp diff --git a/runtimes/libs/tflite/src/ext/kernels/register.cpp b/runtimes/libs/tflite/port/1.13.1/src/kernels/register.cpp similarity index 100% rename from runtimes/libs/tflite/src/ext/kernels/register.cpp rename to runtimes/libs/tflite/port/1.13.1/src/kernels/register.cpp diff --git a/runtimes/libs/tflite/src/ext/nnapi_delegate.cpp b/runtimes/libs/tflite/port/1.13.1/src/nnapi_delegate.cpp similarity index 100% rename from runtimes/libs/tflite/src/ext/nnapi_delegate.cpp rename to runtimes/libs/tflite/port/1.13.1/src/nnapi_delegate.cpp diff --git a/runtimes/libs/tflite/src/ext/nnapi_delegate_ex_AddOpsAndParams_lambda.inc b/runtimes/libs/tflite/port/1.13.1/src/nnapi_delegate_ex_AddOpsAndParams_lambda.inc similarity index 100% rename from runtimes/libs/tflite/src/ext/nnapi_delegate_ex_AddOpsAndParams_lambda.inc rename to runtimes/libs/tflite/port/1.13.1/src/nnapi_delegate_ex_AddOpsAndParams_lambda.inc diff --git a/runtimes/libs/tflite/port/CMakeLists.txt b/runtimes/libs/tflite/port/CMakeLists.txt new file mode 100644 index 0000000..82c83f7 --- /dev/null +++ b/runtimes/libs/tflite/port/CMakeLists.txt @@ -0,0 +1,7 @@ +# We may need to support multiple tensorflow version +# Example) +# For ubuntu: tensorflow lite v1.13.1 +# For tizen: tensorflow lite v1.9 +set(SUPPORT_TFLITE_VERSION "1.13.1" CACHE STRING "Supporting TensorFlow lite version") + +add_subdirectories() -- 2.7.4