From ee76b6484f9efa81c56a1dc536b6443bd9e4f783 Mon Sep 17 00:00:00 2001 From: Parichay Kapoor Date: Wed, 4 Nov 2020 11:25:58 +0900 Subject: [PATCH] [restructure] Restructure the core files This patch restructures the internal files include and src folders are replaced with more relevant and clustered folders headers and souces now live together Also the headers exposed in the packaging are severely limited than exposing all the headers. Updated for Android and Tizen packaging as well. **Self evaluation:** 1. Build test: [x]Passed [ ]Failed [ ]Skipped 2. Run test: [x]Passed [ ]Failed [ ]Skipped Signed-off-by: Parichay Kapoor --- api/capi/src/nntrainer.cpp | 1 - jni/Android.mk | 82 +++++++++------- nntrainer/{src => dataset}/databuffer.cpp | 0 nntrainer/{include => dataset}/databuffer.h | 0 nntrainer/{src => dataset}/databuffer_factory.cpp | 0 .../{include => dataset}/databuffer_factory.h | 0 nntrainer/{src => dataset}/databuffer_file.cpp | 0 nntrainer/{include => dataset}/databuffer_file.h | 0 nntrainer/{src => dataset}/databuffer_func.cpp | 0 nntrainer/{include => dataset}/databuffer_func.h | 0 nntrainer/{include => dataset}/databuffer_util.h | 0 nntrainer/dataset/meson.build | 20 ++++ nntrainer/{include => }/delegate.h | 0 nntrainer/{src => layers}/activation_layer.cpp | 0 nntrainer/{include => layers}/activation_layer.h | 0 nntrainer/{src => layers}/addition_layer.cpp | 0 nntrainer/{include => layers}/addition_layer.h | 0 nntrainer/{src => layers}/bn_layer.cpp | 0 nntrainer/{include => layers}/bn_layer.h | 0 nntrainer/{src => layers}/concat_layer.cpp | 0 nntrainer/{include => layers}/concat_layer.h | 0 nntrainer/{src => layers}/conv2d_layer.cpp | 0 nntrainer/{include => layers}/conv2d_layer.h | 0 nntrainer/{src => layers}/fc_layer.cpp | 0 nntrainer/{include => layers}/fc_layer.h | 0 nntrainer/{src => layers}/flatten_layer.cpp | 0 nntrainer/{include => layers}/flatten_layer.h | 0 nntrainer/{src => layers}/input_layer.cpp | 0 nntrainer/{include => layers}/input_layer.h | 0 nntrainer/{src => layers}/layer.cpp | 0 nntrainer/{src => layers}/layer_factory.cpp | 0 nntrainer/{include => layers}/layer_factory.h | 0 nntrainer/{include => layers}/layer_internal.h | 0 nntrainer/{src => layers}/loss_layer.cpp | 0 nntrainer/{include => layers}/loss_layer.h | 0 nntrainer/layers/meson.build | 47 +++++++++ nntrainer/{src => layers}/nnstreamer_layer.cpp | 0 nntrainer/{include => layers}/nnstreamer_layer.h | 0 nntrainer/{src => layers}/pooling2d_layer.cpp | 0 nntrainer/{include => layers}/pooling2d_layer.h | 0 nntrainer/{src => layers}/tflite_layer.cpp | 0 nntrainer/{include => layers}/tflite_layer.h | 0 nntrainer/meson.build | 108 +++++---------------- nntrainer/models/meson.build | 17 ++++ nntrainer/{src => models}/model_loader.cpp | 0 nntrainer/{include => models}/model_loader.h | 0 nntrainer/{src => models}/neuralnet.cpp | 0 nntrainer/{include => models}/neuralnet.h | 0 nntrainer/{include => }/nntrainer_error.h | 0 nntrainer/{include => }/nntrainer_log.h | 0 nntrainer/{src => }/nntrainer_logger.cpp | 0 nntrainer/{include => }/nntrainer_logger.h | 0 nntrainer/{src => optimizers}/adam.cpp | 0 nntrainer/{include => optimizers}/adam.h | 0 nntrainer/optimizers/meson.build | 20 ++++ nntrainer/{src => optimizers}/optimizer.cpp | 0 .../{src => optimizers}/optimizer_factory.cpp | 0 .../{include => optimizers}/optimizer_factory.h | 0 .../{include => optimizers}/optimizer_internal.h | 0 nntrainer/{src => optimizers}/sgd.cpp | 0 nntrainer/{include => optimizers}/sgd.h | 0 nntrainer/{src => tensor}/blas_interface.cpp | 0 nntrainer/{include => tensor}/blas_interface.h | 0 nntrainer/{src => tensor}/lazy_tensor.cpp | 0 nntrainer/{include => tensor}/lazy_tensor.h | 0 nntrainer/tensor/meson.build | 21 ++++ nntrainer/{src => tensor}/tensor.cpp | 0 nntrainer/{include => tensor}/tensor.h | 0 nntrainer/{src => tensor}/tensor_dim.cpp | 0 nntrainer/{include => tensor}/tensor_dim.h | 0 nntrainer/{src => tensor}/weight.cpp | 0 nntrainer/{include => tensor}/weight.h | 0 nntrainer/utils/meson.build | 8 ++ nntrainer/{src => utils}/parse_util.cpp | 0 nntrainer/{include => utils}/parse_util.h | 0 nntrainer/{src => utils}/util_func.cpp | 0 nntrainer/{include => utils}/util_func.h | 0 packaging/nntrainer.spec | 29 +----- test/unittest/unittest_nntrainer_graph.cpp | 3 - 79 files changed, 206 insertions(+), 150 deletions(-) rename nntrainer/{src => dataset}/databuffer.cpp (100%) rename nntrainer/{include => dataset}/databuffer.h (100%) rename nntrainer/{src => dataset}/databuffer_factory.cpp (100%) rename nntrainer/{include => dataset}/databuffer_factory.h (100%) rename nntrainer/{src => dataset}/databuffer_file.cpp (100%) rename nntrainer/{include => dataset}/databuffer_file.h (100%) rename nntrainer/{src => dataset}/databuffer_func.cpp (100%) rename nntrainer/{include => dataset}/databuffer_func.h (100%) rename nntrainer/{include => dataset}/databuffer_util.h (100%) create mode 100644 nntrainer/dataset/meson.build rename nntrainer/{include => }/delegate.h (100%) rename nntrainer/{src => layers}/activation_layer.cpp (100%) rename nntrainer/{include => layers}/activation_layer.h (100%) rename nntrainer/{src => layers}/addition_layer.cpp (100%) rename nntrainer/{include => layers}/addition_layer.h (100%) rename nntrainer/{src => layers}/bn_layer.cpp (100%) rename nntrainer/{include => layers}/bn_layer.h (100%) rename nntrainer/{src => layers}/concat_layer.cpp (100%) rename nntrainer/{include => layers}/concat_layer.h (100%) rename nntrainer/{src => layers}/conv2d_layer.cpp (100%) rename nntrainer/{include => layers}/conv2d_layer.h (100%) rename nntrainer/{src => layers}/fc_layer.cpp (100%) rename nntrainer/{include => layers}/fc_layer.h (100%) rename nntrainer/{src => layers}/flatten_layer.cpp (100%) rename nntrainer/{include => layers}/flatten_layer.h (100%) rename nntrainer/{src => layers}/input_layer.cpp (100%) rename nntrainer/{include => layers}/input_layer.h (100%) rename nntrainer/{src => layers}/layer.cpp (100%) rename nntrainer/{src => layers}/layer_factory.cpp (100%) rename nntrainer/{include => layers}/layer_factory.h (100%) rename nntrainer/{include => layers}/layer_internal.h (100%) rename nntrainer/{src => layers}/loss_layer.cpp (100%) rename nntrainer/{include => layers}/loss_layer.h (100%) create mode 100644 nntrainer/layers/meson.build rename nntrainer/{src => layers}/nnstreamer_layer.cpp (100%) rename nntrainer/{include => layers}/nnstreamer_layer.h (100%) rename nntrainer/{src => layers}/pooling2d_layer.cpp (100%) rename nntrainer/{include => layers}/pooling2d_layer.h (100%) rename nntrainer/{src => layers}/tflite_layer.cpp (100%) rename nntrainer/{include => layers}/tflite_layer.h (100%) create mode 100644 nntrainer/models/meson.build rename nntrainer/{src => models}/model_loader.cpp (100%) rename nntrainer/{include => models}/model_loader.h (100%) rename nntrainer/{src => models}/neuralnet.cpp (100%) rename nntrainer/{include => models}/neuralnet.h (100%) rename nntrainer/{include => }/nntrainer_error.h (100%) rename nntrainer/{include => }/nntrainer_log.h (100%) rename nntrainer/{src => }/nntrainer_logger.cpp (100%) rename nntrainer/{include => }/nntrainer_logger.h (100%) rename nntrainer/{src => optimizers}/adam.cpp (100%) rename nntrainer/{include => optimizers}/adam.h (100%) create mode 100644 nntrainer/optimizers/meson.build rename nntrainer/{src => optimizers}/optimizer.cpp (100%) rename nntrainer/{src => optimizers}/optimizer_factory.cpp (100%) rename nntrainer/{include => optimizers}/optimizer_factory.h (100%) rename nntrainer/{include => optimizers}/optimizer_internal.h (100%) rename nntrainer/{src => optimizers}/sgd.cpp (100%) rename nntrainer/{include => optimizers}/sgd.h (100%) rename nntrainer/{src => tensor}/blas_interface.cpp (100%) rename nntrainer/{include => tensor}/blas_interface.h (100%) rename nntrainer/{src => tensor}/lazy_tensor.cpp (100%) rename nntrainer/{include => tensor}/lazy_tensor.h (100%) create mode 100644 nntrainer/tensor/meson.build rename nntrainer/{src => tensor}/tensor.cpp (100%) rename nntrainer/{include => tensor}/tensor.h (100%) rename nntrainer/{src => tensor}/tensor_dim.cpp (100%) rename nntrainer/{include => tensor}/tensor_dim.h (100%) rename nntrainer/{src => tensor}/weight.cpp (100%) rename nntrainer/{include => tensor}/weight.h (100%) create mode 100644 nntrainer/utils/meson.build rename nntrainer/{src => utils}/parse_util.cpp (100%) rename nntrainer/{include => utils}/parse_util.h (100%) rename nntrainer/{src => utils}/util_func.cpp (100%) rename nntrainer/{include => utils}/util_func.h (100%) diff --git a/api/capi/src/nntrainer.cpp b/api/capi/src/nntrainer.cpp index 53cd719..6b1b65f 100644 --- a/api/capi/src/nntrainer.cpp +++ b/api/capi/src/nntrainer.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include diff --git a/jni/Android.mk b/jni/Android.mk index 9a435d4..46f12ce 100644 --- a/jni/Android.mk +++ b/jni/Android.mk @@ -53,42 +53,48 @@ include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) endif #ENABLE_TFLITE_BACKBONE -NNTRAINER_SRCS := $(NNTRAINER_ROOT)/nntrainer/src/neuralnet.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/tensor.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/lazy_tensor.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/layer_factory.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/input_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/fc_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/bn_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/loss_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/databuffer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/databuffer_factory.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/databuffer_func.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/databuffer_file.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/util_func.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/optimizer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/parse_util.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/tensor_dim.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/conv2d_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/pooling2d_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/activation_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/flatten_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/model_loader.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/addition_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/concat_layer.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/blas_interface.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/weight.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/adam.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/sgd.cpp \ - $(NNTRAINER_ROOT)/nntrainer/src/optimizer_factory.cpp +NNTRAINER_SRCS := $(NNTRAINER_ROOT)/nntrainer/models/neuralnet.cpp \ + $(NNTRAINER_ROOT)/nntrainer/models/model_loader.cpp \ + $(NNTRAINER_ROOT)/nntrainer/dataset/databuffer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/dataset/databuffer_factory.cpp \ + $(NNTRAINER_ROOT)/nntrainer/dataset/databuffer_func.cpp \ + $(NNTRAINER_ROOT)/nntrainer/dataset/databuffer_file.cpp \ + $(NNTRAINER_ROOT)/nntrainer/tensor/tensor.cpp \ + $(NNTRAINER_ROOT)/nntrainer/tensor/lazy_tensor.cpp \ + $(NNTRAINER_ROOT)/nntrainer/tensor/weight.cpp \ + $(NNTRAINER_ROOT)/nntrainer/tensor/tensor_dim.cpp \ + $(NNTRAINER_ROOT)/nntrainer/tensor/blas_interface.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/layer_factory.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/input_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/fc_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/bn_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/loss_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/conv2d_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/pooling2d_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/activation_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/flatten_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/addition_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/layers/concat_layer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/optimizers/optimizer.cpp \ + $(NNTRAINER_ROOT)/nntrainer/optimizers/adam.cpp \ + $(NNTRAINER_ROOT)/nntrainer/optimizers/sgd.cpp \ + $(NNTRAINER_ROOT)/nntrainer/optimizers/optimizer_factory.cpp \ + $(NNTRAINER_ROOT)/nntrainer/utils/util_func.cpp \ + $(NNTRAINER_ROOT)/nntrainer/utils/parse_util.cpp # Add tflite backbone building ifeq ($(ENABLE_TFLITE_BACKBONE),1) -NNTRAINER_SRCS += $(NNTRAINER_ROOT)/nntrainer/src/tflite_layer.cpp +NNTRAINER_SRCS += $(NNTRAINER_ROOT)/nntrainer/layers/tflite_layer.cpp endif #ENABLE_TFLITE_BACKBONE -NNTRAINER_INCLUDES := $(NNTRAINER_ROOT)/nntrainer/include \ +NNTRAINER_INCLUDES := $(NNTRAINER_ROOT)/nntrainer \ + $(NNTRAINER_ROOT)/nntrainer/dataset \ + $(NNTRAINER_ROOT)/nntrainer/layers \ + $(NNTRAINER_ROOT)/nntrainer/models \ + $(NNTRAINER_ROOT)/nntrainer/tensor \ + $(NNTRAINER_ROOT)/nntrainer/optimizers \ + $(NNTRAINER_ROOT)/nntrainer/utils \ $(NNTRAINER_ROOT)/api \ $(NNTRAINER_ROOT)/api/ccapi/include \ $(NNTRAINER_ROOT)/api/capi/include/platform @@ -124,7 +130,12 @@ include $(CLEAR_VARS) CAPI_NNTRAINER_SRCS := $(NNTRAINER_ROOT)/api/capi/src/nntrainer.cpp \ $(NNTRAINER_ROOT)/api/capi/src/nntrainer_util.cpp -CAPI_NNTRAINER_INCLUDES := $(NNTRAINER_ROOT)/nntrainer/include \ +CAPI_NNTRAINER_INCLUDES := $(NNTRAINER_ROOT)/nntrainer \ + $(NNTRAINER_ROOT)/nntrainer/dataset \ + $(NNTRAINER_ROOT)/nntrainer/layers \ + $(NNTRAINER_ROOT)/nntrainer/models \ + $(NNTRAINER_ROOT)/nntrainer/tensor \ + $(NNTRAINER_ROOT)/nntrainer/optimizers \ $(NNTRAINER_ROOT)/api \ $(NNTRAINER_ROOT)/api/ccapi/include \ $(NNTRAINER_ROOT)/api/capi/include \ @@ -150,7 +161,12 @@ include $(CLEAR_VARS) CCAPI_NNTRAINER_SRCS := $(NNTRAINER_ROOT)/api/ccapi/src/factory.cpp -CCAPI_NNTRAINER_INCLUDES := $(NNTRAINER_ROOT)/nntrainer/include \ +CCAPI_NNTRAINER_INCLUDES := $(NNTRAINER_ROOT)/nntrainer \ + $(NNTRAINER_ROOT)/nntrainer/dataset \ + $(NNTRAINER_ROOT)/nntrainer/layers \ + $(NNTRAINER_ROOT)/nntrainer/models \ + $(NNTRAINER_ROOT)/nntrainer/tensor \ + $(NNTRAINER_ROOT)/nntrainer/optimizers \ $(NNTRAINER_ROOT)/api \ $(NNTRAINER_ROOT)/api/ccapi/include \ $(NNTRAINER_ROOT)/api/capi/include/platform diff --git a/nntrainer/src/databuffer.cpp b/nntrainer/dataset/databuffer.cpp similarity index 100% rename from nntrainer/src/databuffer.cpp rename to nntrainer/dataset/databuffer.cpp diff --git a/nntrainer/include/databuffer.h b/nntrainer/dataset/databuffer.h similarity index 100% rename from nntrainer/include/databuffer.h rename to nntrainer/dataset/databuffer.h diff --git a/nntrainer/src/databuffer_factory.cpp b/nntrainer/dataset/databuffer_factory.cpp similarity index 100% rename from nntrainer/src/databuffer_factory.cpp rename to nntrainer/dataset/databuffer_factory.cpp diff --git a/nntrainer/include/databuffer_factory.h b/nntrainer/dataset/databuffer_factory.h similarity index 100% rename from nntrainer/include/databuffer_factory.h rename to nntrainer/dataset/databuffer_factory.h diff --git a/nntrainer/src/databuffer_file.cpp b/nntrainer/dataset/databuffer_file.cpp similarity index 100% rename from nntrainer/src/databuffer_file.cpp rename to nntrainer/dataset/databuffer_file.cpp diff --git a/nntrainer/include/databuffer_file.h b/nntrainer/dataset/databuffer_file.h similarity index 100% rename from nntrainer/include/databuffer_file.h rename to nntrainer/dataset/databuffer_file.h diff --git a/nntrainer/src/databuffer_func.cpp b/nntrainer/dataset/databuffer_func.cpp similarity index 100% rename from nntrainer/src/databuffer_func.cpp rename to nntrainer/dataset/databuffer_func.cpp diff --git a/nntrainer/include/databuffer_func.h b/nntrainer/dataset/databuffer_func.h similarity index 100% rename from nntrainer/include/databuffer_func.h rename to nntrainer/dataset/databuffer_func.h diff --git a/nntrainer/include/databuffer_util.h b/nntrainer/dataset/databuffer_util.h similarity index 100% rename from nntrainer/include/databuffer_util.h rename to nntrainer/dataset/databuffer_util.h diff --git a/nntrainer/dataset/meson.build b/nntrainer/dataset/meson.build new file mode 100644 index 0000000..842874d --- /dev/null +++ b/nntrainer/dataset/meson.build @@ -0,0 +1,20 @@ +dataset_sources = [ + 'databuffer.cpp', + 'databuffer_factory.cpp', + 'databuffer_file.cpp', + 'databuffer_func.cpp' +] + +dataset_headers = [ + 'databuffer.h', + 'databuffer_factory.h' +] + +foreach s : dataset_sources + nntrainer_sources += join_paths(meson.current_source_dir(), s) +endforeach + +foreach h : dataset_headers + nntrainer_headers += join_paths(meson.current_source_dir(), h) +endforeach + diff --git a/nntrainer/include/delegate.h b/nntrainer/delegate.h similarity index 100% rename from nntrainer/include/delegate.h rename to nntrainer/delegate.h diff --git a/nntrainer/src/activation_layer.cpp b/nntrainer/layers/activation_layer.cpp similarity index 100% rename from nntrainer/src/activation_layer.cpp rename to nntrainer/layers/activation_layer.cpp diff --git a/nntrainer/include/activation_layer.h b/nntrainer/layers/activation_layer.h similarity index 100% rename from nntrainer/include/activation_layer.h rename to nntrainer/layers/activation_layer.h diff --git a/nntrainer/src/addition_layer.cpp b/nntrainer/layers/addition_layer.cpp similarity index 100% rename from nntrainer/src/addition_layer.cpp rename to nntrainer/layers/addition_layer.cpp diff --git a/nntrainer/include/addition_layer.h b/nntrainer/layers/addition_layer.h similarity index 100% rename from nntrainer/include/addition_layer.h rename to nntrainer/layers/addition_layer.h diff --git a/nntrainer/src/bn_layer.cpp b/nntrainer/layers/bn_layer.cpp similarity index 100% rename from nntrainer/src/bn_layer.cpp rename to nntrainer/layers/bn_layer.cpp diff --git a/nntrainer/include/bn_layer.h b/nntrainer/layers/bn_layer.h similarity index 100% rename from nntrainer/include/bn_layer.h rename to nntrainer/layers/bn_layer.h diff --git a/nntrainer/src/concat_layer.cpp b/nntrainer/layers/concat_layer.cpp similarity index 100% rename from nntrainer/src/concat_layer.cpp rename to nntrainer/layers/concat_layer.cpp diff --git a/nntrainer/include/concat_layer.h b/nntrainer/layers/concat_layer.h similarity index 100% rename from nntrainer/include/concat_layer.h rename to nntrainer/layers/concat_layer.h diff --git a/nntrainer/src/conv2d_layer.cpp b/nntrainer/layers/conv2d_layer.cpp similarity index 100% rename from nntrainer/src/conv2d_layer.cpp rename to nntrainer/layers/conv2d_layer.cpp diff --git a/nntrainer/include/conv2d_layer.h b/nntrainer/layers/conv2d_layer.h similarity index 100% rename from nntrainer/include/conv2d_layer.h rename to nntrainer/layers/conv2d_layer.h diff --git a/nntrainer/src/fc_layer.cpp b/nntrainer/layers/fc_layer.cpp similarity index 100% rename from nntrainer/src/fc_layer.cpp rename to nntrainer/layers/fc_layer.cpp diff --git a/nntrainer/include/fc_layer.h b/nntrainer/layers/fc_layer.h similarity index 100% rename from nntrainer/include/fc_layer.h rename to nntrainer/layers/fc_layer.h diff --git a/nntrainer/src/flatten_layer.cpp b/nntrainer/layers/flatten_layer.cpp similarity index 100% rename from nntrainer/src/flatten_layer.cpp rename to nntrainer/layers/flatten_layer.cpp diff --git a/nntrainer/include/flatten_layer.h b/nntrainer/layers/flatten_layer.h similarity index 100% rename from nntrainer/include/flatten_layer.h rename to nntrainer/layers/flatten_layer.h diff --git a/nntrainer/src/input_layer.cpp b/nntrainer/layers/input_layer.cpp similarity index 100% rename from nntrainer/src/input_layer.cpp rename to nntrainer/layers/input_layer.cpp diff --git a/nntrainer/include/input_layer.h b/nntrainer/layers/input_layer.h similarity index 100% rename from nntrainer/include/input_layer.h rename to nntrainer/layers/input_layer.h diff --git a/nntrainer/src/layer.cpp b/nntrainer/layers/layer.cpp similarity index 100% rename from nntrainer/src/layer.cpp rename to nntrainer/layers/layer.cpp diff --git a/nntrainer/src/layer_factory.cpp b/nntrainer/layers/layer_factory.cpp similarity index 100% rename from nntrainer/src/layer_factory.cpp rename to nntrainer/layers/layer_factory.cpp diff --git a/nntrainer/include/layer_factory.h b/nntrainer/layers/layer_factory.h similarity index 100% rename from nntrainer/include/layer_factory.h rename to nntrainer/layers/layer_factory.h diff --git a/nntrainer/include/layer_internal.h b/nntrainer/layers/layer_internal.h similarity index 100% rename from nntrainer/include/layer_internal.h rename to nntrainer/layers/layer_internal.h diff --git a/nntrainer/src/loss_layer.cpp b/nntrainer/layers/loss_layer.cpp similarity index 100% rename from nntrainer/src/loss_layer.cpp rename to nntrainer/layers/loss_layer.cpp diff --git a/nntrainer/include/loss_layer.h b/nntrainer/layers/loss_layer.h similarity index 100% rename from nntrainer/include/loss_layer.h rename to nntrainer/layers/loss_layer.h diff --git a/nntrainer/layers/meson.build b/nntrainer/layers/meson.build new file mode 100644 index 0000000..c78aeca --- /dev/null +++ b/nntrainer/layers/meson.build @@ -0,0 +1,47 @@ +layer_sources = [ + 'activation_layer.cpp', + 'addition_layer.cpp', + 'concat_layer.cpp', + 'bn_layer.cpp', + 'conv2d_layer.cpp', + 'fc_layer.cpp', + 'flatten_layer.cpp', + 'input_layer.cpp', + 'layer.cpp', + 'layer_factory.cpp', + 'loss_layer.cpp', + 'pooling2d_layer.cpp' +] + +layer_headers = [ + 'layer_factory.h', + 'layer_internal.h' +] + +layer_deps = [] + +if get_option('enable-nnstreamer-backbone') + if not nnstreamer_capi_dep.found() + error('NNStreamer CAPI dependency not found') + endif + layer_deps += nnstreamer_capi_dep + layer_sources += 'nnstreamer_layer.cpp' +endif + +if get_option('enable-tflite-backbone') + if not tflite_dep.found() + error('Tensorflow-Lite dependency not found') + endif + layer_deps += tflite_dep + layer_sources += 'tflite_layer.cpp' +endif + +nntrainer_base_deps += layer_deps + +foreach s : layer_sources + nntrainer_sources += join_paths(meson.current_source_dir(), s) +endforeach + +foreach h : layer_headers + nntrainer_headers += join_paths(meson.current_source_dir(), h) +endforeach diff --git a/nntrainer/src/nnstreamer_layer.cpp b/nntrainer/layers/nnstreamer_layer.cpp similarity index 100% rename from nntrainer/src/nnstreamer_layer.cpp rename to nntrainer/layers/nnstreamer_layer.cpp diff --git a/nntrainer/include/nnstreamer_layer.h b/nntrainer/layers/nnstreamer_layer.h similarity index 100% rename from nntrainer/include/nnstreamer_layer.h rename to nntrainer/layers/nnstreamer_layer.h diff --git a/nntrainer/src/pooling2d_layer.cpp b/nntrainer/layers/pooling2d_layer.cpp similarity index 100% rename from nntrainer/src/pooling2d_layer.cpp rename to nntrainer/layers/pooling2d_layer.cpp diff --git a/nntrainer/include/pooling2d_layer.h b/nntrainer/layers/pooling2d_layer.h similarity index 100% rename from nntrainer/include/pooling2d_layer.h rename to nntrainer/layers/pooling2d_layer.h diff --git a/nntrainer/src/tflite_layer.cpp b/nntrainer/layers/tflite_layer.cpp similarity index 100% rename from nntrainer/src/tflite_layer.cpp rename to nntrainer/layers/tflite_layer.cpp diff --git a/nntrainer/include/tflite_layer.h b/nntrainer/layers/tflite_layer.h similarity index 100% rename from nntrainer/include/tflite_layer.h rename to nntrainer/layers/tflite_layer.h diff --git a/nntrainer/meson.build b/nntrainer/meson.build index 0d513fe..baaba19 100644 --- a/nntrainer/meson.build +++ b/nntrainer/meson.build @@ -1,9 +1,11 @@ nntrainer_inc = [ - include_directories('./include'), - include_directories('../api'), - include_directories('../api/ccapi/include') + include_directories('.'), + include_directories('../api', '../api/ccapi/include') ] +nntrainer_sources = [] +nntrainer_headers = [] + # pc file is not present for 'ml-api-common' yet if cxx.has_header('nnstreamer/ml-api-common.h', required: false) nntrainer_inc += include_directories ('/usr/include/nnstreamer') @@ -25,92 +27,27 @@ if build_platform == 'tizen' nntrainer_base_deps += dependency('dlog') endif -nntrainer_sources = [ - 'src/activation_layer.cpp', - 'src/addition_layer.cpp', - 'src/concat_layer.cpp', - 'src/blas_interface.cpp', - 'src/bn_layer.cpp', - 'src/conv2d_layer.cpp', - 'src/databuffer.cpp', - 'src/databuffer_factory.cpp', - 'src/databuffer_file.cpp', - 'src/databuffer_func.cpp', - 'src/fc_layer.cpp', - 'src/flatten_layer.cpp', - 'src/input_layer.cpp', - 'src/layer.cpp', - 'src/layer_factory.cpp', - 'src/lazy_tensor.cpp', - 'src/loss_layer.cpp', - 'src/model_loader.cpp', - 'src/neuralnet.cpp', - 'src/nntrainer_logger.cpp', - 'src/optimizer.cpp', - 'src/optimizer_factory.cpp', - 'src/parse_util.cpp', - 'src/pooling2d_layer.cpp', - 'src/sgd.cpp', - 'src/adam.cpp', - 'src/tensor.cpp', - 'src/tensor_dim.cpp', - 'src/util_func.cpp', - 'src/weight.cpp' +nntrainer_elements = [ + 'dataset', + 'layers', + 'models', + 'optimizers', + 'tensor', + 'utils', ] -nntrainer_headers = [ - 'include/activation_layer.h', - 'include/addition_layer.h', - 'include/concat_layer.h', - 'include/blas_interface.h', - 'include/bn_layer.h', - 'include/conv2d_layer.h', - 'include/databuffer.h', - 'include/databuffer_factory.h', - 'include/databuffer_file.h', - 'include/databuffer_func.h', - 'include/databuffer_util.h', - 'include/delegate.h', - 'include/fc_layer.h', - 'include/flatten_layer.h', - 'include/input_layer.h', - 'include/layer_internal.h', - 'include/layer_factory.h', - 'include/lazy_tensor.h', - 'include/loss_layer.h', - 'include/model_loader.h', - 'include/neuralnet.h', - 'include/nntrainer_log.h', - 'include/nntrainer_logger.h', - 'include/optimizer_internal.h', - 'include/parse_util.h', - 'include/pooling2d_layer.h', - 'include/sgd.h', - 'include/adam.h', - 'include/tensor.h', - 'include/tensor_dim.h', - 'include/util_func.h', - 'include/weight.h', - 'include/optimizer_factory.h', -] +foreach elem : nntrainer_elements + subdir(elem) + nntrainer_inc += include_directories(elem) +endforeach -if get_option('enable-nnstreamer-backbone') - if not nnstreamer_capi_dep.found() - error('NNStreamer CAPI dependency not found') - endif - nntrainer_base_deps += nnstreamer_capi_dep - nntrainer_headers += 'include/nnstreamer_layer.h' - nntrainer_sources += 'src/nnstreamer_layer.cpp' -endif +nntrainer_common_sources = [ + 'nntrainer_logger.cpp', +] -if get_option('enable-tflite-backbone') - if not tflite_dep.found() - error('Tensorflow-Lite dependency not found') - endif - nntrainer_base_deps += tflite_dep - nntrainer_headers += 'include/tflite_layer.h' - nntrainer_sources += 'src/tflite_layer.cpp' -endif +foreach s : nntrainer_common_sources + nntrainer_sources += join_paths(meson.current_source_dir(), s) +endforeach # Build libraries nntrainer_shared = shared_library('nntrainer', @@ -143,3 +80,4 @@ nntrainer_dep = declare_dependency(link_with: nntrainer_lib, install_headers(nntrainer_headers, subdir: 'nntrainer' ) + diff --git a/nntrainer/models/meson.build b/nntrainer/models/meson.build new file mode 100644 index 0000000..ff4d541 --- /dev/null +++ b/nntrainer/models/meson.build @@ -0,0 +1,17 @@ +model_sources = [ + 'model_loader.cpp', + 'neuralnet.cpp' +] + +model_headers = [ + 'neuralnet.h' +] + +foreach s : model_sources + nntrainer_sources += join_paths(meson.current_source_dir(), s) +endforeach + +foreach h : model_headers + nntrainer_headers += join_paths(meson.current_source_dir(), h) +endforeach + diff --git a/nntrainer/src/model_loader.cpp b/nntrainer/models/model_loader.cpp similarity index 100% rename from nntrainer/src/model_loader.cpp rename to nntrainer/models/model_loader.cpp diff --git a/nntrainer/include/model_loader.h b/nntrainer/models/model_loader.h similarity index 100% rename from nntrainer/include/model_loader.h rename to nntrainer/models/model_loader.h diff --git a/nntrainer/src/neuralnet.cpp b/nntrainer/models/neuralnet.cpp similarity index 100% rename from nntrainer/src/neuralnet.cpp rename to nntrainer/models/neuralnet.cpp diff --git a/nntrainer/include/neuralnet.h b/nntrainer/models/neuralnet.h similarity index 100% rename from nntrainer/include/neuralnet.h rename to nntrainer/models/neuralnet.h diff --git a/nntrainer/include/nntrainer_error.h b/nntrainer/nntrainer_error.h similarity index 100% rename from nntrainer/include/nntrainer_error.h rename to nntrainer/nntrainer_error.h diff --git a/nntrainer/include/nntrainer_log.h b/nntrainer/nntrainer_log.h similarity index 100% rename from nntrainer/include/nntrainer_log.h rename to nntrainer/nntrainer_log.h diff --git a/nntrainer/src/nntrainer_logger.cpp b/nntrainer/nntrainer_logger.cpp similarity index 100% rename from nntrainer/src/nntrainer_logger.cpp rename to nntrainer/nntrainer_logger.cpp diff --git a/nntrainer/include/nntrainer_logger.h b/nntrainer/nntrainer_logger.h similarity index 100% rename from nntrainer/include/nntrainer_logger.h rename to nntrainer/nntrainer_logger.h diff --git a/nntrainer/src/adam.cpp b/nntrainer/optimizers/adam.cpp similarity index 100% rename from nntrainer/src/adam.cpp rename to nntrainer/optimizers/adam.cpp diff --git a/nntrainer/include/adam.h b/nntrainer/optimizers/adam.h similarity index 100% rename from nntrainer/include/adam.h rename to nntrainer/optimizers/adam.h diff --git a/nntrainer/optimizers/meson.build b/nntrainer/optimizers/meson.build new file mode 100644 index 0000000..c807fc3 --- /dev/null +++ b/nntrainer/optimizers/meson.build @@ -0,0 +1,20 @@ +optimizer_sources = [ + 'adam.cpp', + 'optimizer.cpp', + 'optimizer_factory.cpp', + 'sgd.cpp' +] + +optimizer_headers = [ + 'optimizer_factory.h', + 'optimizer_internal.h' +] + +foreach s : optimizer_sources + nntrainer_sources += join_paths(meson.current_source_dir(), s) +endforeach + +foreach h : optimizer_headers + nntrainer_headers += join_paths(meson.current_source_dir(), h) +endforeach + diff --git a/nntrainer/src/optimizer.cpp b/nntrainer/optimizers/optimizer.cpp similarity index 100% rename from nntrainer/src/optimizer.cpp rename to nntrainer/optimizers/optimizer.cpp diff --git a/nntrainer/src/optimizer_factory.cpp b/nntrainer/optimizers/optimizer_factory.cpp similarity index 100% rename from nntrainer/src/optimizer_factory.cpp rename to nntrainer/optimizers/optimizer_factory.cpp diff --git a/nntrainer/include/optimizer_factory.h b/nntrainer/optimizers/optimizer_factory.h similarity index 100% rename from nntrainer/include/optimizer_factory.h rename to nntrainer/optimizers/optimizer_factory.h diff --git a/nntrainer/include/optimizer_internal.h b/nntrainer/optimizers/optimizer_internal.h similarity index 100% rename from nntrainer/include/optimizer_internal.h rename to nntrainer/optimizers/optimizer_internal.h diff --git a/nntrainer/src/sgd.cpp b/nntrainer/optimizers/sgd.cpp similarity index 100% rename from nntrainer/src/sgd.cpp rename to nntrainer/optimizers/sgd.cpp diff --git a/nntrainer/include/sgd.h b/nntrainer/optimizers/sgd.h similarity index 100% rename from nntrainer/include/sgd.h rename to nntrainer/optimizers/sgd.h diff --git a/nntrainer/src/blas_interface.cpp b/nntrainer/tensor/blas_interface.cpp similarity index 100% rename from nntrainer/src/blas_interface.cpp rename to nntrainer/tensor/blas_interface.cpp diff --git a/nntrainer/include/blas_interface.h b/nntrainer/tensor/blas_interface.h similarity index 100% rename from nntrainer/include/blas_interface.h rename to nntrainer/tensor/blas_interface.h diff --git a/nntrainer/src/lazy_tensor.cpp b/nntrainer/tensor/lazy_tensor.cpp similarity index 100% rename from nntrainer/src/lazy_tensor.cpp rename to nntrainer/tensor/lazy_tensor.cpp diff --git a/nntrainer/include/lazy_tensor.h b/nntrainer/tensor/lazy_tensor.h similarity index 100% rename from nntrainer/include/lazy_tensor.h rename to nntrainer/tensor/lazy_tensor.h diff --git a/nntrainer/tensor/meson.build b/nntrainer/tensor/meson.build new file mode 100644 index 0000000..c33d613 --- /dev/null +++ b/nntrainer/tensor/meson.build @@ -0,0 +1,21 @@ +tensor_sources = [ + 'blas_interface.cpp', + 'lazy_tensor.cpp', + 'tensor.cpp', + 'tensor_dim.cpp', + 'weight.cpp' +] + +tensor_headers = [ + 'tensor.h', + 'tensor_dim.h', + 'weight.h' +] + +foreach s : tensor_sources + nntrainer_sources += join_paths(meson.current_source_dir(), s) +endforeach + +foreach h : tensor_headers + nntrainer_headers += join_paths(meson.current_source_dir(), h) +endforeach diff --git a/nntrainer/src/tensor.cpp b/nntrainer/tensor/tensor.cpp similarity index 100% rename from nntrainer/src/tensor.cpp rename to nntrainer/tensor/tensor.cpp diff --git a/nntrainer/include/tensor.h b/nntrainer/tensor/tensor.h similarity index 100% rename from nntrainer/include/tensor.h rename to nntrainer/tensor/tensor.h diff --git a/nntrainer/src/tensor_dim.cpp b/nntrainer/tensor/tensor_dim.cpp similarity index 100% rename from nntrainer/src/tensor_dim.cpp rename to nntrainer/tensor/tensor_dim.cpp diff --git a/nntrainer/include/tensor_dim.h b/nntrainer/tensor/tensor_dim.h similarity index 100% rename from nntrainer/include/tensor_dim.h rename to nntrainer/tensor/tensor_dim.h diff --git a/nntrainer/src/weight.cpp b/nntrainer/tensor/weight.cpp similarity index 100% rename from nntrainer/src/weight.cpp rename to nntrainer/tensor/weight.cpp diff --git a/nntrainer/include/weight.h b/nntrainer/tensor/weight.h similarity index 100% rename from nntrainer/include/weight.h rename to nntrainer/tensor/weight.h diff --git a/nntrainer/utils/meson.build b/nntrainer/utils/meson.build new file mode 100644 index 0000000..fd8ee85 --- /dev/null +++ b/nntrainer/utils/meson.build @@ -0,0 +1,8 @@ +util_sources = [ + 'parse_util.cpp', + 'util_func.cpp' +] + +foreach s : util_sources + nntrainer_sources += join_paths(meson.current_source_dir(), s) +endforeach diff --git a/nntrainer/src/parse_util.cpp b/nntrainer/utils/parse_util.cpp similarity index 100% rename from nntrainer/src/parse_util.cpp rename to nntrainer/utils/parse_util.cpp diff --git a/nntrainer/include/parse_util.h b/nntrainer/utils/parse_util.h similarity index 100% rename from nntrainer/include/parse_util.h rename to nntrainer/utils/parse_util.h diff --git a/nntrainer/src/util_func.cpp b/nntrainer/utils/util_func.cpp similarity index 100% rename from nntrainer/src/util_func.cpp rename to nntrainer/utils/util_func.cpp diff --git a/nntrainer/include/util_func.h b/nntrainer/utils/util_func.h similarity index 100% rename from nntrainer/include/util_func.h rename to nntrainer/utils/util_func.h diff --git a/packaging/nntrainer.spec b/packaging/nntrainer.spec index beb15a4..24f6c66 100644 --- a/packaging/nntrainer.spec +++ b/packaging/nntrainer.spec @@ -373,42 +373,15 @@ cp -r result %{buildroot}%{_datadir}/nntrainer/unittest/ %files devel %{_includedir}/nntrainer/databuffer.h %{_includedir}/nntrainer/databuffer_factory.h -%{_includedir}/nntrainer/databuffer_file.h -%{_includedir}/nntrainer/databuffer_func.h -%{_includedir}/nntrainer/databuffer_util.h %{_includedir}/nntrainer/layer_internal.h %{_includedir}/nntrainer/layer_factory.h -%{_includedir}/nntrainer/input_layer.h -%{_includedir}/nntrainer/fc_layer.h -%{_includedir}/nntrainer/bn_layer.h -%{_includedir}/nntrainer/conv2d_layer.h -%{_includedir}/nntrainer/pooling2d_layer.h -%{_includedir}/nntrainer/flatten_layer.h -%{_includedir}/nntrainer/loss_layer.h -%{_includedir}/nntrainer/activation_layer.h %{_includedir}/nntrainer/neuralnet.h -%{_includedir}/nntrainer/model_loader.h %{_includedir}/nntrainer/tensor.h -%{_includedir}/nntrainer/lazy_tensor.h %{_includedir}/nntrainer/tensor_dim.h -%{_includedir}/nntrainer/nntrainer_log.h -%{_includedir}/nntrainer/nntrainer_logger.h %{_includedir}/nntrainer/optimizer_internal.h -%{_includedir}/nntrainer/util_func.h -%{_includedir}/nntrainer/parse_util.h -%{_includedir}/nntrainer/addition_layer.h -%{_includedir}/nntrainer/concat_layer.h -%{_includedir}/nntrainer/delegate.h +%{_includedir}/nntrainer/optimizer_factory.h %{_includedir}/nntrainer/nntrainer-api-common.h -%{_includedir}/nntrainer/blas_interface.h %{_includedir}/nntrainer/weight.h -%{_includedir}/nntrainer/adam.h -%{_includedir}/nntrainer/sgd.h -%{_includedir}/nntrainer/optimizer_factory.h -%if 0%{?support_nnstreamer_backbone} -%{_includedir}/nntrainer/nnstreamer_layer.h -%endif -%{_includedir}/nntrainer/tflite_layer.h %{_libdir}/pkgconfig/nntrainer.pc %files devel-static diff --git a/test/unittest/unittest_nntrainer_graph.cpp b/test/unittest/unittest_nntrainer_graph.cpp index adde42b..a2996d3 100644 --- a/test/unittest/unittest_nntrainer_graph.cpp +++ b/test/unittest/unittest_nntrainer_graph.cpp @@ -99,9 +99,6 @@ static IniSection conv2d("conv2d", "Type = conv2d |" "padding = 0,0 |"); static int SUCCESS = 0; -static int LOADFAIL = initest::LOAD; -static int INITFAIL = initest::INIT; -static int ALLFAIL = LOADFAIL | INITFAIL; using I = IniSection; -- 2.7.4