platform/core/multimedia/inference-engine-interface.git
4 years agotest: rename a test file 80/232180/1
Inki Dae [Wed, 29 Apr 2020 03:14:39 +0000 (12:14 +0900)]
test: rename a test file

Just rename inference_engine_test.cpp to inference_engine_profiler.cpp

Change-Id: Ia20af23be4f6256dd969eb19a44ff5d780b9ad12
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: avoid code from duplicated 79/232179/1
Inki Dae [Wed, 29 Apr 2020 03:09:06 +0000 (12:09 +0900)]
test: avoid code from duplicated

This patch moves common code from test files to
a new file, inference_enigne_test_common.cpp, to avoid
code from duplicated.

Change-Id: Id516b91298bc9fbef779d6568de449b9538ecba6
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: add inference_engine_tc 78/232178/1
Inki Dae [Wed, 29 Apr 2020 02:56:37 +0000 (11:56 +0900)]
test: add inference_engine_tc

This patch adds a inference_engine_tc.cpp which
contains test cases moved from inference_engine_test.cpp.

Change-Id: I3e60b74b79a574f169d726447118dce883f58cfe
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoDrop gmock dependency 46/231646/1 submit/tizen/20200423.083755 submit/tizen/20200424.035635 submit/tizen/20200424.041307 submit/tizen/20200424.055009
Inki Dae [Thu, 23 Apr 2020 07:19:11 +0000 (16:19 +0900)]
Drop gmock dependency

For gtest based tc, gmock isn't required.

Change-Id: I7eed61f7009e5c8dc5a6703cdcedac0045f963a0
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoFix build error due to the use of wrong enumeration submit/tizen/20200423.063253 submit/tizen/20200423.064104
Inki Dae [Mon, 20 Apr 2020 01:36:56 +0000 (10:36 +0900)]
Fix build error due to the use of wrong enumeration

Change-Id: Ib92b31e055544322ea394329a24a380247eda5ab
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoclean up enumeration prefix sandbox/inki.dae/working
Inki Dae [Fri, 17 Apr 2020 07:40:05 +0000 (16:40 +0900)]
clean up enumeration prefix

Change-Id: I48bfa0d402dcf0f68f8f6f1afde34afb35ae84c2
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoclean up header file
Inki Dae [Fri, 17 Apr 2020 07:33:41 +0000 (16:33 +0900)]
clean up header file

Change-Id: I0e3108bb59b0a09a1993264cedc07194287b35a8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agopackaging: drop opencv buildrequires
Inki Dae [Tue, 14 Apr 2020 01:22:11 +0000 (10:22 +0900)]
packaging: drop opencv buildrequires

opencv package isn't required anymore.

Change-Id: Iea34932c12a15f7e7d34e099924f632a10dd29a4
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoAdd dldt verify data
Kwanghoon Son [Fri, 10 Apr 2020 03:58:08 +0000 (12:58 +0900)]
Add dldt verify data

update bin date (banana img) file

Change-Id: I5adc21e30f4afe5bf2ea41d0847f3399fb8ea6de
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
4 years agoAdd DLDT inference result test
Kwanghoon Son [Fri, 10 Apr 2020 03:27:38 +0000 (12:27 +0900)]
Add DLDT inference result test

add gtest

Change-Id: Ie3a25292f0c109277c4ea1c95865a7162d5126ac
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
4 years agoTensor shape type change to size_t
Kwanghoon Son [Thu, 9 Apr 2020 23:29:55 +0000 (08:29 +0900)]
Tensor shape type change to size_t

shape means positive value.
change int to uint(size_t)

Change-Id: I94fb4892b8de90ac64e7e19dc46ac494cfe100f2
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
4 years agoFix typos CPU to GPU
Tae-Young Chung [Thu, 9 Apr 2020 04:48:44 +0000 (13:48 +0900)]
Fix typos CPU to GPU

Change-Id: Id39027b06c1b5614044c8c207fd287f9fd77729e
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agodldt input format change
Kwanghoon Son [Thu, 9 Apr 2020 01:23:19 +0000 (10:23 +0900)]
dldt input format change

