Reorganize nnc project file hierarchy (#1219)
authorРоман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 <r.rusyaev@samsung.com>
Wed, 29 Aug 2018 10:15:24 +0000 (13:15 +0300)
committerSergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 <s.vostokov@samsung.com>
Wed, 29 Aug 2018 10:15:24 +0000 (13:15 +0300)
* reorganize frontend part (last part)

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
59 files changed:
contrib/nnc/CMakeLists.txt
contrib/nnc/examples/caffe_frontend/CMakeLists.txt [new file with mode: 0644]
contrib/nnc/examples/caffe_frontend/model_dump.cpp [moved from contrib/nnc/plugin/frontend/caffe/examples/model_dump.cpp with 100% similarity]
contrib/nnc/examples/plugin/CMakeLists.txt [moved from contrib/nnc/examples/plugin_example/CMakeLists.txt with 100% similarity]
contrib/nnc/examples/plugin/samplePlugin.cpp [moved from contrib/nnc/examples/plugin_example/samplePlugin.cpp with 100% similarity]
contrib/nnc/examples/tflite_frontend/CMakeLists.txt [new file with mode: 0644]
contrib/nnc/examples/tflite_frontend/sanity_check.cpp [moved from contrib/nnc/plugin/frontend/tflite/examples/sanity_check.cpp with 100% similarity]
contrib/nnc/include/plugin/common_frontend/model_allocation.h [moved from contrib/nnc/plugin/frontend/include/model_allocation.h with 100% similarity]
contrib/nnc/include/plugin/common_frontend/nn_importer.h [moved from contrib/nnc/plugin/frontend/include/nn_importer.h with 100% similarity]
contrib/nnc/include/plugin/common_frontend/shape_helper.h [moved from contrib/nnc/plugin/frontend/include/shape_helper.h with 100% similarity]
contrib/nnc/plugin/CMakeLists.txt
contrib/nnc/plugin/caffe_frontend/CMakeLists.txt [moved from contrib/nnc/plugin/frontend/caffe/CMakeLists.txt with 63% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_dump_visitor.cpp [moved from contrib/nnc/plugin/frontend/caffe/src/caffe_dump_visitor.cpp with 100% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_dump_visitor.h [moved from contrib/nnc/plugin/frontend/caffe/include/caffe_dump_visitor.h with 100% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_importer.cpp [moved from contrib/nnc/plugin/frontend/caffe/src/caffe_importer.cpp with 100% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_importer.h [moved from contrib/nnc/plugin/frontend/caffe/include/caffe_importer.h with 93% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_model_visitor.cpp [moved from contrib/nnc/plugin/frontend/caffe/src/caffe_model_visitor.cpp with 99% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_model_visitor.h [moved from contrib/nnc/plugin/frontend/caffe/include/caffe_model_visitor.h with 100% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_op_creator.cpp [moved from contrib/nnc/plugin/frontend/caffe/src/caffe_op_creator.cpp with 99% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_op_creator.h [moved from contrib/nnc/plugin/frontend/caffe/include/caffe_op_creator.h with 100% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_plugin.cpp [moved from contrib/nnc/plugin/frontend/caffe/src/caffe_plugin.cpp with 100% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_visitor.h [moved from contrib/nnc/plugin/frontend/caffe/include/caffe_visitor.h with 100% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_walker.cpp [moved from contrib/nnc/plugin/frontend/caffe/src/caffe_walker.cpp with 100% similarity]
contrib/nnc/plugin/caffe_frontend/caffe_walker.h [moved from contrib/nnc/plugin/frontend/caffe/include/caffe_walker.h with 100% similarity]
contrib/nnc/plugin/caffe_frontend/proto_reader.cpp [moved from contrib/nnc/plugin/frontend/caffe/src/proto_reader.cpp with 100% similarity]
contrib/nnc/plugin/caffe_frontend/proto_reader.h [moved from contrib/nnc/plugin/frontend/caffe/include/proto_reader.h with 100% similarity]
contrib/nnc/plugin/common_frontend/CMakeLists.txt [new file with mode: 0644]
contrib/nnc/plugin/common_frontend/model_allocation.cpp [moved from contrib/nnc/plugin/frontend/common/model_allocation.cpp with 94% similarity]
contrib/nnc/plugin/common_frontend/shape_helper.cpp [moved from contrib/nnc/plugin/frontend/common/shape_helper.cpp with 94% similarity]
contrib/nnc/plugin/frontend/CMakeLists.txt [deleted file]
contrib/nnc/plugin/tflite_frontend/CMakeLists.txt [moved from contrib/nnc/plugin/frontend/tflite/CMakeLists.txt with 51% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema.fbs [moved from contrib/nnc/plugin/frontend/tflite/schema/schema.fbs with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema.meta [moved from contrib/nnc/plugin/frontend/tflite/schema/schema.meta with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema_v0.fbs [moved from contrib/nnc/plugin/frontend/tflite/schema/schema_v0.fbs with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema_v0.meta [moved from contrib/nnc/plugin/frontend/tflite/schema/schema_v0.meta with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema_v1.fbs [moved from contrib/nnc/plugin/frontend/tflite/schema/schema_v1.fbs with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema_v1.meta [moved from contrib/nnc/plugin/frontend/tflite/schema/schema_v1.meta with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema_v2.fbs [moved from contrib/nnc/plugin/frontend/tflite/schema/schema_v2.fbs with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema_v2.meta [moved from contrib/nnc/plugin/frontend/tflite/schema/schema_v2.meta with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema_v3.fbs [moved from contrib/nnc/plugin/frontend/tflite/schema/schema_v3.fbs with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema/schema_v3.meta [moved from contrib/nnc/plugin/frontend/tflite/schema/schema_v3.meta with 100% similarity]
contrib/nnc/plugin/tflite_frontend/schema_v3.h [moved from contrib/nnc/plugin/frontend/tflite/include/schema_v3.h with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_dump_visitor.cpp [moved from contrib/nnc/plugin/frontend/tflite/src/tflite_dump_visitor.cpp with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_dump_visitor.h [moved from contrib/nnc/plugin/frontend/tflite/include/tflite_dump_visitor.h with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_importer.inline.cpp [moved from contrib/nnc/plugin/frontend/tflite/src/tflite_importer.inline.cpp with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_importer.inline.h [moved from contrib/nnc/plugin/frontend/tflite/include/tflite_importer.inline.h with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_ir_visitor.cpp [moved from contrib/nnc/plugin/frontend/tflite/src/tflite_ir_visitor.cpp with 99% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_ir_visitor.h [moved from contrib/nnc/plugin/frontend/tflite/include/tflite_ir_visitor.h with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_op_creator.cpp [moved from contrib/nnc/plugin/frontend/tflite/src/tflite_op_creator.cpp with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_op_creator.h [moved from contrib/nnc/plugin/frontend/tflite/include/tflite_op_creator.h with 98% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_plugin.cpp [moved from contrib/nnc/plugin/frontend/tflite/src/tflite_plugin.cpp with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_v3_importer.cpp [moved from contrib/nnc/plugin/frontend/tflite/src/tflite_v3_importer.cpp with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_v3_importer.h [moved from contrib/nnc/plugin/frontend/tflite/include/tflite_v3_importer.h with 81% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_visitor.h [moved from contrib/nnc/plugin/frontend/tflite/include/tflite_visitor.h with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_walker.cpp [moved from contrib/nnc/plugin/frontend/tflite/src/tflite_walker.cpp with 100% similarity]
contrib/nnc/plugin/tflite_frontend/tflite_walker.h [moved from contrib/nnc/plugin/frontend/tflite/include/tflite_walker.h with 100% similarity]
contrib/nnc/tests/import/CMakeLists.txt
contrib/nnc/tests/interpreter/graph_creator.cpp
contrib/nnc/tests/interpreter/op_info_util.h

index 406164c..86c84ef 100644 (file)
@@ -65,9 +65,13 @@ endfunction(install_common_library)
 # end functions
 #
 
+#
 # Used by unit tests
+#
 set(NNC_SOFT_BACKEND_DIR ${CMAKE_CURRENT_SOURCE_DIR}/plugin/soft_backend)
 set(NNC_INTERPRETER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/plugin/interpreter)
+set(NNC_CAFFE_FRONTEND_DIR ${CMAKE_CURRENT_SOURCE_DIR}/plugin/caffe_frontend)
+set(NNC_TFLITE_FRONTEND_DIR ${CMAKE_CURRENT_SOURCE_DIR}/plugin/tflite_frontend)
 set(NNC_CORE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/core)
 set(NNC_SUPPORT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/support)
 
diff --git a/contrib/nnc/examples/caffe_frontend/CMakeLists.txt b/contrib/nnc/examples/caffe_frontend/CMakeLists.txt
new file mode 100644 (file)
index 0000000..dc3fe20
--- /dev/null
@@ -0,0 +1,3 @@
+add_nncc_example_executable(caffe_model_dumper ${OPTIONS_SRC} model_dump.cpp)
+nncc_target_link_libraries(caffe_model_dumper nnc_support caffe_importer)
+target_include_directories(caffe_model_dumper PRIVATE ${NNC_CAFFE_FRONTEND_DIR})
\ No newline at end of file
diff --git a/contrib/nnc/examples/tflite_frontend/CMakeLists.txt b/contrib/nnc/examples/tflite_frontend/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5a26def
--- /dev/null
@@ -0,0 +1,5 @@
+add_executable(tflite_import_example sanity_check.cpp ${OPTIONS_SRC})
+
+target_link_libraries(tflite_import_example PUBLIC tflite_schema)
+target_link_libraries(tflite_import_example PRIVATE tflite_import)
+target_include_directories(tflite_import_example PRIVATE ${NNC_TFLITE_FRONTEND_DIR})
index 32b7245..e390c7c 100644 (file)
@@ -1,3 +1,12 @@
-add_subdirectory(frontend)
+#
+# FRONTENDs
+#
+add_subdirectory(common_frontend)
+add_subdirectory(tflite_frontend)
+add_subdirectory(caffe_frontend)
+
+#
+# BACKENDs
+#
 add_subdirectory(interpreter)
 add_subdirectory(soft_backend)
@@ -11,21 +11,16 @@ endif()
 # Caffe importer  #
 ###################
 
-file(GLOB caffe_importer_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
-file(GLOB caffe_importer_headers ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h)
+file(GLOB caffe_importer_sources *.cpp)
+file(GLOB caffe_importer_headers *.h)
 
 add_nncc_library(caffe_importer SHARED ${caffe_importer_sources}
                                        ${caffe_importer_headers})
 
-target_include_directories(caffe_importer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
-
 target_link_libraries(caffe_importer PUBLIC caffeproto)
-target_link_libraries(caffe_importer PUBLIC ${nn_import_common})
+target_link_libraries(caffe_importer PUBLIC nn_import_common)
 target_link_libraries(caffe_importer PRIVATE nnc_support)
 target_link_libraries(caffe_importer PRIVATE nnc_core)
 
-add_nncc_example_executable(caffe_model_dumper ${OPTIONS_SRC} examples/model_dump.cpp)
-nncc_target_link_libraries(caffe_model_dumper nnc_support caffe_importer)
-
 # install caffe frontend library
 install_nnc_plugin(caffe_importer)
@@ -6,7 +6,7 @@
 
 #include "caffe/proto/caffe.pb.h"
 
-#include "nn_importer.h"
+#include "plugin/common_frontend/nn_importer.h"
 
 namespace nncc
 {
@@ -6,7 +6,7 @@
 #include "core/modelIR/TensorUtil.h"
 #include "support/PluginException.h"
 
-#include "shape_helper.h"
+#include "plugin/common_frontend/shape_helper.h"
 #include "caffe_model_visitor.h"
 
 namespace nncc
@@ -9,7 +9,7 @@
 #include "core/modelIR/operations/reshape_op.h"
 #include "core/modelIR/operations/fully_connected_op.h"
 
-#include "shape_helper.h"
+#include "plugin/common_frontend/shape_helper.h"
 #include "caffe_op_creator.h"
 
 namespace nncc
diff --git a/contrib/nnc/plugin/common_frontend/CMakeLists.txt b/contrib/nnc/plugin/common_frontend/CMakeLists.txt
new file mode 100644 (file)
index 0000000..7d6578d
--- /dev/null
@@ -0,0 +1,11 @@
+##########################################
+# Common for every importer code library #
+##########################################
+
+set(COMMON_SOURCES
+        model_allocation.cpp
+        shape_helper.cpp)
+
+add_library(nn_import_common STATIC ${COMMON_SOURCES})
+set_target_properties(nn_import_common PROPERTIES POSITION_INDEPENDENT_CODE ON)
+target_link_libraries(nn_import_common PRIVATE nnc_core nnc_support)
\ No newline at end of file
@@ -3,7 +3,7 @@
 #include <sys/stat.h>
 #include <sys/mman.h>
 
-#include "model_allocation.h"
+#include "plugin/common_frontend/model_allocation.h"
 
 using namespace nncc::contrib::frontend::common;
 
@@ -1,6 +1,6 @@
 #include <vector>
 
-#include "shape_helper.h"
+#include "plugin/common_frontend/shape_helper.h"
 #include "support/PluginException.h"
 
 namespace nncc
diff --git a/contrib/nnc/plugin/frontend/CMakeLists.txt b/contrib/nnc/plugin/frontend/CMakeLists.txt
deleted file mode 100644 (file)
index c17cba3..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-##########################################
-# Common for every importer code library #
-##########################################
-
-file(GLOB common_sources common/*)
-file(GLOB common_headers include/*)
-
-set(nn_import_common nn_import_common)
-add_library(${nn_import_common} STATIC ${common_sources} ${common_headers})
-
-target_include_directories(${nn_import_common} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
-set_target_properties(${nn_import_common} PROPERTIES POSITION_INDEPENDENT_CODE ON)
-
-target_link_libraries(${nn_import_common} PRIVATE nnc_core nnc_support)
-
-add_subdirectory(tflite)
-add_subdirectory(caffe)
@@ -20,36 +20,22 @@ target_include_directories(tflite_schema PUBLIC ${FB_GEN_INCLUDE_DIRS})
 # TFLITE importer #
 ###################
 
-set(tflite_importer_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_walker.cpp
-                            ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_dump_visitor.cpp
-                            ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_ir_visitor.cpp
-                            ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_op_creator.cpp
-                            ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_v3_importer.cpp
-                            ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_plugin.cpp)
-file(GLOB tflite_importer_headers include/*.h)
+set(tflite_importer_sources tflite_walker.cpp
+                            tflite_dump_visitor.cpp
+                            tflite_ir_visitor.cpp
+                            tflite_op_creator.cpp
+                            tflite_v3_importer.cpp
+                            tflite_plugin.cpp)
+file(GLOB tflite_importer_headers *.h)
 
 set(tflite_import tflite_import)
 add_library(${tflite_import} SHARED ${tflite_importer_sources} ${tflite_importer_headers})
 
-target_include_directories(${tflite_import} PUBLIC include)
-
 target_link_libraries(${tflite_import} PUBLIC tflite_schema)
 target_link_libraries(${tflite_import} PUBLIC flatbuffers)
-target_link_libraries(${tflite_import} PUBLIC ${nn_import_common})
+target_link_libraries(${tflite_import} PUBLIC nn_import_common)
 target_link_libraries(${tflite_import} PUBLIC nnc_support)
 target_link_libraries(${tflite_import} PUBLIC nnc_core)
 
-###################
-# TFLITE examples #
-###################
-
-file(GLOB tflite_example_sources examples/*)
-
-set(tflite_import_example tflite_import_example)
-add_executable(${tflite_import_example} ${tflite_example_sources} ${OPTIONS_SRC})
-
-target_link_libraries(${tflite_import_example} PUBLIC tflite_schema)
-target_link_libraries(${tflite_import_example} PRIVATE ${tflite_import})
-
 # install tflite frontend library
 install_nnc_plugin(tflite_import)
@@ -9,7 +9,7 @@
 #include "core/modelIR/TensorUtil.h"
 #include "core/modelIR/operations/variable_op.h"
 
-#include "shape_helper.h"
+#include "plugin/common_frontend/shape_helper.h"
 #include "tflite_ir_visitor.h"
 #include "tflite_op_creator.h"
 
@@ -15,7 +15,7 @@
 #include "core/modelIR/operations/common.h"
 
 #include "schema_v3.h"
-#include "shape_helper.h"
+#include "plugin/common_frontend/shape_helper.h"
 
 namespace nncc
 {
@@ -5,8 +5,8 @@
 #include <string>
 
 #include "schema_v3.h"
-#include "nn_importer.h"
-#include "model_allocation.h"
+#include "plugin/common_frontend/nn_importer.h"
+#include "plugin/common_frontend/model_allocation.h"
 
 namespace nncc
 {
index f0d4087..023ddba 100644 (file)
@@ -12,6 +12,8 @@
 
 add_executable(system_test_import_tflite tflite.cpp ${OPTIONS_SRC})
 target_link_libraries(system_test_import_tflite PRIVATE nnc_support tflite_import)
+target_include_directories(system_test_import_tflite PRIVATE ${NNC_TFLITE_FRONTEND_DIR})
 
 add_executable(system_test_import_caffe caffe.cpp ${OPTIONS_SRC})
 target_link_libraries(system_test_import_caffe PRIVATE nnc_support caffe_importer)
+target_include_directories(system_test_import_caffe PRIVATE ${NNC_CAFFE_FRONTEND_DIR})
index d2fed1d..14631d6 100644 (file)
@@ -14,7 +14,7 @@
 #include "core/modelIR/operations/softmax_op.h"
 
 #include "core/modelIR/ShapeInference.h"
-#include "shape_helper.h"
+#include "plugin/common_frontend/shape_helper.h"
 
 #include "op_info_generated.h"
 #include "graph_creator.h"
index 6abb2fa..09d24da 100644 (file)
@@ -11,7 +11,7 @@
 #include "core/modelIR/ShapeInference.h"
 
 #include "op_info_generated.h"
-#include "shape_helper.h"
+#include "plugin/common_frontend/shape_helper.h"
 #include "graph_creator.h"
 
 using namespace nncc::contrib::frontend::common;