makesource [Mon, 23 May 2022 09:07:56 +0000 (18:07 +0900)]
[JAVA-Api] Modify build script for MXNet build
Modify build script flag that does not related with mxnet
Signed-off-by: makesource <makesource@gmail.com>
makesource [Sun, 1 May 2022 06:16:06 +0000 (15:16 +0900)]
[JAVA-Api] Modify build script for MXNet build
Modify build script to download MXNet so files
Signed-off-by: makesource <makesource@gmail.com>
makesource [Sun, 1 May 2022 03:50:02 +0000 (12:50 +0900)]
[JAVA-Api] Add and update MXNet related mk files
Add mk files for prebuilt MXNet shared library files
Signed-off-by: makesource <makesource@gmail.com>
Yongjoo Ahn [Thu, 26 May 2022 12:02:49 +0000 (21:02 +0900)]
[trivial] Fix some typos
- Fix some typos.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Sangjung Woo [Mon, 23 May 2022 01:33:46 +0000 (10:33 +0900)]
[C-API] Fix the typo
This patch fixes the typo in ml-api-common.h file.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yongjoo Ahn [Fri, 13 May 2022 06:58:54 +0000 (15:58 +0900)]
[test] Add test for decoding pngfile using appsrc
- Add a test for decoding pngfile using appsrc (C API and android JAVA)
- It check the equality of decoded orange.png using simple pipline
with raw file (orange.raw)
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 11 May 2022 07:21:08 +0000 (16:21 +0900)]
[pipeline] Let pipeline src use current caps when it's given
- If current caps is given, use it rather than allowed caps.
- Use caps "image/png" when the pipeline is "appsrc caps=image/png ! pngdec ! ... "
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan [Mon, 9 May 2022 01:54:36 +0000 (10:54 +0900)]
[Single] Remove gst dependency from single-shot
Remove gst dependency from singlep-shot
Signed-off-by: gichan <gichan2.jang@samsung.com>
Sangjung Woo [Mon, 2 May 2022 13:13:17 +0000 (22:13 +0900)]
[C/common] Remove unnecessary NULL assignment
This patch removes the unnecessary NULL asignment in
_ml_tensors_info_free() since _ml_tensors_info_initialize() function
internally asigns the NULL to the name of each ml_tensor_info_s. It
removes redundant code and increase the performance.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Mon, 2 May 2022 11:54:35 +0000 (20:54 +0900)]
[C/Inference] Apply extract method technique to remove redundant code
Three internal functions for appsrc callback have the redundant code to
fetch the callback function. This patch applies the extract method
technique to remove it and increase maintainability.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Mon, 2 May 2022 11:05:16 +0000 (20:05 +0900)]
[C/Inference] Cleanup the nested-if statement
ml_pipeline_src_parse_tensors_info() has the deep nested-if statement
and it makes it hard to understand and maintain. This patch does
refactoring the code structure and increases readability and
maintainability.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 3 May 2022 11:12:37 +0000 (20:12 +0900)]
[C-API] Revert "Move ml_strerror() to internal header"
Since ml_strerror() & ml_error() functions are used in webapi-plugins
module, they should be in ml-api-common.h header.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 3 May 2022 07:36:08 +0000 (16:36 +0900)]
[C-API] Move ml_strerror() to internal header
ml_strerror(), ml_error() functions are not ready to release. So they
are moved to internal header.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yongjoo Ahn [Tue, 3 May 2022 06:47:45 +0000 (15:47 +0900)]
[trivial] Fix some typos
- Fix some typos in several files
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Sangjung Woo [Sat, 9 Apr 2022 14:47:33 +0000 (23:47 +0900)]
[C-API/Service] Refactoring for ML Service API
This patch adds disconnectDB() interface in IMLServiceDB and closes
the DB handle explicitly after use. Since some embedded database
such as LevelDB does not support multi-process so only one process
can access the DB at one time and it might cause the IO exceptions.
This patch reduces the deadlock situation.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Sat, 9 Apr 2022 00:36:55 +0000 (09:36 +0900)]
[C-API/Test] Add Mock testcase for Service API
ML Service API uses an external database library and it could raise
unexpected errors such as IO Exception. To handle their exceptions,
lots of error handling code was added but it is hard to test because
exceptions are not raised in normal cases. In this patch, we use GMock
for dependency injection of external libraries. We can define the
expected exception when calling an external API so can verify its operation.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 26 Apr 2022 04:36:30 +0000 (13:36 +0900)]
[C-API] Remove unnecessary doxygen tag
This patch removes the unnecessary doxygen tag in doc.h file.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Mon, 25 Apr 2022 06:30:35 +0000 (15:30 +0900)]
[C-Api/pipeline] clear element callback
1. Clear element callback before changing the pipeline state - receiving the EOS event.
2. Fix element lock when an error occurs in internal process.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Fri, 22 Apr 2022 05:37:35 +0000 (14:37 +0900)]
[C-API] Update doc file for ML Service API
This patch adds the doxygen section and updates doc.h file for ML Service API.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Fri, 22 Apr 2022 06:05:23 +0000 (15:05 +0900)]
[ML-API] version info
Set project version to 1.8.1 (will be updated later - 1.8.2 for Tizen M2)
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 21 Apr 2022 08:26:01 +0000 (17:26 +0900)]
[C-Api] handle each feature state
Each Tizen ML feature state (inference, training, service) should be managed separately.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 22 Apr 2022 02:35:12 +0000 (11:35 +0900)]
[C-Api/Service] fix svace issue
Fix svace issue - remove memory leak.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan [Wed, 20 Apr 2022 10:12:16 +0000 (19:12 +0900)]
[Feature] Add ml-service feature check function
Add machine learning service feature check function.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Wed, 20 Apr 2022 02:19:10 +0000 (11:19 +0900)]
[Doc] Change CI server domain name
Change CI server domain name from nnstreamer.mooo.com to ci.nnstreamer.ai
Signed-off-by: gichan <gichan2.jang@samsung.com>
yelini-jeong [Mon, 18 Apr 2022 09:55:54 +0000 (18:55 +0900)]
[single] Allow tvn model when using VD_AIFW
This patch allows tvn model when using VD_AIFW framework.
Signed-off-by: yelini-jeong <yelini.jeong@samsung.com>
Jaeyun [Mon, 11 Apr 2022 05:25:51 +0000 (14:25 +0900)]
[C-Api/Service] update API description
Under the API review, update API description and example code.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Mon, 18 Apr 2022 01:58:29 +0000 (10:58 +0900)]
[C-API/Service] Workaround for dbspace failure
Because of SMACK control, the application process cannot access the
'/opt/usr/dbspace'. To meet the Tizen M1 release schedule, this patch
uses '/tmp' as database space. It is just a workaround and will be fixed
in the right way.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Thu, 14 Apr 2022 15:19:04 +0000 (00:19 +0900)]
[Package] Add SMACK label and cleanup the package
After modifying C-API packages, the SMACK label was omitted for
each package. And library packages contain unnecessary so file.
This patch adds omitted SMACK label and cleans up the contents of
the package.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
MyungJoo Ham [Wed, 13 Apr 2022 10:04:27 +0000 (19:04 +0900)]
CODEOWNERS: update reviewers.
New members introduced: @songgot (will be writing APIs soon)
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 13 Apr 2022 10:00:56 +0000 (19:00 +0900)]
C/common: ml_tensors_info_set_tensor_dimension error message.
Tell the API users why the error happens and how they can mend it.
Fixes https://github.com/nnstreamer/nnstreamer/issues/3562
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Sangjung Woo [Mon, 4 Apr 2022 12:42:12 +0000 (21:42 +0900)]
[C-API/Test] Apply test fixture to remove duplicate code
To remove duplicate code in each test case, this patch applies the
test fixture framework. g_autofree macro is used for allocated space
to be freed automatically no matter test case is passed or not.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Thu, 7 Apr 2022 06:51:01 +0000 (15:51 +0900)]
[CodeClean] cleanup headers
cleanup headers and warning in meson build script before starting ACR process.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan [Wed, 6 Apr 2022 05:15:29 +0000 (14:15 +0900)]
[Package] Change package dependency.
Previously, the single and pipeline API were separated.
Change the pipeline package contain the single package.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Sangjung Woo [Mon, 4 Apr 2022 03:27:01 +0000 (12:27 +0900)]
[C-API/Service] Apply Singleton pattern
This patch applies the singleton pattern to MLServiceLevelDB class
so that a single instance exists in runtime.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Mon, 28 Mar 2022 02:39:25 +0000 (11:39 +0900)]
[C-API/Service] Refactoring the service API for maintainability and readability
To support various database systems, this patch defines the interface
class IMLServiceDB and implements MLServiceLevelDB using LevelDB. If the
backend DB is changed, we just add a new class for the new DB without
changing the existing code. That increases the maintainability.
Moreover, this patch updates the signature of user-level APIs to
increase readability.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Mon, 28 Mar 2022 07:27:30 +0000 (16:27 +0900)]
[C-API/TEST] Add various test cases for ML Service API
This patch newly adds the test cases for ML Service APIs. They include
the positive and negative cases for setting, getting, and deleting the
pipeline description.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Mon, 28 Mar 2022 02:17:51 +0000 (11:17 +0900)]
[C-API] Add Error code for DB and filesystem
This patch newly adds the ML_ERROR_IO_ERROR code for the failure
of DB and filesystem operation.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Thu, 31 Mar 2022 12:05:44 +0000 (21:05 +0900)]
[Package] Bugfix for package dependency
To maintain backward compatibility, capi-machine-learning-inference
package should require pipeline, single and common libraries. However,
common is omitted and it can cause break issues when making platform
:1image. This patch fixes this bug.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Wed, 16 Mar 2022 02:21:37 +0000 (11:21 +0900)]
[C-API/Serivce] Update the doxygen tag
This patch updates the doxygen tag and comments for ML Service API.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 15 Mar 2022 13:22:57 +0000 (22:22 +0900)]
[C-API/Serivce] Set SYS_DB_DIR as build configuration
This patch sets the SYS_DB_DIR as build configuration. In the case
of Tizen, a predefined DB path (i.e. TZ_SYS_GLOBALUSER_DB) is used.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 8 Mar 2022 03:24:28 +0000 (12:24 +0900)]
[C-API/Service] Add testcase for ML Service API
This patch adds the basic testcase of the ML Service API for adding
and getting the pipeline description with the name.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 8 Mar 2022 03:13:18 +0000 (12:13 +0900)]
[C-API/Service] implement ML Service API
This patch newly adds the ML Service APIs for adding and getting the
pipeline description with the name. To store the pipeline description,
leveldb is used.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 8 Mar 2022 01:53:27 +0000 (10:53 +0900)]
[C-API/Service] Fix the compile-time error
Because of an omitted semicolon and header file, there is a compile-time error
when using ml-api-service.h header. This patch fixes this bug.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
gichan [Fri, 25 Mar 2022 05:12:50 +0000 (14:12 +0900)]
[debian] Rename invalid .install file names
Rename invalid .install file names.
...-dev-api.install -> ..-api-dev.install
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Wed, 23 Mar 2022 07:47:41 +0000 (16:47 +0900)]
[debian] Separate debian packaging
- Separate single/pipeline debian package
- Change library name (capi-nnstreamer-* -> ml-inference-*)
Signed-off-by: gichan <gichan2.jang@samsung.com>
Sangjung Woo [Fri, 11 Mar 2022 12:18:51 +0000 (21:18 +0900)]
[C/inference] Apply Substitute Algorithm instead of Switch-Case statement
This patch does refactoring the code by applying the Substitute
Algorithm technique. Instead of a Switch-Case statement, a hash table is
used and it increases both readability and performance.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Thu, 10 Mar 2022 11:32:24 +0000 (20:32 +0900)]
[C/inference] Refactoring the nested-if statement
A nested if statement makes it hard to understand and maintain the code.
This patch reorganizes the code structure and increases readability.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Thu, 10 Mar 2022 10:35:56 +0000 (19:35 +0900)]
[C/inference] Apply extract method for type converting
Instead of a complicated switch-case statement in the function, this
patch extracts a new function for type converting. Since the enumeration
of both types is the same order, typecasting is good enough for
converting.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jihoon Lee [Sat, 12 Mar 2022 05:35:19 +0000 (14:35 +0900)]
[meson] change global link -> project link
As recommended from a review in #137, add_global_link_argument has
changed to add_project_link_argument
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Jihoon Lee [Fri, 11 Mar 2022 02:39:13 +0000 (11:39 +0900)]
[Debian] update ml-inference-api-dev package
After #131, ml-inference-api-dev is relying on capi-ml-inference-single
and capi-ml-inference-pipeline pc.
It might have been better that ml-inference-api-dev relying on
ml-inference-single/pipeline-dev. As the package is not introduced,
this patch add pc files into the ml-inference-api-dev package.
See also: https://github.com/nnstreamer/nntrainer/issues/1853#issuecomment-
1064220362
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Jihoon Lee [Tue, 8 Mar 2022 14:26:52 +0000 (23:26 +0900)]
Fix libcapi-nnstremer is empty due to linker optimization
From #131, libcapi-nnstreamer.so became empty because
libcapi-nnstreamer.so does not contain any symbol from
libcapi-nnstreamer-single, libcapi-nnstreamer-pipeline.so
This should be semantically resolvable by using 'link-whole' argument in
meson but it is not implemented for shared_library.
This patch address the issue by disabling `-bas-needed=false` in meson
and add -Wl,--as-needed to global linker argument.
https://github.com/mesonbuild/meson/issues/3046.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Jaeyun [Thu, 3 Mar 2022 08:23:05 +0000 (17:23 +0900)]
[Log] log utils from nnstreamer
The log util was separated from nnstreamer repo.
Remove unnecessary header and update log util.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Gichan Jang [Mon, 24 Jan 2022 04:59:59 +0000 (13:59 +0900)]
[Package] Separate single-shot and pipeline API.
- `machine-learning-inference` is separated to `machine-learning-inference-single` and `machine-learning-inference-pipeline`.
- Separate internal header files.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Yongjoo Ahn [Fri, 11 Feb 2022 05:45:35 +0000 (14:45 +0900)]
[build] Build android api with gstreamer v1.20.0
- Assume that android builds are with gstreamer v1.20.0
- Remove the patch file which is no needed for the new version
- Modify the patch file for tracing
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Wed, 26 Jan 2022 07:31:15 +0000 (16:31 +0900)]
[Tizen/TEST] Add gcov package
Add gcov package for tizen coverage auto measurement tool.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Jaeyun [Fri, 21 Jan 2022 05:11:11 +0000 (14:11 +0900)]
[C-Api/Test] condition to check allowed element
1. init gstreamer before starting the unittest.
2. check element restriction flag from config file.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 21 Jan 2022 03:17:51 +0000 (12:17 +0900)]
[C-Api/CodeClean] internal struct for pipeline
Code clean, cleanup definition for internal data struct.
TODO: We now have a plan to separate single and pipeline source.
Then it is necessary to hide internal data struct for pipeline functions.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 21 Jan 2022 03:15:07 +0000 (12:15 +0900)]
[C-Api/Util] util function to get gst element
Add util function to get gst-element instance.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Gichan Jang [Thu, 30 Dec 2021 02:22:17 +0000 (11:22 +0900)]
[TEST] Check restricted elements.
Check whether the restricted elements are properly handled or not.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
MyungJoo Ham [Wed, 3 Nov 2021 03:36:36 +0000 (12:36 +0900)]
C/Service: first prototypes of service API Phase 1
This is the start of designing https://github.com/nnstreamer/nnstreamer/issues/3473
Phase 1 and 2 APIs are declared.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 17 Nov 2021 03:29:27 +0000 (12:29 +0900)]
C/common: refactor data structure locations for service API
A few definitions in pipeline/single APIs are used by service API.
Move such definitions to the common header.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Sangjung Woo [Thu, 6 Jan 2022 10:31:46 +0000 (19:31 +0900)]
[C/inference] Use allowed_elements instead of restricted-elements
The name 'restricted-elements' of nnstreamer configuration is not
matched as its real operation. Because of this reason, its name is
renamed to 'allowed_elements'. This patch updates the related code.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
gichan [Wed, 5 Jan 2022 07:19:21 +0000 (16:19 +0900)]
[TEST] Add replacing string test
Add replacing string test.
(Copied from nnstreamer/nnstreamer/tests/unitest_util.c)
Signed-off-by: gichan <gichan2.jang@samsung.com>
Yongjoo Ahn [Thu, 16 Dec 2021 11:29:42 +0000 (20:29 +0900)]
[android/pytorch] Add pytorch v1.10.1 android support
- Support pytorch v1.10.1 for android (only arm64)
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 15 Dec 2021 13:00:22 +0000 (22:00 +0900)]
[android/tflite] Add tflite v2.7.0 support
- Add tflite v2.7.0 support
- Set v2.7.0 as default version of tflite
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Thu, 16 Dec 2021 08:21:01 +0000 (17:21 +0900)]
[CODEOWNERS] Fix codeowners syntex.
The last matching pattern takes the most precedence.
Change orders.
Refer: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Thu, 16 Dec 2021 06:16:00 +0000 (15:16 +0900)]
[Single] Fix coverity issues
- Remove unrechable code.
- Fix use after free.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
MyungJoo Ham [Mon, 13 Dec 2021 07:51:39 +0000 (16:51 +0900)]
C/single: elaborate invoke stream-pipe error.
When the framework version does not match the given
model's requirement, STREAM_PIPE error may happen.
Because it appears that such cases are common,
add more explanation.
Related with https://github.com/nnstreamer/nnstreamer/issues/3603
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Gichan Jang [Thu, 9 Dec 2021 07:29:29 +0000 (16:29 +0900)]
[Single] Allow NULL value for some properties.
Allow to set NULL value for some properties such as custom, accelator
and the rest.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Sangjung Woo [Mon, 13 Dec 2021 05:55:17 +0000 (14:55 +0900)]
[TEST] Update the test case
Both plugin_availability_fail_invalid_01_n and
plugin_availability_fail_invalid_02_n have the same test code. This
patch updates the parameter to test other case.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Gichan Jang [Fri, 10 Dec 2021 04:30:19 +0000 (13:30 +0900)]
[CODEOWNER] Fix sourcecode path.
Currently, the source code path of the CODEOWNER is set differently than we were intended.
For example, /c/* mathces files like `c/README.md`
but not further nested files like `c/src/ml-api-common.c`
To include nested files, fix source code path syntex.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
MyungJoo Ham [Thu, 9 Dec 2021 05:36:16 +0000 (14:36 +0900)]
C/common: override dlog infra with stderr for unit testing
With unittesting, especially in GBS, dlog output is
not shown because dlog server is not running.
Replace it with stderr print in unittesting
for better readability in GBS.
This is similar with
https://github.com/nnstreamer/nnstreamer/pull/3571
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 7 Dec 2021 02:43:33 +0000 (11:43 +0900)]
C/Single: elaborate error messages.
For the sake of app developers, let's elaborate error messages.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Wed, 8 Dec 2021 07:27:10 +0000 (16:27 +0900)]
[build/android] Add comments for nnfw and snpe makefiles about external libs
- Add comments for how external libs should be configured.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 8 Dec 2021 06:48:54 +0000 (15:48 +0900)]
[build/android] Fix Pytorch makefile to compatibile with tflite (xnnpack)
- Exclude xnnpack and other prebuilt libs from `LOCAL_WHOLE_STATIC_LIBRARIES`
to avoid link crash issue with tflite which also contains xnnpack and other common prebuilt libs
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 8 Dec 2021 06:47:36 +0000 (15:47 +0900)]
[build/android] Add a comment in file `Android-nnstreamer-prebuilt.mk`
- Add a comment for native developers.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Wed, 17 Nov 2021 08:58:34 +0000 (17:58 +0900)]
C/inference: more errors with elaborated messages.
Elaborate error and exception messages of pipeline API
and internal functions.
Use the new log/report infrastructure.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 17 Nov 2021 08:58:02 +0000 (17:58 +0900)]
C/common: update error reporting macros
1. Error continue-report only if the op has returned a non-zero value.
2. Commonize formatting macro.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Sangjung Woo [Thu, 25 Nov 2021 11:43:09 +0000 (20:43 +0900)]
[C-Api] Fix the omitted Requires section in capi-ml-inference.pc
Because of the bug in the meson file, Requires section in
capi-ml-inference.pc is empty. It causes the compile-time error when
using ML APIs. This patch fixes this bug.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yongjoo Ahn [Mon, 22 Nov 2021 06:31:04 +0000 (15:31 +0900)]
[fix/trivial] Fix unnecessary null check
- Remove unnecessary null check
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 22 Nov 2021 06:17:07 +0000 (15:17 +0900)]
[fix/trivial] Fix unreacable code
- Remove unreachable code
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Wed, 3 Nov 2021 03:36:36 +0000 (12:36 +0900)]
C/Service: introduction of the new API set.
Declaration of what the "ML Service APIs" will provide.
This is the start of designing https://github.com/nnstreamer/nnstreamer/issues/3473
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 26 Oct 2021 04:47:19 +0000 (13:47 +0900)]
C-API/Common: more elaborated error reporting.
As an example for other API implementations,
error messages of ml-api-common.c are elaborated
with the new error reporting infra.
Unit test cases will follow later.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 26 Oct 2021 04:46:41 +0000 (13:46 +0900)]
C-API/Common: macro for formatting error messages.
New macros for error reporting infrastructure with some more info.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Tue, 16 Nov 2021 00:54:01 +0000 (09:54 +0900)]
[android/test] Add pipeline api test for mqtt elements
- Add a test for mqtt elements. Because it needs running mqtt broker,
it should be ignored at this moment.
- At least it is passed in configured environment (mqtt broker is
installed in the android device and running locally)
- Add permisiion for internet in AndroidManifest.xml
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 15 Nov 2021 09:55:23 +0000 (18:55 +0900)]
[android/mqtt] Add MQTT support
- Add MQTT support
- It requires paho.mqtt.c prebuilt lib
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Tue, 16 Nov 2021 08:06:28 +0000 (17:06 +0900)]
[Build/CodeClean] std headers
Code clean, it is recommended to not use stddef for NDK build, use stdlib instead.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Tue, 16 Nov 2021 05:56:02 +0000 (14:56 +0900)]
[Spec] Fix the typo in Requires section
This patch fixes the typo in Requires section.
* capi-machine-larning-common -> capi-machine-learning-common
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jihoon Lee [Mon, 15 Nov 2021 08:03:04 +0000 (17:03 +0900)]
[Singleshot] Enhance dim inference for nntrainer
There was a voc that `ml_single_open(&single, 'model.ini', NULL, NULL,
ML_NNFW_TYPE_NNTR_INF, ML_NNFW_HW_ANY);` should work, which is giving
NULL for the tensor_input info and tensor output info.
This was not feasible because the nntrainer inference filter is not
defining `getInputDim()`, `getOutputDim()` on purpose to make it able to
infer output dimension from input dimension in pipeline scenario.
This patch introduce the dimension inferencing mechanism for nntrainer
to make it coherent with the pipeline api.
Below rules apply when input_info or output_info is nullptr for
nntrainer.
1. After opening the framework, allow calling set_input_dim with input_info with
count==0 in case of nntrainer.
2. nntrainer checks if input_info->count==0, if true, nntrainer assums
it should be default dimension and set input/output dimension accordingly.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
MyungJoo Ham [Tue, 26 Oct 2021 04:16:55 +0000 (13:16 +0900)]
C-API/Common: add _ prefix for internal functions.
Add _ prefix for all internal functions
so that developers can distinguish external (API) functions
and internal functions easily.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 26 Oct 2021 01:49:56 +0000 (10:49 +0900)]
C-API/Common: add _ prefix to internal interface - log
Rename mlapi_log* --> _ml_log*
This is the first of adding _ prefix to internal interfaces series.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 25 Oct 2021 10:52:46 +0000 (19:52 +0900)]
C-API/Common: error reporting API implementation.
API implementation:
ml_error(), ml_strerror()
Internal interface for API implementation:
_ml_error_report()
TODO: apply _ prefix for all internal interfaces.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 21 Oct 2021 08:21:03 +0000 (17:21 +0900)]
C-API/Common: error reporting function skeleton.
dlerror()-like function that can provide error descriptions and
strerror()-like function that provide general descriptions for error codes.
This is to review its format and behavior.
The contents and internal APIs for API implementation will
follow after this API is approved.
This addresses (starts addressing) https://github.com/nnstreamer/nnstreamer/issues/3528
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 19 Oct 2021 09:54:21 +0000 (18:54 +0900)]
[C/Inference] Refactoring C-API module relations.
ML C-API interfaces and implementations are being refactored for better relations.
ml-common will be no longer depending on nnstreamer.
Then, in the future, nntrainer will be no longer depending on nnstreamer except for its nnstreamer-nntrainer subplugin.
1. Renamed headers and sources (except for Tizen Studio's files, which we need to tend later)
2. Refactored inter-file dependency and relations.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jihoon Lee [Wed, 20 Oct 2021 04:59:31 +0000 (13:59 +0900)]
[Headers] Fix missing include in ml-api-common
As tensor data structure now being moved to ml-api-common.
`size_t` is now used in `int ml_tensors_info_get_tensor_size`.
Does including <stddef.h> here.
Please refer to below error in http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1648-
202110201315200.
81315588951111-
c03945380718edd44c6a19b56056dcf80a64636d/report/build_log_1648_android_error.txt
```
error: unknown type name 'size_t'
int ml_tensors_info_get_tensor_size (ml_tensors_info_h info, int index, size_t *data_size);
```
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
MyungJoo Ham [Mon, 18 Oct 2021 10:03:40 +0000 (19:03 +0900)]
[Common] refactor headers to clean up dependency
Data handling APIs are used by ML.training as well as ML.inference.
Move such APIs to common header.
TODO: Move implementation to another .c file so that
we can refactor subpackage dependencies, too.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Gichan Jang [Fri, 24 Sep 2021 06:55:51 +0000 (15:55 +0900)]
Release of ML-API 1.8.0
- Release of ML-API 1.8.0.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Fri, 24 Sep 2021 06:39:08 +0000 (15:39 +0900)]
[Single] Don't close single handle during invoke process
Don't close single handle during invoke process.
If single handle is released during invoke prcoess, an interpreter may
access invalid memory.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Jihoon Lee [Thu, 16 Sep 2021 10:22:15 +0000 (19:22 +0900)]
[Coverage] Set coverage badge
This patch enables coverage badge. Behind the scene, daily coverage
check is enabled :)
**Self evaluation:**
1. Build test: [ ]Passed [ ]Failed [X]Skipped
2. Run test: [ ]Passed [ ]Failed [X]Skipped
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
gichan [Wed, 1 Sep 2021 10:05:50 +0000 (19:05 +0900)]
[TEST] Add checking nnfw availability util
Add checking nnfw availability util.
Signed-off-by: gichan <gichan2.jang@samsung.com>