dldt bin is hard to figure out with data format.
change bin to xml file.

Change-Id: I4439a993600729fe90d5d24942510ee4388002e5
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
4 years agoprofile: leave memory usage text
Inki Dae [Wed, 8 Apr 2020 10:51:58 +0000 (19:51 +0900)]
profile: leave memory usage text

Change-Id: Ibbc219629cfca865dee284662f221d7a0e3b0103
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: use specific profile data file name
Inki Dae [Wed, 8 Apr 2020 10:38:00 +0000 (19:38 +0900)]
test: use specific profile data file name

Change-Id: Id886f7d1314c13fef9fbf7d4d8d08b74a7b35257
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agodldt common test_2 added.
Kwanghoon Son [Wed, 8 Apr 2020 06:50:39 +0000 (15:50 +0900)]
dldt common test_2 added.

dldt needs xml and bin files.

Change-Id: I4161a6869744516fd502a29545ac14b7229e2ffd
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
4 years agoPrint custom target
Kwanghoon Son [Wed, 8 Apr 2020 06:28:33 +0000 (15:28 +0900)]
Print custom target

Myriad is custom target.

Change-Id: Ib7ddc231d3fe8147e1b3a5152b5cc784b9be90af
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
4 years agoAdd Caffe model support to start_profiler.sh
Inki Dae [Wed, 8 Apr 2020 05:53:10 +0000 (14:53 +0900)]
Add Caffe model support to start_profiler.sh

Change-Id: I7e15adb651f7ad9065e2d9e11c89c888ab272fff
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: fix build error
Inki Dae [Wed, 8 Apr 2020 05:14:59 +0000 (14:14 +0900)]
test: fix build error

Change-Id: I70daccb7a0e0bffecd760b0e8741996b8098c61c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add OPENCV backedn test cases
Tae-Young Chung [Wed, 8 Apr 2020 04:09:26 +0000 (13:09 +0900)]
test: Add OPENCV backedn test cases

Change-Id: Ie39cad370751d89adba608ca3c9e781369c52bba
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoAdd memory usage profiling feature
Inki Dae [Tue, 7 Apr 2020 06:21:53 +0000 (15:21 +0900)]
Add memory usage profiling feature

This patch adds memory usage profiling feature while in runtime.

Basially, there are some procfs to collect memory usage consumed
by current process, and we use /proc/self/stat.

These memory usage data are updated by Linux kernel scheduler so
they should be measured before and after current process.

As for this, this patch adds a new script file, start_profiler.sh.
SO if you want to profile exact memory usage in runtime then
run ./start_profiler.sh on Target.

Ps. the memory usage data can be measred by inference_engine_test app
but the data wouldn't be exact.

Change-Id: I5416587d4847c65538768b15f69f1e23862e2837
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoGtest dldt backend support
Kwanghoon Son [Mon, 6 Apr 2020 05:04:43 +0000 (14:04 +0900)]
Gtest dldt backend support

dldt myriad backend added.

Change-Id: I8ef6f33a36ed795a04de0658412f46d391b8aa20
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
4 years agoFix prefix to profiler enumerations
Inki Dae [Sun, 5 Apr 2020 23:51:46 +0000 (08:51 +0900)]
Fix prefix to profiler enumerations

Change-Id: I81d5639e46b99111e79b7b21acae55ef6f8d3393
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add TFLITE backend test cases
Inki Dae [Fri, 3 Apr 2020 03:10:25 +0000 (12:10 +0900)]
test: Add TFLITE backend test cases

Change-Id: Ie27c4cb3b14b5f27883712d6f5dc46f358a02d3d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoAdd barrier enumeration to inference_tensor_data_type_e
Inki Dae [Fri, 3 Apr 2020 02:03:00 +0000 (11:03 +0900)]
Add barrier enumeration to inference_tensor_data_type_e

Change-Id: I7b5d659f749bf20273e485ca0a5378137a752cdc
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoBlock memory release in case of tensorflow.
Hyunsoo Park [Thu, 2 Apr 2020 09:13:49 +0000 (18:13 +0900)]
Block memory release in case of tensorflow.

