platform/core/ml/nnfw.git
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>
5 years ago[Interp] Introduce Buffer class (#5401)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Jun 2019 10:18:07 +0000 (19:18 +0900)]
[Interp] Introduce Buffer class (#5401)

* [Interp] Introduce Buffer class

Introduce Buffer class to handle writable data area
- Allocate internally
- Comes from outside (ex. model output)

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix comment, include guard and add const function keyword

5 years agoRemove axis restriction on concat elimination (#5414)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Jun 2019 10:15:56 +0000 (19:15 +0900)]
Remove axis restriction on concat elimination (#5414)

* Remove axis restriction on concat elimination

Remove axis restruction that is allowed channel axis only on concat elimination

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

5 years agoClean header inclusion (#5423)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 17 Jun 2019 08:16:37 +0000 (17:16 +0900)]
Clean header inclusion (#5423)

For acl_cl and acl_neon StageGenerator implementation

- Remove unnecessary newlines
- Remove unused inclusion

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[Interp] Depthwise conv kernel in interpreter (#5425)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 17 Jun 2019 08:12:03 +0000 (17:12 +0900)]
[Interp] Depthwise conv kernel in interpreter (#5425)

Enable depthwise conv operation for float32 type in interpreter

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoDisallow copying of model::Operation class (#5383)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 17 Jun 2019 04:18:22 +0000 (07:18 +0300)]
Disallow copying of model::Operation class (#5383)

Mark copy constructor and copy assignment operator as deleted to avoid unintentional copying.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
5 years agoUse `reset()` for unique_ptr freeing (#5420)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 08:09:03 +0000 (17:09 +0900)]
Use `reset()` for unique_ptr freeing (#5420)

This commit revises to call `reset()` instead of using keyword
`delete[]` in `MemoryPlanner.h`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoApply Concat Elimination for DataflowExecutor (#5409)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 08:07:28 +0000 (17:07 +0900)]
Apply Concat Elimination for DataflowExecutor (#5409)

* Apply Concat Elimination for DataflowExecutor

This commit applies Concat Elimination to Dataflow/ParallelExecutor.
Instead of actually removing the operation, create a IFunction that does
nothing and execute it at runtime. This is a very simple way to apply
Concat Elimination for very small overhead.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Fix unintended deallocation

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Fix acl_neon and extract NopFunction

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoInterpreter test script (#5417)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Jun 2019 08:05:56 +0000 (17:05 +0900)]
Interpreter test script (#5417)

Divide standalone interpreter test script from x64 build script
Use interpreter test script in x64 test and armv7l coverage test

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove calcOffset methods using Coordinate4D (#5416)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 08:05:45 +0000 (17:05 +0900)]
Remove calcOffset methods using Coordinate4D (#5416)

This commit removes calcOffset methods using Coordinate4D from classes of backend tensor

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years ago[Interp] DepthwiseConv and Reshape kernel skeleton (#5415)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Jun 2019 07:29:16 +0000 (16:29 +0900)]
[Interp] DepthwiseConv and Reshape kernel skeleton (#5415)

- DepthwiseConv kernel skeleton for mobilenet
- Reshape kernel skeleton for inception v3 2018

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoApply Coordinates for PermuteLayer (#5399)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 00:55:14 +0000 (09:55 +0900)]
Apply Coordinates for PermuteLayer (#5399)

This commit applies Coordinates for PermuteLayer.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoApply Coordinates for sinking and sourcing (#5398)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 14 Jun 2019 00:53:14 +0000 (09:53 +0900)]
Apply Coordinates for sinking and sourcing (#5398)

This commit applies Coordinates for sinking and sourcing.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoUse Coordinates in SubTensorInfo (#5395)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 14 Jun 2019 00:46:38 +0000 (09:46 +0900)]
Use Coordinates in SubTensorInfo (#5395)

Use Coordinates instead of Coordinate4D in SubTensorAnalyzer and SubTensorInfo

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