platform/core/ml/nnfw.git
5 years ago[nnpackage] add missing semicolon from nnpackage schema (#5612)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 10 Jul 2019 06:09:35 +0000 (15:09 +0900)]
[nnpackage] add missing semicolon from nnpackage schema (#5612)

Add missing semicolon at end of `DataFormat`.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[neurun] ACL CL kernel generation functionality moved into KernelGenerator (#5584)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 10 Jul 2019 05:22:15 +0000 (08:22 +0300)]
[neurun] ACL CL kernel generation functionality moved into KernelGenerator (#5584)

ACL CL kernel generation functionality moved from StageGenerator into KernelGenerator

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[neurun] ACL NEON kernel generation functionality moved into KernelGenerator (#5583)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 10 Jul 2019 05:22:03 +0000 (08:22 +0300)]
[neurun] ACL NEON kernel generation functionality moved into KernelGenerator (#5583)

ACL NEON kernel generation functionality moved from StageGenerator into KernelGenerator

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[neurun] CPU kernel generation functionality moved into KernelGenerator (#5582)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 10 Jul 2019 05:21:53 +0000 (08:21 +0300)]
[neurun] CPU kernel generation functionality moved into KernelGenerator (#5582)

CPU kernel generation functionality moved from StageGenerator into KernelGenerator

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoImplement nnfw_run,set_input,set_output (#5605)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 10 Jul 2019 02:17:18 +0000 (11:17 +0900)]
Implement nnfw_run,set_input,set_output (#5605)

- Implement nnfw_run, nnfw_set_input, nnfw_set_output

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
5 years ago[neurun] [nnapi] Meaningful exception message (#5603)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 10 Jul 2019 02:09:27 +0000 (05:09 +0300)]
[neurun] [nnapi] Meaningful exception message (#5603)

* [neurun] [nnapi] Meaningful exception message

Throw exception with meaningful description in case of unsupported operation

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
* Format fix

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
5 years agoFix tflite loader build bug (#5594)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 10:11:19 +0000 (19:11 +0900)]
Fix tflite loader build bug (#5594)

Build tflite loader tool when neurun is built

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoImplement nnfw_prepare (#5585)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 09:59:48 +0000 (18:59 +0900)]
Implement nnfw_prepare (#5585)

* Implement nnfw_prepare

- Add implementation for nnfw_prepare

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
* delete compiler after compile

5 years agoMove tflite loader (#5589)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 09:43:02 +0000 (18:43 +0900)]
Move tflite loader (#5589)

- Move tflite loader into neurun/frontend
- Move tflite loader tool to tests/tools

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove ConfigManager.cc to the upper directory (#5586)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 9 Jul 2019 06:46:30 +0000 (15:46 +0900)]
Move ConfigManager.cc to the upper directory (#5586)

`ConfigManager.cc` should have been moved to the upper directory from
PR #5555 but it wasn't. So this commit fixes it.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRemove externals/.FORMATDENY file (#5587)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 05:11:35 +0000 (14:11 +0900)]
Remove externals/.FORMATDENY file (#5587)

Remove remain externals/.FORMATDENY file in external to remove externals directory in repo
Make directory in nnfw.spec to copy saved external code

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove script for generate test (#5578)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 04:27:32 +0000 (13:27 +0900)]
Move script for generate test (#5578)

Move script in externals/nnapi_test_generator to generate nnapi gtest
Update gitignore - remove deprecated directory

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove lcov-to-cobertura-xml script (#5580)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 9 Jul 2019 04:27:16 +0000 (13:27 +0900)]
Move lcov-to-cobertura-xml script (#5580)

Move externals/lcov-to-cobertura-xml directory to tools/
Remove external tool dependency in gen-coverage-report command

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[nnpackage] update specification to add model-types attribute (#5572)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 9 Jul 2019 04:12:56 +0000 (13:12 +0900)]
[nnpackage] update specification to add model-types attribute (#5572)

`MANIFEST` will have `model-types` attributes to identify what kind of
models it contins.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[neurun] Initial implementation of KernelGenerator (#5574)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 8 Jul 2019 10:16:37 +0000 (13:16 +0300)]
[neurun] Initial implementation of KernelGenerator (#5574)

* Implementated KernelGenerator interface
* Implemented empty KernelGenerator classes for each backend

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoRemove CMAKE_SOURCE_DIR in cmake script (#5576)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 08:18:37 +0000 (17:18 +0900)]
Remove CMAKE_SOURCE_DIR in cmake script (#5576)

- Change CMAKE_SOURCE_DIR/externals to NNFW_EXTERNALS_DIR
- Remove some target_include_directories using CMAKE_SOURCE_DIR: because of linked libraries already include with PUBLIC

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[tflite_loader] Perform tflite_loader tests while testing neurun cpu (#5526)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 8 Jul 2019 05:56:29 +0000 (08:56 +0300)]
[tflite_loader] Perform tflite_loader tests while testing neurun cpu (#5526)

Perform tflite_loader tests while testing neurun cpu

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoRemove mobilenet tests in nnapi generated test (#5554)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 8 Jul 2019 04:50:45 +0000 (13:50 +0900)]
Remove mobilenet tests in nnapi generated test (#5554)

Comment out mobilenet recipes in nnapi generated test

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoDecouple ConfigManager with Env Vars (#5565)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 5 Jul 2019 10:58:01 +0000 (19:58 +0900)]
Decouple ConfigManager with Env Vars (#5565)

- `IConfigSource` is introduced
- `ConfigManager` gets value through `IConfigSource`
- `EnvConfigSource` is a subclass of `IConfgSource` that gets values
  from Env Vars

Resolve #5556

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoImplement nnfw_load_model_from_file (#5533)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 5 Jul 2019 06:11:32 +0000 (15:11 +0900)]
Implement nnfw_load_model_from_file (#5533)

- accept nnpackge directory as argument.

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
5 years ago[tflite_loader] Supported models with multiple output tensors (#5525)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 5 Jul 2019 01:17:18 +0000 (04:17 +0300)]
[tflite_loader] Supported models with multiple output tensors (#5525)

* [tflite_loader] Supported models with multiple output tensors

Supported models with multiple output tensors

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[nnpackage] update spec for multiple layout (#5553)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Fri, 5 Jul 2019 01:15:45 +0000 (10:15 +0900)]
[nnpackage] update spec for multiple layout (#5553)

Multiple layout is added in specification.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[kbenchmark] Add TransposeConv kernel (#5546)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 10:08:40 +0000 (19:08 +0900)]
[kbenchmark] Add TransposeConv kernel (#5546)

This patch adds acl cl and neon TransposeConv kernel test sets.
It also tests CLDeconvolutionLayerEx.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[neurun] Applied shape fixer (#5549)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 4 Jul 2019 09:59:38 +0000 (12:59 +0300)]
[neurun] Applied shape fixer (#5549)

Applied ShapeFixer, removed ShapeFixer functionality from StageGenerator

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[tflite_loader] Generate smaller values for input tensors (#5538)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 4 Jul 2019 02:21:17 +0000 (05:21 +0300)]
[tflite_loader] Generate smaller values for input tensors (#5538)

Generate smaller values for input tensors

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoSpecify parameter types in nnfw.h comments (#5550)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Jul 2019 01:55:30 +0000 (10:55 +0900)]
Specify parameter types in nnfw.h comments (#5550)

Specify parameter type for every param comments  whether it is 'in' or
'out'.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoUpdate root cmake script (#5552)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 01:46:51 +0000 (10:46 +0900)]
Update root cmake script (#5552)

- Change require minimum cmake version to 3.5.1 (ubuntu 16.04)
- Don't use gnu++11 extension
- Introduce overlay for external pre-built and install (from star/nncc#2838)

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix build error in ShapeInference test (#5563)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 4 Jul 2019 01:13:43 +0000 (10:13 +0900)]
Fix build error in ShapeInference test (#5563)

Fix build error by updated model.operands - ObjectManager

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Initial implementation of ShapeInference component (#5363)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 4 Jul 2019 00:45:50 +0000 (03:45 +0300)]
[neurun] Initial implementation of ShapeInference component (#5363)

* [neurun] Initial implementation of ShapeInference component

* Added initial implementation of ShapeInference component
* Implemented ShapeInference visitor for AddOp
* Implemented ShapeInference unit tests for AddOp

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
* Moved to utils

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoChange namespace of ConfigManager (#5555)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 4 Jul 2019 00:37:03 +0000 (09:37 +0900)]
Change namespace of ConfigManager (#5555)

- namespace : `neurun::config` -> `neurun::util`
- directory : `util/config` -> `util`

const strings stay in namepace `neurun::util::config`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoCorrect a typo in nnfw.h (#5548)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 3 Jul 2019 09:53:04 +0000 (18:53 +0900)]
Correct a typo in nnfw.h (#5548)

This commit corrects typo : pacakge to package.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[nnpackage] Update specification (model_and_operators) (#5529)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 3 Jul 2019 09:32:00 +0000 (18:32 +0900)]
[nnpackage] Update specification (model_and_operators) (#5529)

* [nnpackage] Update specification (model_and_operators)

Added:

- Serialization Format
- Baseline Schema
- Unspecified dimension

* Remove rationale for serialization format

5 years agoFix arm compute cl kernel for transpose conv (#5543)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 3 Jul 2019 09:29:03 +0000 (18:29 +0900)]
Fix arm compute cl kernel for transpose conv (#5543)

* Fix arm compute cl kernel for transpose conv

Fix arm compute cl kernel for transpose conv
- Padding calculation
- Allow asymmetric padding
- Get and fix upsample layer and kernel
- Rename DeconvolutionXXX to TransposeConvXXX
- Enable all transpose conv tests

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix pacl

5 years agoIntroduce NNFW_EXTERNALS_DIR configuration (#5544)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 3 Jul 2019 08:00:39 +0000 (17:00 +0900)]
Introduce NNFW_EXTERNALS_DIR configuration (#5544)

This commit allows users to download external dependencies
into their own location via setting NNFW_EXTERNALS_DIR.
Same with nncc: star/nncc#4065

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoAdd minor scheduler related fixes (#5479)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 3 Jul 2019 07:52:52 +0000 (10:52 +0300)]
Add minor scheduler related fixes (#5479)

* Add minor scheduler related fixes

1. No need to call notifyJobBegin/End for non-profiling run
2. Just one of the scheduler must be called

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Fix Scheduler issues

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Revert changes in DataflowExecutor::executeImpl

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years ago[neurun] Introduced ShapeFixer (#5521)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 3 Jul 2019 07:51:41 +0000 (10:51 +0300)]
[neurun] Introduced ShapeFixer (#5521)

* [neurun] Introduced ShapeFixer

Introduced ShapeFixer component in neurun Backends

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
* Review fixes

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoFix and add license (#5537)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 3 Jul 2019 07:28:03 +0000 (16:28 +0900)]
Fix and add license (#5537)

Fix license year and add lost license

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoEnable tflite_loader on gbs build (#5536)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 3 Jul 2019 07:27:03 +0000 (16:27 +0900)]
Enable tflite_loader on gbs build (#5536)

- Note that tizen does not have flatbuffer repo
- This patch enables tflite_loader build on gbs
- flatbuffer source commit : 1f5eae5d6a135

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
5 years agoUpdate README (#5528)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 3 Jul 2019 05:59:14 +0000 (14:59 +0900)]
Update README (#5528)

* Update README

- Add `Maintainers` and `Committers` list to following the rule of Samsung
Inner Source Program.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
* Update committers list

- Add Hanjoung Lee instead Seihie Park.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years agoAdd transpose conv tflite file test (#5541)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 3 Jul 2019 05:52:59 +0000 (14:52 +0900)]
Add transpose conv tflite file test (#5541)

Add transpose conv tensorflow lite file test (framework test) - same padding, stride 2

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[kbenchmark] Update summary view of html file (#5519)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Jul 2019 10:03:37 +0000 (19:03 +0900)]
[kbenchmark] Update summary view of html file (#5519)

* [kbenchmark] Update summary view of html file

This patch generates a summary view of html file.
This will help you to see at a glance which graph shows
which kernel performs well in the current layer.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Change the location of the html_report_template.g.h++ that needs copy to cmake/packages/Nonius directory

5 years agoAdd CONTRIBTUTORS file (#5517)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 2 Jul 2019 07:20:17 +0000 (16:20 +0900)]
Add CONTRIBTUTORS file (#5517)

- Add contributor list, as is.
- Generated by `git shortlog -se | cut -f2` with `.mailmap` file.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years agoDefine Operations with ObjectManager (#5508)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 2 Jul 2019 07:11:03 +0000 (16:11 +0900)]
Define Operations with ObjectManager (#5508)

Just like `Operands` were defined as an ObjectManager specialization,
this applies the same for `Operations`.

See also : #5464

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agonnfw API implementation skeleton (#5527)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Jul 2019 05:33:28 +0000 (14:33 +0900)]
nnfw API implementation skeleton (#5527)

- c++ wrapper for nnfw.h in api/wrapper
- empty implementation

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
5 years agoRemove `model::Shape::asVector` replacing calls to it with `num_elements()` or `dim...
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 2 Jul 2019 04:56:48 +0000 (07:56 +0300)]
Remove `model::Shape::asVector` replacing calls to it with `num_elements()` or `dim(0)`. (#5498)

Also remove unused `model::Shape::asMatrix` and `model::Shape::asTensor`.

This is a preparation step before removing dependency of `model::Shape` on `misc::tensor::Shape`.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoUpload exec_time explicitely, not in destructor (#5511)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 2 Jul 2019 01:41:59 +0000 (04:41 +0300)]
Upload exec_time explicitely, not in destructor (#5511)

Since exec time is updated just in case of turned on profiler, no need
to upload it in a destructor. Moreover, since graph::Graph is reusable,
in its next usages BackendResolver will be recreated without destructing
JSON/ExecTime/Graph, so Backend, that is pointed by
JSON::_measurements.first in the first call is destructed and
JSON::uploadOperationsExecTime will cause a segmentation error in
`printString(backend.first->config()->id(), stream);`

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agoAdd workarounds for unsupported ops in scheduler (#5512)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 2 Jul 2019 01:32:59 +0000 (04:32 +0300)]
Add workarounds for unsupported ops in scheduler (#5512)

This is workaround, come up with better solution if have.
Adding exception in stage doesn't help. Because if
there is a record for an op without broadcast,
scheduling will select it since it doesn't distinguish
broadcast and non-broadcast like it does for quant&non-quantized

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agoAdd header files to use tflite_loader (#5520)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 2 Jul 2019 01:26:42 +0000 (10:26 +0900)]
Add header files to use tflite_loader (#5520)

- provide header files to build with tflite_loader

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
5 years agoUse CLRsqrtLayer instead of custom implementation (#5500)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 1 Jul 2019 10:28:00 +0000 (13:28 +0300)]
Use CLRsqrtLayer instead of custom implementation (#5500)

Use `CLRsqrtLayer` (introduced in ACL v19.02) instead of custom implementation

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoUse CLExpLayer instead of custom implementation (#5501)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 1 Jul 2019 10:27:19 +0000 (13:27 +0300)]
Use CLExpLayer instead of custom implementation (#5501)

Use `CLExpLayer` (introduced in ACL v19.02) instead of custom implementation

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoUse CLElementwiseSquaredDiff instead of custom implementation (#5502)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 1 Jul 2019 10:26:43 +0000 (13:26 +0300)]
Use CLElementwiseSquaredDiff instead of custom implementation (#5502)

Use `CLElementwiseSquaredDiff` (introduced in ACL v19.02) instead of custom implementation

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoAssign 1 to supported op in Scheduler::tryBackend (#5490)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 1 Jul 2019 10:19:02 +0000 (13:19 +0300)]
Assign 1 to supported op in Scheduler::tryBackend (#5490)

Scheduler must prefer supported op to unsupported one

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agojsoncpp library as a static lib for nnfw internal use (#5510)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Jul 2019 08:24:34 +0000 (17:24 +0900)]
jsoncpp library as a static lib for nnfw internal use (#5510)

* jsoncpp library as a static lib for nnfw internal use

- jsoncpp library(1.7.7) as a static lib
- tizen does not provide static lib and it is not sure that it is
- shipped into tizen platform

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
* apply format.patch

5 years ago[neurun] Fix multiple parent tensor skipping (#5509)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 1 Jul 2019 04:58:00 +0000 (07:58 +0300)]
[neurun] Fix multiple parent tensor skipping (#5509)

Fix multiple parent tensor skipping

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years ago[kbenchmark] Separate the result file if it is not html reporter type (#5361)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 1 Jul 2019 03:44:43 +0000 (12:44 +0900)]
[kbenchmark] Separate the result file if it is not html reporter type (#5361)

This patch separates the result files if it is not html reporter type.
Becuase other reporters store only one test result in one file.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years agoDefine minial NNFW API (#5463)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 27 Jun 2019 05:40:13 +0000 (14:40 +0900)]
Define minial NNFW API (#5463)

* Define minial NNFW API

- define a minimal set of runtiem API

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
* remove meta info getter

5 years ago[nnpackage] Modify main-model to models to support multiple models (#5486)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 27 Jun 2019 04:46:58 +0000 (13:46 +0900)]
[nnpackage] Modify main-model to models to support multiple models (#5486)

For multiple model support in future, main-model is changed to models.
`models` is an array of model paths.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[customOp] Added a figure for workflow (#5495)
윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 27 Jun 2019 04:27:35 +0000 (13:27 +0900)]
[customOp] Added a figure for workflow (#5495)

* [customOp] added a figure for workflow

This adds a figure for workflow to prepare a model with custom operation.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* revised diagram

5 years agoFix build of PACL (#5499)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 27 Jun 2019 00:56:31 +0000 (03:56 +0300)]
Fix build of PACL (#5499)

Fix failing build of PACL caused by #5492

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoFix rank calculation in executors (#5480)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 27 Jun 2019 00:50:46 +0000 (03:50 +0300)]
Fix rank calculation in executors (#5480)

Assign either rank or zero if there isn't any like in notify()
Also moved calculateRank into DataflowExecutor

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agoUse polymorphic_downcast instead of dynamic_cast. (#5493)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 26 Jun 2019 09:47:50 +0000 (12:47 +0300)]
Use polymorphic_downcast instead of dynamic_cast. (#5493)

Use `polymorphic_downcast` instead of `dynamic_cast` to avoid unnecessary overhead as was suggested in https://github.sec.samsung.net/STAR/nnfw/pull/5383#discussion_r200703.
Remove several redundant `dynamic_cast`s.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[kbenchmark] Add filter option (#5360)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 26 Jun 2019 09:39:06 +0000 (18:39 +0900)]
[kbenchmark] Add filter option (#5360)

This option allows to run benchmark whose name matches the regex.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years ago[neurun] fix ExecutorBase::getOutput() (#5494)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 26 Jun 2019 09:36:10 +0000 (12:36 +0300)]
[neurun] fix ExecutorBase::getOutput() (#5494)

ExecutorBase::getOutput() was using model->inputs instead of  outputs

Signed-off-by: Vladimir Plazun <v.plazun@samsung.com>
5 years ago[nnpackage] Add version attribute in manifest (#5484)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 26 Jun 2019 09:27:28 +0000 (18:27 +0900)]
[nnpackage] Add version attribute in manifest (#5484)

* [nnpackage] Add version attribute in manifest

Introduce major-version, minor-version, patch-version.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
* Remove the word `API` used in `version` attribute

5 years agoRename element_nums to num_elements (#5492)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 26 Jun 2019 06:47:09 +0000 (09:47 +0300)]
Rename element_nums to num_elements (#5492)

Rename `element_nums` methods of `ITensor` and `Shape` classes to more appropriate `num_elements`.
Reuse `num_elements` in several places to reduce code duplication.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[neurun] Fix kernel shapes for Conv2D and DepthwiseConv2D (#5461)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 26 Jun 2019 06:46:26 +0000 (09:46 +0300)]
[neurun] Fix kernel shapes for Conv2D and DepthwiseConv2D (#5461)

* [neurun] Fix kernel shapes for Conv2D and DepthwiseConv2D

* Remove `neurun::model::Shape::asKernel`
* Remove similar no longer used method `asMatrix`
* Remove redundant and not used method `asTensor`

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
* * Revert some unrelated changes.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years ago[custom op] initial commit for custom op documentation (#5485)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 25 Jun 2019 08:42:39 +0000 (17:42 +0900)]
[custom op] initial commit for custom op documentation (#5485)

We would like to gather all information about custom operation in one place.

We will start with requirements from nnpackage 00_requirments.md.
Next, we will have diagram(s) for candidate architecture and overall process.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[MemoryManager] Introduce interface apis of ITensorBuilder (#5469)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 25 Jun 2019 06:52:33 +0000 (15:52 +0900)]
[MemoryManager] Introduce interface apis of ITensorBuilder (#5469)

On arm_compute::Memory classes, constant should be allocated before
prepare() after configure(). To do this, below functions will be used.
- registerModelObject
- markConstant
- isConstant

Some acl_kernels support deallocating constants unused. To do this,
- deallocateConstants

For arm_compute::LifetimeManager class, we should track the
operands' lifetime. To do this,
- notifyFirstUseIf
- notifyLastUseIf

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years ago[nnpackage] initial commit (specification and schema) (#5462)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 25 Jun 2019 06:51:58 +0000 (15:51 +0900)]
[nnpackage] initial commit (specification and schema) (#5462)

* nnpackage initial commit (specification and schema)

It is the initial commit of nnpackage specification and specification.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years agoAdd COPYRIGHT (#5482)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 25 Jun 2019 06:37:58 +0000 (15:37 +0900)]
Add COPYRIGHT (#5482)

- Add COPYRIGHT notice to join Samsung Inner Source Project

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years ago[kbenchmark] Add operation class for loading operation info (#5359)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 25 Jun 2019 02:01:05 +0000 (11:01 +0900)]
[kbenchmark] Add operation class for loading operation info (#5359)

This patch loads operation informations from config file.
And it executes kernel benchmark test using the operation info.
The result is stored by default in text file.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years agoIntroduce ObjectManager to replace Operands (#5464)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 10:13:21 +0000 (19:13 +0900)]
Introduce ObjectManager to replace Operands (#5464)

Introduce template class `ObjectManager` class which replaces
`Operands` and it will replace `Operations` and `SubgraphContext`.
Since these three classes basically do the same thing but index type and
object type are different.

`ObjectManager` does the following:

- Manages the lifetime of objects
- Create an object and associate with a unique index for the object
- Automatically an index for each object
- Access to an object with the associated index

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[MemoryManager] Apply createMemoryManager to each TensorBuilder (#5477)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 10:03:50 +0000 (19:03 +0900)]
[MemoryManager] Apply createMemoryManager to each TensorBuilder (#5477)

Apply createMemoryManager to each TensorBuilder. However, until
TensorBuilders' notify{First|Last|UseIf APIs lands, do not use
  LinearMemoryManager.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years ago[Interp] Reshape kernel in interpreter (#5453)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 24 Jun 2019 08:04:22 +0000 (17:04 +0900)]
[Interp] Reshape kernel in interpreter (#5453)

Enable reshape operation in interpreter

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[Interp] Fix input/output setting (#5456)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 24 Jun 2019 08:03:40 +0000 (17:03 +0900)]
[Interp] Fix input/output setting (#5456)

Replace input/output tensor setting instead of using insert for multiple inference using one interpreter type executor

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[neurun] Separate prepare of TemplTensorBuilder (#5473)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 06:55:22 +0000 (15:55 +0900)]
[neurun] Separate prepare of TemplTensorBuilder (#5473)

Separate prepare of TemplTensorBuilder to buildTensors and
buildSubtensors

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoIntroduce AclLinearMemoryManager (#5466)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 06:34:46 +0000 (15:34 +0900)]
Introduce AclLinearMemoryManager (#5466)

Introduce AclLinearMemoryManager for wrapping arm_compute::Memory
classes

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years ago[MemoryManager] Introduce createMemoryManager on each acl backend (#5468)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 05:42:02 +0000 (14:42 +0900)]
[MemoryManager] Introduce createMemoryManager on each acl backend (#5468)

This createMemoryManager function on each acl backend creates
MemoryManager according to each executor's type and delivered to
TensorBuilder's ctor.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoAdd initConstant to Utils.h (#5467)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 05:03:02 +0000 (14:03 +0900)]
Add initConstant to Utils.h (#5467)

This util `initConstant` will be used in backend::TensorBuilders

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years ago[MemoryManager] Apply MemoryManager to Executors (#5447)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 04:42:25 +0000 (13:42 +0900)]
[MemoryManager] Apply MemoryManager to Executors (#5447)

Apply MemoryManager to { Linear|Dataflow|Parallel } Executor

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoApply MemoryManager into FullyConnectedReshapingLayer (#5465)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 24 Jun 2019 04:42:11 +0000 (13:42 +0900)]
Apply MemoryManager into FullyConnectedReshapingLayer (#5465)

Apply arm_compute::IMemoryManager into { CL | NE }FullyConnectedReshapingLayer

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoIntroduce xprobe library (#5452)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 21 Jun 2019 06:19:43 +0000 (15:19 +0900)]
Introduce xprobe library (#5452)

This commit introduces xprobe library which provides various
instrumentation probes for performance analysis.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years ago[neurun] Move `Layout` enum from `operand` to `model` namespace (#5441)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 20 Jun 2019 06:00:42 +0000 (09:00 +0300)]
[neurun] Move `Layout` enum from `operand` to `model` namespace (#5441)

* Move enum class `Layout` from `graph::operand` namespace to `model`
* Fix usages of this class

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoRevise HowToContribute.md (#5445)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 20 Jun 2019 04:55:57 +0000 (13:55 +0900)]
Revise HowToContribute.md (#5445)

Revise HowToContribute.md with our new reviewing process

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[Interp] Update generated test skiplist (#5454)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Jun 2019 04:53:46 +0000 (13:53 +0900)]
[Interp] Update generated test skiplist (#5454)

Remove supporting operations in skiplist

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoSkip analysis multiple parent tensor (#5451)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Jun 2019 04:28:11 +0000 (13:28 +0900)]
Skip analysis multiple parent tensor (#5451)

* Skip analysis multiple parent tensor

Ignore setting parent tensor info to all childrun tensor if one of child tensor have different parent tensor

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Remove dead code

5 years agoFix parallel executor finishing condition (#5429)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 20 Jun 2019 03:56:21 +0000 (12:56 +0900)]
Fix parallel executor finishing condition (#5429)

Finishing condition must be processed with the lock, so the condition is
now inside the `while` body.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[Interp] Use Buffer class in interpreter tensor (#5436)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 20 Jun 2019 02:10:24 +0000 (11:10 +0900)]
[Interp] Use Buffer class in interpreter tensor (#5436)

* [Interp] Use Buffer class in interpreter tensor

Instead of use pointer directly, use Buffer class in interpreter tensor
Rename tensor data pointer field setter

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix error message

* Update Tensor.h

- Introduce getter to share Data shared pointer
- Change setter to set Data instead of ExternalData
- Add const keyword for Data object

5 years agoAdded support for models with multiple input tensors (#5405)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 19 Jun 2019 10:01:30 +0000 (13:01 +0300)]
Added support for models with multiple input tensors (#5405)

* Added support for models with multiple input tensors

Added support for models with multiple input tensors
Various minor fixes

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Unhandled case handled and function renamed

Removed dependence on uint64_t in signature.
Added a check for incorrect number of files given.

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Review fixes: codesyle and error message clarification

Review fixes: codesyle and error message clarification

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[Loader] Add supporting operations (#5449)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 08:34:32 +0000 (17:34 +0900)]
[Loader] Add supporting operations (#5449)

Add supporting operations
- BuiltinOperator_ADD
- BuiltinOperator_RELU
- BuiltinOperator_TRANSPOSE

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoPad operation frontend acl-cl backend (#5443)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 08:33:34 +0000 (17:33 +0900)]
Pad operation frontend acl-cl backend (#5443)

Introduce pad operation frontend and acl-cl backend
Enable framework and generated test for pad operation

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[Loader] Fix quantizaion info loading (#5450)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 07:49:03 +0000 (16:49 +0900)]
[Loader] Fix quantizaion info loading (#5450)

Check nullptr to get quantizaion info

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove pad in armcompute-ex (#5448)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 07:37:18 +0000 (16:37 +0900)]
Remove pad in armcompute-ex (#5448)

Remove unused pad implementation in armcompute-ex

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[pacl] Use pad acl 19.02 kernel (#5438)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 04:21:06 +0000 (13:21 +0900)]
[pacl] Use pad acl 19.02 kernel (#5438)

Use pad acl 19.02 kernel instead of acl-ex library

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[MemoryManager] Apply MemoryManager to TensorBuilder on ACL backend (#5407)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 19 Jun 2019 02:03:30 +0000 (11:03 +0900)]
[MemoryManager] Apply MemoryManager to TensorBuilder on ACL backend (#5407)

Each TensorBuilder on each acl backend such as cl and neon has
AclMemoryManager instead of Tensors.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years agoIntroduce pad operation in neurun (#5435)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 19 Jun 2019 01:02:40 +0000 (10:02 +0900)]
Introduce pad operation in neurun (#5435)

* Introduce pad operation in neurun

Define pad operation node in neurun
Add validation check for pad operation

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Release build fix and remove cassert header include

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Remove virtual keyword

5 years agoAdded Scheduling to Dataflow executors (#5410)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 18 Jun 2019 11:13:44 +0000 (14:13 +0300)]
Added Scheduling to Dataflow executors (#5410)

* Use Profile-based Scheduler for Dataflow executor job scheduling

Use Profile-based Scheduler for Dataflow executor job scheduling
Fixed some incorrect constants in Scheduler

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Review fixes: mostly codestyle

Review fixes: codestyle and Magic number removed

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* Moved Indexed Ranks inside Dataflow executor

Moved Indexed Ranks inside Dataflow executor

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years agoRemove redundant virtual keyword from neurun's operation/*Node.h (#5437)
이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 [Tue, 18 Jun 2019 10:33:02 +0000 (19:33 +0900)]
Remove redundant virtual keyword from neurun's operation/*Node.h (#5437)

This patch removes redundant virtuals from `runtimes/neurun/core/include/model/operation/*Node.h`.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
5 years ago[MemoryManager] Apply MemoryManager to TensorBuilder on CPU (#5406)
김용섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 18 Jun 2019 04:41:44 +0000 (13:41 +0900)]
[MemoryManager] Apply MemoryManager to TensorBuilder on CPU (#5406)

MemoryManager on CPU has MemoryPlanner, Allocator and Tensors instead of
TensorBuilder on CPU.

Signed-off-by: Yongseop Kim <yons.kim@samsung.com>
5 years ago[Interp] Introduce max pool operation in interpreter (#5355)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 18 Jun 2019 04:24:12 +0000 (13:24 +0900)]
[Interp] Introduce max pool operation in interpreter (#5355)

Introduce max pool operation for float32 type in interpreter

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>