Change-Id: Ibb2e79822e141e3ed7216156a38ab26fcd720e02
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoVerify tensor buffer and property values
Inki Dae [Thu, 2 Apr 2020 06:59:15 +0000 (15:59 +0900)]
Verify tensor buffer and property values

This patch makes sure to verify whether tensor buffer vector
and propery value contains correct data or not.

Change-Id: I01a05f5530e879cc320d1d3ef38d67e342e3ac87
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: enable inference engine profiler
Inki Dae [Thu, 2 Apr 2020 00:51:23 +0000 (09:51 +0900)]
test: enable inference engine profiler

This patch enables the inference engine profiler.
The profile data will be stored to 'dump.txt' file
with Markdown syntax.

Change-Id: Ie70d057244a4a56e9208bd2d2e4d0accecce4122
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoAdd Inference engine profiler support
Inki Dae [Thu, 2 Apr 2020 00:24:52 +0000 (09:24 +0900)]
Add Inference engine profiler support

This patch adds a profiler support for inference engine.
For now, only latency profiling is support. For other, they
will be suppored later.

The profiler isn't built in inference engine framework so
other users can use the profiler anytime using some API.
And also, Inference engine framework provides some API for
profiler like below,

[How-to-use]
InferenceEngineCommon *engine = new InferenceEngineCOmmon(&config);
...
// Enable the use of profiler.
// Ps. Make sure to create InferenceEngineCommon object
// before enabling profiler.
ret = engine->EnableProfiler(true);

// Profile data will be stored to dump.txt file.
// If you want to just print out the profile data on console screen
// then call DumpProfileToConsole instead.
ret = engine->DumpProfileToFile("dump.txt");

All profile data will printed out to console screen or stored
to a given file in Markdown syntex[1] like below,

"
backend|target devices|model name|Function name|Latency(ms)|Memory Usage(kb)
--|--|--|--|--|--
armnn|CPU|/usr/share/capi-media-vision/models/IC/tflite/ic_tflite_model.tflite|Load|1799|
armnn|CPU|/usr/share/capi-media-vision/models/IC/tflite/ic_tflite_model.tflite|Run|95|
***
"

Please use Markdown syntax aware editer such as the edit box of github.

[1] https://daringfireball.net/projects/markdown/syntax

Change-Id: I2f643bb0b78410d48f94de2e39d986a2d646d97b
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoRename engine to mBackendHandle
Inki Dae [Fri, 27 Mar 2020 06:13:08 +0000 (15:13 +0900)]
Rename engine to mBackendHandle

Change-Id: I0ef2b66e57062fbd98b2b92189807198d36bfd51
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoFix SVACE and Coverity issues
Inki Dae [Fri, 27 Mar 2020 04:57:39 +0000 (13:57 +0900)]
Fix SVACE and Coverity issues

Change-Id: I525cd68275dcbedade157dd3e494150762ed1b95
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoRename hanel to mBackendModule
Inki Dae [Fri, 27 Mar 2020 03:40:26 +0000 (12:40 +0900)]
Rename hanel to mBackendModule

Just for the cleanup, rename handler to mBackendModule.
The handle points to backend library loaded by dlsym function.

Change-Id: I313d069087389c65296dbda368666b6d5079c50c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoChange directory name from common to src
Inki Dae [Wed, 25 Mar 2020 06:41:08 +0000 (15:41 +0900)]
Change directory name from common to src

Let's just use generic directory name, src, instead of specfic one,
common. We already dropped inference framework so we don't have to
adhere to use common directory name.

Change-Id: Ib0947dd90f5ee5c5d935d75435a4f36c1b869146
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Fix indentation
Inki Dae [Mon, 9 Mar 2020 06:07:05 +0000 (15:07 +0900)]
test: Fix indentation

This patch uses a tab instead of space

Change-Id: I275644423b8a5e481649c17a86ee35b15add9960
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Drop unnecessary model load tests
Inki Dae [Mon, 9 Mar 2020 05:20:14 +0000 (14:20 +0900)]
test: Drop unnecessary model load tests

