Refactor debian package to make separate packages for capi and ccapi, along with their devels.
Other bug fixes/improvements are:
- Update the names of the packages in pkg-config files for the capi and ccapi
- Update the installed files based on the requirement by the devel headers
(this might be even expanded). This will be refactored again once layer_internal and neuralnet
cleanup is performed.
- Update the included headers
**Self evaluation:**
1. Build test: [x]Passed [ ]Failed [ ]Skipped
2. Run test: [x]Passed [ ]Failed [ ]Skipped
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
libdir=@LIB_INSTALL_DIR@
includedir=@INCLUDE_INSTALL_DIR@
-Name: tizen-api-nntrainer
+Name: capi-ml-training
Description: NNTrainer API for Tizen
Version: @VERSION@
Requires:
libdir=@LIB_INSTALL_DIR@
includedir=@INCLUDE_INSTALL_DIR@
-Name: ccapi-nntrainer
+Name: ccapi-ml-training
Description: NNTrainer cc API
Version: @VERSION@
Requires:
Priority: optional
Maintainer: Jijoong Moon <jijoong.moon@samsung.com>
Build-Depends: gcc-9 | gcc-8 | gcc-7 (>=7.5),
- python3, python3-dev, python3-numpy,
- pkg-config, cmake, ninja-build, meson (>=0.50), debhelper (>=9), libboost-dev,
+ python3, python3-numpy,
+ pkg-config, cmake, ninja-build, meson (>=0.50), debhelper (>=9),
libopenblas-dev, libiniparser-dev (>=4.1), tensorflow-lite-dev, libjsoncpp-dev,
libcurl3-gnutls-dev | libcurl4-gnutls-dev | libcurl3-openssl-dev |
libcurl4-openssl-dev | libcurl3-nns-dev | libcurl4-nns-dev, libgtest-dev,
Description: NNTrainer Applications pacakge
This is nntrainer applications package.
+Package: ccapi-ml-training
+Architecture: any
+Multi-Arch: same
+Depends: nntrainer, ${shlibs:Depends}, ${misc:Depends}
+Description: NNTrainer cc-API
+ This package provides c++ API set to train machine learning models on-device.
+
+Package: ccapi-ml-training-dev
+Architecture: any
+Multi-Arch: same
+Depends: ccapi-ml-training, ${shlibs:Depends}, ${misc:Depends}
+Description: Developement package for NNTrainer cc-API
+ This is a development package for NNTrainer cc-API.
+
+Package: capi-ml-training
+Architecture: any
+Multi-Arch: same
+Depends: ccapi-ml-training, ${shlibs:Depends}, ${misc:Depends}
+Description: NNTrainer c-API
+ This package provides native API set to train machine learning models on-device.
+
+Package: capi-ml-training-dev
+Architecture: any
+Multi-Arch: same
+Depends: capi-ml-training, ${shlibs:Depends}, ${misc:Depends}
+Description: Developement package for NNTrainer c-API
+ This is a development package for NNTrainer c-API.
--- /dev/null
+/usr/include/nntrainer/nntrainer.h
+/usr/include/nntrainer/nntrainer-api-common.h
+/usr/lib/*/pkgconfig/capi-ml-training.pc
+/usr/lib/*/libcapi-*.a
--- /dev/null
+/usr/lib/*/libcapi-*.so
--- /dev/null
+/usr/include/nntrainer/model.h
+/usr/include/nntrainer/layer.h
+/usr/include/nntrainer/optimizer.h
+/usr/include/nntrainer/dataset.h
+/usr/lib/*/pkgconfig/ccapi-ml-training.pc
+/usr/lib/*/libccapi-*.a
--- /dev/null
+/usr/lib/*/libccapi-*.so
+/usr/include/nntrainer/app_context.h
+/usr/include/nntrainer/nntrainer_error.h
+/usr/include/nntrainer/nntrainer_log.h
+/usr/include/nntrainer/nntrainer_logger.h
+/usr/include/nntrainer/acti_func.h
+/usr/include/nntrainer/common_properties.h
+/usr/include/nntrainer/loss_layer.h
+/usr/include/nntrainer/weight.h
+/usr/include/nntrainer/var_grad.h
+/usr/include/nntrainer/base_properties.h
+/usr/include/nntrainer/node_exporter.h
+/usr/include/nntrainer/parse_util.h
+/usr/include/nntrainer/graph_core.h
+/usr/include/nntrainer/graph_node.h
/usr/include/nntrainer/databuffer.h
/usr/include/nntrainer/databuffer_factory.h
/usr/include/nntrainer/layer_internal.h
/usr/include/nntrainer/optimizer_devel.h
/usr/include/nntrainer/optimizer_impl.h
/usr/include/nntrainer/optimizer_factory.h
-/usr/include/nntrainer/nntrainer-api-common.h
-/usr/include/nntrainer/nntrainer.h
-/usr/include/nntrainer/model.h
-/usr/include/nntrainer/layer.h
-/usr/include/nntrainer/optimizer.h
-/usr/include/nntrainer/dataset.h
-/usr/include/nntrainer/app_context.h
/usr/include/nntrainer/profiler.h
-/usr/lib/*/pkgconfig/*.pc
-/usr/lib/*/*.a
+/usr/include/nntrainer/dynamic_training_optimization.h
+/usr/include/nntrainer/layer_node.h
+/usr/include/nntrainer/manager.h
+/usr/include/nntrainer/network_graph.h
+/usr/lib/*/pkgconfig/nntrainer.pc
+/usr/lib/*/libnntrainer.a
-/usr/lib/*/*.so
+/usr/lib/*/libnntrainer.so
/etc/nntrainer.ini
]
layer_headers = [
- 'network_graph.h'
+ 'network_graph.h',
+ 'graph_node.h',
+ 'graph_core.h'
]
foreach s : layer_sources
layer_headers = [
'layer_factory.h',
- 'layer_internal.h'
+ 'layer_internal.h',
+ 'acti_func.h',
+ 'layer_node.h',
+ 'common_properties.h',
+ 'loss_layer.h'
]
layer_deps = []
]
nntrainer_sources = []
-nntrainer_headers = ['app_context.h']
+nntrainer_headers = [
+ 'app_context.h',
+ 'nntrainer_error.h',
+ 'nntrainer_log.h',
+ 'nntrainer_logger.h'
+]
# Dependencies
nntrainer_base_deps=[
model_sources = [
'model_loader.cpp',
- 'neuralnet.cpp',
+ 'neuralnet.cpp',
'dynamic_training_optimization.cpp'
]
model_headers = [
- 'neuralnet.h'
+ 'neuralnet.h',
+ 'dynamic_training_optimization.h'
]
foreach s : model_sources
#include <nntrainer_log.h>
#include <parse_util.h>
#include <profiler.h>
+#include <time_dist.h>
#include <unordered_set>
#include <util_func.h>
#include <chrono>
#endif
-#include <activation_layer.h>
#include <app_context.h>
-#include <bn_layer.h>
-#include <conv2d_layer.h>
#include <databuffer.h>
#include <dynamic_training_optimization.h>
-#include <fc_layer.h>
-#include <flatten_layer.h>
-#include <input_layer.h>
#include <layer_node.h>
-#include <loss_layer.h>
#include <manager.h>
#include <ml-api-common.h>
#include <network_graph.h>
#include <optimizer_devel.h>
-#include <pooling2d_layer.h>
#include <tensor.h>
-#include <time_dist.h>
#include <model.h>
#include <nntrainer-api-common.h>
]
util_headers = [
- 'profiler.h'
+ 'profiler.h',
+ 'base_properties.h',
+ 'parse_util.h',
+ 'node_exporter.h'
]
foreach s : util_sources
%config %{_sysconfdir}/nntrainer.ini
%files devel
+%{_includedir}/nntrainer/app_context.h
+%{_includedir}/nntrainer/nntrainer_error.h
+%{_includedir}/nntrainer/nntrainer_log.h
+%{_includedir}/nntrainer/nntrainer_logger.h
+%{_includedir}/nntrainer/acti_func.h
+%{_includedir}/nntrainer/common_properties.h
+%{_includedir}/nntrainer/loss_layer.h
+%{_includedir}/nntrainer/weight.h
+%{_includedir}/nntrainer/var_grad.h
+%{_includedir}/nntrainer/base_properties.h
+%{_includedir}/nntrainer/node_exporter.h
+%{_includedir}/nntrainer/parse_util.h
+%{_includedir}/nntrainer/graph_core.h
+%{_includedir}/nntrainer/graph_node.h
%{_includedir}/nntrainer/databuffer.h
%{_includedir}/nntrainer/databuffer_factory.h
%{_includedir}/nntrainer/layer_internal.h
%{_includedir}/nntrainer/optimizer_devel.h
%{_includedir}/nntrainer/optimizer_impl.h
%{_includedir}/nntrainer/optimizer_factory.h
-%{_includedir}/nntrainer/nntrainer-api-common.h
-%{_includedir}/nntrainer/var_grad.h
-%{_includedir}/nntrainer/weight.h
-%{_includedir}/nntrainer/app_context.h
+%{_includedir}/nntrainer/profiler.h
+%{_includedir}/nntrainer/dynamic_training_optimization.h
+%{_includedir}/nntrainer/layer_node.h
%{_includedir}/nntrainer/manager.h
%{_includedir}/nntrainer/network_graph.h
-%{_includedir}/nntrainer/profiler.h
%{_libdir}/pkgconfig/nntrainer.pc
%files devel-static
#include <gtest/gtest.h>
+#include <activation_layer.h>
#include <bn_layer.h>
#include <input_layer.h>
#include <layer.h>