This patch drops unnecessary model load tests because it's enough
to test only one model loading for load interface verification.

Change-Id: If7e753d0d44bb6e1dd11d3e4dce355a070b052fd
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add a input binary file for quantized model inference test
Inki Dae [Mon, 9 Mar 2020 05:17:01 +0000 (14:17 +0900)]
test: Add a input binary file for quantized model inference test

Change-Id: Ia4d6ae0c7729bbb67c562f11cb63c37522593349
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add quantized model inference test
Inki Dae [Mon, 9 Mar 2020 05:15:24 +0000 (14:15 +0900)]
test: Add quantized model inference test

This patch adds a quantized mobilenetv1 model inference test.

Change-Id: I214c4aecc2ba07cac31fce42d28307ace09b9eda
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: fix a comment
Inki Dae [Mon, 9 Mar 2020 04:15:18 +0000 (13:15 +0900)]
test: fix a comment

Change-Id: I892180e682bbc50c6faa3e8e48ab8f889a02cd79
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: add a new parameter for tensor data type
Inki Dae [Fri, 6 Mar 2020 07:33:55 +0000 (16:33 +0900)]
test: add a new parameter for tensor data type

This patch passes tensor data type to each test case as a parameter
to test various model types such as quantization model.

Change-Id: I251813a857ad832cdc55f90996eec3f16b64fc82
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: set user-given property information
Inki Dae [Fri, 6 Mar 2020 07:23:58 +0000 (16:23 +0900)]
test: set user-given property information

This patch sets user-given property information, which is required
by OpenCV backend which cannot provide input layer property
information.

Change-Id: Ifdaeafecdbe73a946e3ace9b7e8382170b30d74a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: clear owner_is_backend in case of using user-allocated tensor buffers
Inki Dae [Thu, 5 Mar 2020 04:24:12 +0000 (13:24 +0900)]
test: clear owner_is_backend in case of using user-allocated tensor buffers

If user allocates the tensor buffers then clear owner_is_backend
so that user can also release the buffers.

Change-Id: Ie06199fd0a8bc5dde0c73648e43f1fd000526093
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: skip to release tensor buffer if owner_is_backend is 1
Inki Dae [Thu, 5 Mar 2020 03:49:38 +0000 (12:49 +0900)]
test: skip to release tensor buffer if owner_is_backend is 1

Change-Id: Ida9e0f6abb569d21978790961b96a62e30995242
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoAdd owner_is_backend member for checking buffer ownership
Inki Dae [Thu, 5 Mar 2020 03:46:54 +0000 (12:46 +0900)]
Add owner_is_backend member for checking buffer ownership

This patch adds a new member, owner_is_backend, to
inference_engine_tensor_buffer structure, which
is used to check if a backend should release
tensor buffer or not.

If owner_is_backend is set to 1 then upper framework,
Inference framework in case of Tizen, will not release
the tensor buffer.

Change-Id: I9db254daeb84fd4bc71123acaf6295fbf47d53f8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Release tensor buffers after inference
Inki Dae [Thu, 5 Mar 2020 01:25:21 +0000 (10:25 +0900)]
test: Release tensor buffers after inference

Change-Id: I27cfdd2ae2a9d1ee97c60c3211e309e26334399e
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agopackaging: Pack resource files for the inference verification
Inki Dae [Wed, 4 Mar 2020 10:05:33 +0000 (19:05 +0900)]
packaging: Pack resource files for the inference verification

Change-Id: Ie697b3951ac3061ad8f5a7a584b10217ac4bcf4a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add resource files for the inference verification
Inki Dae [Wed, 4 Mar 2020 10:05:05 +0000 (19:05 +0900)]
test: Add resource files for the inference verification

Change-Id: I421a87f28f37d57bf90ccb80a4821a741804912a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add inference result verification support
Inki Dae [Wed, 4 Mar 2020 10:00:42 +0000 (19:00 +0900)]
test: Add inference result verification support

This patch implements inference verification to each inference
test - image classification, object/face detection and pose estimation.

As for the verification, it uses pre-dumped file which contains
in-memory tensor buffer in bytes to a given sample image file,
and uses pre-calculated inference result for the verification.

Change-Id: I46342f832a59361165b54d5357c4653c5acad566
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoAdd size member to inference_engine_tensor_buffer structure
Inki Dae [Wed, 4 Mar 2020 04:16:35 +0000 (13:16 +0900)]
Add size member to inference_engine_tensor_buffer structure

With this patch, the size member of inference_engine_tensor_info
structure means a tensor element size which is calculated by
height * width * channel count, and the size member of
inference_engine_tensor_buffer structure means a actual tensor
buffer size in bytes which is calculated by height * width * channel count
* pixel per bytes.

Change-Id: Ic88e34035c45386fa712e7ab922a296a4bad0ac9
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoUpdate description of inference_engine_tensor_info structure
Inki Dae [Wed, 4 Mar 2020 03:27:44 +0000 (12:27 +0900)]
Update description of inference_engine_tensor_info structure

Change-Id: Ibd70368f453a9dea5eb5ab85c2730789428a555f
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agopackaging: Add build requires for test app
Inki Dae [Wed, 4 Mar 2020 02:00:43 +0000 (11:00 +0900)]
packaging: Add build requires for test app

Change-Id: Ia7ad20ddef7514674bb87d85fa2dd371309cdc09
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Print out test information
Inki Dae [Tue, 3 Mar 2020 00:54:20 +0000 (09:54 +0900)]
test: Print out test information

Change-Id: Ic95b8093d10b7a782ad56ac86389919b4d1775c7
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: drop unnecessary logs
Inki Dae [Tue, 3 Mar 2020 00:49:06 +0000 (09:49 +0900)]
test: drop unnecessary logs

Change-Id: I017901ed87544578e87aa214d2268ef1d60d2c99
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add inference test for armnn backend
Inki Dae [Tue, 3 Mar 2020 00:41:39 +0000 (09:41 +0900)]
test: Add inference test for armnn backend

Change-Id: I2da5f3676a9286c4ac5f07d181627e15d5f0caba
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add model loading test
Inki Dae [Mon, 2 Mar 2020 03:29:10 +0000 (12:29 +0900)]
test: Add model loading test

Change-Id: Id4e41a5449bdfc72e50bf1c16d9a6c65c4433c17
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Test GetBackendCapacity callback
Inki Dae [Mon, 2 Mar 2020 00:54:25 +0000 (09:54 +0900)]
test: Test GetBackendCapacity callback

Change-Id: Ic75161ab46f7ac8de682233e235c15956e90e0a2
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agopackaging: Pack test application
Inki Dae [Fri, 28 Feb 2020 07:10:43 +0000 (16:10 +0900)]
packaging: Pack test application

Change-Id: I0d08acc3f058816876d382771d6be4df6161c544
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add initial inference-engine-interface test code
Inki Dae [Fri, 28 Feb 2020 07:09:19 +0000 (16:09 +0900)]
test: Add initial inference-engine-interface test code

This patch adds google test based test code for interface-engine-interface
API verification.

Change-Id: I6dd69f4a6d1e498f92f5b908920e9603f3e1eb1c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoModify Load callback interface to pure virtual function
Inki Dae [Fri, 28 Feb 2020 05:59:12 +0000 (14:59 +0900)]
Modify Load callback interface to pure virtual function

Change-Id: I94555409bb13caf4ea4c71ea2ccc40643d77cd51
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoDrop GetInferenceResult function
Inki Dae [Mon, 24 Feb 2020 05:44:59 +0000 (14:44 +0900)]
Drop GetInferenceResult function

GetInferenceResult function isn't used anymore becuase upper
framework(Inference class in case of Tizen) is already aware of
output tensor buffer so drop this.

Change-Id: I16a65f4cb1c63cafe3dedf252481210978bb1baf
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoAdd the use of user desired input and output layers
Inki Dae [Tue, 18 Feb 2020 01:54:41 +0000 (10:54 +0900)]
Add the use of user desired input and output layers

Change-Id: I140ad98452f0ab2c3878aa05a0927f4553639d6e
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoUpdate adapataion layer API descriptions
Inki Dae [Fri, 14 Feb 2020 07:19:29 +0000 (16:19 +0900)]
Update adapataion layer API descriptions

Change-Id: Ibea8f1596775f63d2912a74e60714af5c7911d34
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoPass output tensor buffers to backend engine for the inference
Inki Dae [Fri, 14 Feb 2020 04:26:05 +0000 (13:26 +0900)]
Pass output tensor buffers to backend engine for the inference

Change-Id: I3c5ad1499daa1953874441bef42e62accf2bedc0
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoPass input tensor buffers coming from Inference layer to backend engine
Inki Dae [Thu, 13 Feb 2020 07:35:11 +0000 (16:35 +0900)]
Pass input tensor buffers coming from Inference layer to backend engine

This patch makes InferenceEngineCommon layer to pass input tensor
buffers allocated by Inference layer to a backend engine for
the inference. As for this, it adds new several callbacks, and
drops unnecessary ones.

Change-Id: I03fd9aa9ce73cb2c1092a5a50d4147ff90e4462e
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoRemove InferenceEngineVision relevant things
Inki Dae [Wed, 12 Feb 2020 03:03:57 +0000 (12:03 +0900)]
Remove InferenceEngineVision relevant things

Change-Id: Iad41e0c01f776a787c95bca3252b9c7e0c04fd1a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agovision: Drop all OpenCV dependencies
Inki Dae [Wed, 12 Feb 2020 02:05:33 +0000 (11:05 +0900)]
vision: Drop all OpenCV dependencies

This patch drops OpenCV dependent code. The dropped code will
be moved to Inference layer. This is a step to remove
inference-engine-vision layer.

Change-Id: I3fc29071ec7f7a0e4b0dec72ed7568bcc638462e
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoPass model file format to backend engine
Inki Dae [Tue, 11 Feb 2020 06:25:53 +0000 (15:25 +0900)]
Pass model file format to backend engine

This patch passes model file format coming from Inference layer
to backend engine. As for this, it adds enumeration values
which indicate various model file format.

Change-Id: I11b141399498c73cda6a34350a6f6fd3eac74a17
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoImplement GetBackendCapacity callback
Inki Dae [Mon, 10 Feb 2020 06:28:23 +0000 (15:28 +0900)]
Implement GetBackendCapacity callback

Change-Id: I4f30d077f85a54d09bd97b22a353f564d34a9a33
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoConsider one more inference target devices
Inki Dae [Fri, 7 Feb 2020 06:42:03 +0000 (15:42 +0900)]
Consider one more inference target devices

Change-Id: I3183273117f73a36fe87d8dd6ca00c5d9720a02a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoDrop SetInputTensorParam/SetOutputTensorParam callbacks
Inki Dae [Wed, 5 Feb 2020 09:32:25 +0000 (18:32 +0900)]
Drop SetInputTensorParam/SetOutputTensorParam callbacks

Change-Id: I7348440bc489490e1ce42c7fe908453b825327d8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoAdd a comment
Inki Dae [Wed, 5 Feb 2020 09:04:30 +0000 (18:04 +0900)]
Add a comment

Change-Id: I61c00dec619c4637cafded6dee08f5788e0181ad
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoCode refactoring to Inference initialization process
Inki Dae [Wed, 5 Feb 2020 07:11:48 +0000 (16:11 +0900)]
Code refactoring to Inference initialization process

This patch changes Load callback and Constructor with
new version. And it replaces Init/DeInit callbacks with
BindBackend/UnbindBackend callbacks to clarify.

Change-Id: Ic4c39db96387232936ff066dc9fd81026932667d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agouse a new constructor
Inki Dae [Tue, 4 Feb 2020 11:08:25 +0000 (20:08 +0900)]
use a new constructor

Change-Id: I3af15df073a735440effc53807e4af62abe091c1
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agovision: add initial code of new adaptation layer API
Inki Dae [Mon, 3 Feb 2020 08:08:32 +0000 (17:08 +0900)]
vision: add initial code of new adaptation layer API

Change-Id: Id3b708ca882354eef56ef58e77b155938c12ec72
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoadd new adaptation layer API support
Inki Dae [Fri, 31 Jan 2020 06:42:07 +0000 (15:42 +0900)]
add new adaptation layer API support

Change-Id: I87cd2baa78f7afe8b35b22497001588505166373
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoAdd ARMNN backend support
Inki Dae [Fri, 31 Jan 2020 01:56:36 +0000 (10:56 +0900)]
Add ARMNN backend support

This patch adds a enumeration value for ARMNN backend support.

Change-Id: I0e5e091203c7aac62a3f95147d6eeb4d735fcfdb
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoKeep opencv.pc file 74/229974/1 accepted/tizen/unified/20200417.152818 submit/tizen/20200407.083853 submit/tizen/20200410.044903 submit/tizen/20200414.011245
Tae-Young Chung [Tue, 7 Apr 2020 03:27:38 +0000 (12:27 +0900)]
Keep opencv.pc file

Change-Id: I65b5d0dc7e373aa5ef4d7cae8daf225bbf47e011
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoMigration with OpenCV-4.2.0 73/229973/1
Tae-Young Chung [Thu, 2 Jan 2020 08:32:57 +0000 (17:32 +0900)]
Migration with OpenCV-4.2.0

Change-Id: Ie5960bb38c613ec13fa795c6ee3ce48fca3ad1d8
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoFix wrong PC NAME and add library link. 63/217163/1 accepted/tizen/unified/20200115.123357 submit/tizen/20200115.005207
Hyunsoo Park [Thu, 7 Nov 2019 06:12:33 +0000 (15:12 +0900)]
Fix wrong PC NAME and add library link.

PC NAME of common package is set wrong because of misspellings.
And stdc++fs was not linked on common package.
So i changed these to right way.

Change-Id: I410fe525dbf2f2c677c044329b603928a8f1772a
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoAdd initializer in constructor for local variable. 28/215728/2 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix accepted/tizen/5.5/unified/20191031.024956 accepted/tizen/5.5/unified/mobile/hotfix/20201027.084741 accepted/tizen/unified/20191016.010602 submit/tizen/20191015.074005 submit/tizen_5.5/20191031.000003 submit/tizen_5.5_mobile_hotfix/20201026.185103 tizen_5.5.m2_release
Hyunsoo Park [Tue, 15 Oct 2019 03:07:18 +0000 (12:07 +0900)]
Add initializer in constructor for local variable.

New class variable was added, but it doesn't be initialize. So i add init codes.

Change-Id: I47d9f9299395af8b73898859e176c65ade014bcb
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoRemove SetLibraryPath api on pure interface. 33/215533/1 accepted/tizen/unified/20191011.080033 submit/tizen/20191010.081113 submit/tizen/20191011.004945 submit/tizen/20191011.010019
Hyunsoo Park [Thu, 10 Oct 2019 08:08:43 +0000 (17:08 +0900)]
Remove SetLibraryPath api on pure interface.

It is depends on each engine. So i remove this api on pure interface.

Change-Id: I55254ad54cd1fe84373b876da1a96d2a18d2e243
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoRemove unreachable code. 27/215427/5 submit/tizen/20191010.064454
Hyunsoo Park [Tue, 8 Oct 2019 05:08:13 +0000 (14:08 +0900)]
Remove unreachable code.

Change-Id: Ia28161f5a1d84c10389f1eaaadf53c1cb164d58a
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoAdd 'SetLibraryPath' api and INI parser. 61/215261/10
Hyunsoo Park [Fri, 4 Oct 2019 08:29:19 +0000 (17:29 +0900)]
Add 'SetLibraryPath' api and INI parser.

It is needed when user want to set full path of so file.

Change-Id: I397f9750733454fa5b75c064a61034987bb41f22
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoFix bugs
Tae-Young Chung [Thu, 10 Oct 2019 02:39:55 +0000 (11:39 +0900)]
Fix bugs

1. The number of channels should be applied while allocating memory to mInputBuffer.
2. The length of top_results should be less than its' size, not mOutputNumbers.

Change-Id: I0aa01da1a4230803554ab16835966599221b7cbe
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoFix wrong type cast 92/214592/1 accepted/tizen/unified/20190925.042220 submit/tizen/20190925.014740
Tae-Young Chung [Tue, 24 Sep 2019 07:49:29 +0000 (16:49 +0900)]
Fix wrong type cast

Change-Id: Ieaf42f74bba1eb7f2c832362b519cffb7071dfe9
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoReimplement class InferenceEngineVision using InferenceEngineCommon 04/214204/4 submit/tizen/20190924.061550
Tae-Young Chung [Wed, 18 Sep 2019 08:30:35 +0000 (17:30 +0900)]
Reimplement class InferenceEngineVision using InferenceEngineCommon

This commit removes the IInferenceEngineVision and reimlement InferenceEngienVision
as commit title.
In detail,
InferenceEngineCommon provides general inference operation such as
set parameters, load model.
Thus, InferenceEngineVision can be implemented by InferenceEngineCommon,
instead of IInferenceEngineVision.

Change-Id: I7a43bc6ff97e5713c1ac7ae705ff52100f5e4977
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoSets and Checks NULL value to pointer variable. 17/213517/3
Hyunsoo Park [Fri, 6 Sep 2019 06:29:04 +0000 (15:29 +0900)]
Sets and Checks NULL value to pointer variable.

C++ delete method just release allocated memory. It doesn't set NULL value to variable.
So i make variable to NULL after delete process.

Change-Id: Ia63a08c47b2e41263e7195aaca62bb67903d8c11
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoImplementation of inheritance relationship. 31/212531/5 accepted/tizen/unified/20190916.111636 submit/tizen/20190905.022044 submit/tizen/20190905.073548
Hyunsoo Park [Thu, 22 Aug 2019 11:21:30 +0000 (20:21 +0900)]
Implementation of inheritance relationship.

IInferenceEngineCommon class should be parent of IInferenceEngineVision class.
So i implemented inheritance relationship between two classes.

Change-Id: I9a4e572dbba9d4e8fd118ec73305f46a912015fa
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
5 years agoChange the parameter of SetOutputTensorParamNodes() from std::string to std::vector... 57/210757/1 accepted/tizen/unified/20190823.092413 submit/tizen/20190823.012236
Tae-Young Chung [Wed, 24 Jul 2019 07:55:31 +0000 (16:55 +0900)]
Change the parameter of SetOutputTensorParamNodes() from std::string to std::vector<std::string>

Now, multiple output tensors are supported.
You can set the output tensors' names to get multiple output tensors
Note that a batch is not supported in current inference, so an input tensor should be one string

Change-Id: I01a3a8fa7f15ce329fbab187f6d72f583f116c2a
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
5 years agoAdd INFERENCE_TARGET_CUSTOM and change constructor to get parameter of string type 73/209773/2
Tae-Young Chung [Thu, 11 Jul 2019 01:19:06 +0000 (10:19 +0900)]
Add INFERENCE_TARGET_CUSTOM and change constructor to get parameter of string type

Change-Id: Ib2f1f159911e0dc0d0f1abbbf5807b354b24576b
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
5 years agoFix build break accepted/tizen/unified/20190705.051704 submit/tizen/20190704.122255 submit/tizen/20190704.133116
Tae-Young Chung [Thu, 4 Jul 2019 12:20:48 +0000 (21:20 +0900)]
Fix build break

Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
5 years agoInitial codes submit/tizen/20190704.120336
Tae-Young Chung [Thu, 4 Jul 2019 10:26:17 +0000 (19:26 +0900)]
Initial codes

1. Provides inference-engine-interface-common for general purpose inference
2. Provides inference-engine-interface-vision for vision specific inference

Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
5 years agoInitial empty repository master
Tizen Infrastructure [Mon, 1 Jul 2019 01:49:06 +0000 (01:49 +0000)]
Initial empty repository