platform/core/ml/nnfw.git
5 years agoResolve stride value for convolution at frontend (#5282)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 27 May 2019 23:26:57 +0000 (08:26 +0900)]
Resolve stride value for convolution at frontend (#5282)

Remove stride index param in con2d node
Resolve stride value for conv2d at frontend
Use resolved constant stride value at each backend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRevise BackendResolver to be per operation (#5262)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 27 May 2019 23:26:48 +0000 (08:26 +0900)]
Revise BackendResolver to be per operation (#5262)

Revise BackendResolver to be per operation, not the type of operation

Part of #5115

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoIntroduce the layout into TensorBuilder (#5233)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 27 May 2019 07:35:45 +0000 (16:35 +0900)]
Introduce the layout into TensorBuilder (#5233)

* Introduce the layout into TensorBuilder

This commit introduces the layout into TensorBuilder.
  - Introduce layout into TensorBuilder
  - Remove setting the layout with hard-coding from TensorBuilder

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Update TensorBuilder.h

5 years ago[tflitefile_tool] Fix depthwise typo in config_saver (#5281)
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 27 May 2019 06:05:31 +0000 (15:05 +0900)]
[tflitefile_tool] Fix depthwise typo in config_saver (#5281)

This patch fixes the depthwise typo in config_saver

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years agoOverload cpp14::make_unique to support arrays (#5268)
Сергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 27 May 2019 04:05:43 +0000 (07:05 +0300)]
Overload cpp14::make_unique to support arrays (#5268)

* Overload cpp14::make_unique to support arrays

Extend own implementation of make_unique to support array construction.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
* Add copyright information.

5 years agoIntroduce alias feature shape (#5273)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 May 2019 09:56:57 +0000 (18:56 +0900)]
Introduce alias feature shape (#5273)

Introduce alias model::FeatureShape for nnfw::misc::feature::Shape

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[Interpreter] Introduce kernel registration structure (#5269)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 May 2019 09:19:20 +0000 (18:19 +0900)]
[Interpreter] Introduce kernel registration structure (#5269)

* Introduce kernel registration structure

- Divide kernel to prepare/invoke
- Introduce kernel registration structure
  - OperationExecutor's constructure register kernel
  - Visitor call prepare and invoke function based on node type

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

5 years agoRename snake case padding util function (#5271)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 May 2019 05:01:16 +0000 (14:01 +0900)]
Rename snake case padding util function (#5271)

Rename valid_padding and same_padding function

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[Interpreter] Introduce buffer allocator and deallocator (#5260)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 May 2019 04:01:18 +0000 (13:01 +0900)]
[Interpreter] Introduce buffer allocator and deallocator (#5260)

* Introduce introduce buffer allocator and deallocator

Allocate buffer if need for operation output
Deallocate buffer if all uses are finished

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Rename allocatedIfNeed to allocatedIfNeeded

5 years agoFix remove file name in ExecTime unittest (#5264)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 May 2019 04:00:38 +0000 (13:00 +0900)]
Fix remove file name in ExecTime unittest (#5264)

Fix remove file name in ExecTime unittest to exec_time.json

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoPrepare to use Stride struct in operation param (#5261)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 May 2019 02:01:29 +0000 (11:01 +0900)]
Prepare to use Stride struct in operation param (#5261)

Move util::Stride to InternalType.h
Make field for stride param in operation node definition

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoNew schema_generated.h file in tflite_loader (#5228)
Павел Ильютченко/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 24 May 2019 01:20:33 +0000 (04:20 +0300)]
New schema_generated.h file in tflite_loader (#5228)

* Regenerated schema_generated.h file in tflite loader

* Generate new file with correspondings flatbuffers version and flags

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* Recompiled schema header without extra flags

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
* New line at the end of file

Signed-off-by: Pavel Iliutchenko <p.iliutchenk@samsung.com>
5 years agoUse rua-shim in T/F Lite delegate (#5263)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 24 May 2019 01:20:20 +0000 (10:20 +0900)]
Use rua-shim in T/F Lite delegate (#5263)

This commit update T/F Lite delegate to use RUA Shim implementation
instead of the current Shim implementation (derived from T/F Lite).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoFixed 'how to test manually' document (#5251)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 24 May 2019 00:35:39 +0000 (03:35 +0300)]
Fixed 'how to test manually' document (#5251)

Fixed 'how to test manually' document

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoUse padding util function for transpose convolution (#5256)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 23 May 2019 04:15:05 +0000 (13:15 +0900)]
Use padding util function for transpose convolution (#5256)

Use padding util function for transpose convolution on acl cl backend stage generator

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[RUA] Update CMake target name & ifdef guard (#5255)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 23 May 2019 04:14:54 +0000 (13:14 +0900)]
[RUA] Update CMake target name & ifdef guard (#5255)

With this commit, RUA becomes consistent with other libraries in NNFW
in terms of CMake target name and ifdef guard.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoAdd interpreter unittest using buffer (#5221)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 23 May 2019 02:00:49 +0000 (11:00 +0900)]
Add interpreter unittest using buffer (#5221)

* Add interpreter unittest using buffer

Add interpreter unittest using two add operation with buffer output and constant operand
Move add kernel code order for correct exception

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Update example model comment

5 years ago[tflite_run] Support input from file (#5204)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 22 May 2019 22:15:45 +0000 (01:15 +0300)]
[tflite_run] Support input from file (#5204)

Supported input from file (--input cli key)

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoRevise padding parameter resolution (#5248)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 22 May 2019 22:14:31 +0000 (07:14 +0900)]
Revise padding parameter resolution (#5248)

Resolve paddidng parameter value at frontend
Use util function in backend stage generator

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove const keyword for int32_t return (#5249)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 22 May 2019 22:13:22 +0000 (07:13 +0900)]
Remove const keyword for int32_t return (#5249)

Remove const keyword for int32_t return in cker

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix backend pointers in ExecTime (#5241)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 22 May 2019 08:10:20 +0000 (11:10 +0300)]
Fix backend pointers in ExecTime (#5241)

Fix backend pointers in ExecTime

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years ago[RUA] Introduce Anchor & Shim module (#5243)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 22 May 2019 08:08:32 +0000 (17:08 +0900)]
[RUA] Introduce Anchor & Shim module (#5243)

This commit introduces rua-anchor which provides as a global rua
service store, and rua-shim which provides (inlined) Android NN API
implementation which delegates the call to the anchored runtime.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoExtract ExecutorFactory as a separate class (#5236)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 22 May 2019 07:02:49 +0000 (16:02 +0900)]
Extract ExecutorFactory as a separate class (#5236)

Remove if-else statements for Executor creation, use a map-based factory
instead.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRevise padding parameter setting for depthwise convolution (#5234)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 22 May 2019 06:51:00 +0000 (15:51 +0900)]
Revise padding parameter setting for depthwise convolution (#5234)

* Revise padding parameter setting for depthwise convolution

- Resolve explicit padding param value at frontend
- Introduce util function to calculate padding from type and additional info
  - Use introduced function on backend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Update function name

5 years ago[RUA] Introduce Dynamic Binder (#5230)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 21 May 2019 22:16:23 +0000 (07:16 +0900)]
[RUA] Introduce Dynamic Binder (#5230)

This commit introduces RUA Dynamic Binder which binds Android NN runtime
through dlopen as TensorFlow Lite does.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoAdded 'how to test manually' document (#5205)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 21 May 2019 22:15:51 +0000 (01:15 +0300)]
Added 'how to test manually' document (#5205)

Added 'how to test manually' document

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
5 years agoIntroduce Execution Time structure (#5162)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 21 May 2019 09:36:13 +0000 (12:36 +0300)]
Introduce Execution Time structure (#5162)

This adds a structure to store/update/persist
runtime information for different ops

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years agoRename Worker to WorkQueue (ParallelScheduler) (#5232)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 21 May 2019 04:46:59 +0000 (13:46 +0900)]
Rename Worker to WorkQueue (ParallelScheduler) (#5232)

Rename Worker to WorkQueue which is ussed from ParallelScheduler.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoInclude cmake ExternalProjectTools before using (#5231)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 21 May 2019 04:46:45 +0000 (13:46 +0900)]
Include cmake ExternalProjectTools before using (#5231)

Include lost cmake ExternalProjectTools before using add_extdirectory macro

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMerge explicit padding structure (#5229)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 21 May 2019 03:54:41 +0000 (12:54 +0900)]
Merge explicit padding structure (#5229)

Merge usage neurun::util::Padding to neurun::model::ExplicitPadding
Rename Padding.value to Padding.param

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce RUA library (#5227)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 21 May 2019 03:36:06 +0000 (12:36 +0900)]
Introduce RUA library (#5227)

This commit introduces RUA library which serves as an abstraction over
various Android NN runtime implementations.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoFileIO for Execution Time (#5226)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 21 May 2019 00:37:26 +0000 (03:37 +0300)]
FileIO for Execution Time (#5226)

This class handles saving and parsing ExecTime data.

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years agoUpdate doxygen config for main page (#5220)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 21 May 2019 00:32:45 +0000 (09:32 +0900)]
Update doxygen config for main page (#5220)

Update exxclude directory to make main page and related page

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoIntroduce the layout into Subgraph (#5222)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 21 May 2019 00:32:22 +0000 (09:32 +0900)]
Introduce the layout into Subgraph (#5222)

This commit introduces the layout into Subgraph.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoAdd const keyword for interpreter tensor accessor (#5218)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 May 2019 23:43:51 +0000 (08:43 +0900)]
Add const keyword for interpreter tensor accessor (#5218)

Add const keyword for interpreter tensor accessor in ExecEnv

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoSupport RNN operation (#5214)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 20 May 2019 10:10:15 +0000 (19:10 +0900)]
Support RNN operation (#5214)

This commit supports RNN operation by using acl cl.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoMove operation kernel call (#5217)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 May 2019 07:24:02 +0000 (16:24 +0900)]
Move operation kernel call (#5217)

Introduce operation kernel directory for interpreter
Call kernel function in visitor

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix typo in depthwise convolution node (#5216)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 May 2019 07:23:43 +0000 (16:23 +0900)]
Fix typo in depthwise convolution node (#5216)

Fix typo: multipler -> multiplier
This typo comes from tensorflow lite

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove backend layout (#5176)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 20 May 2019 07:22:19 +0000 (16:22 +0900)]
Remove backend layout (#5176)

This commit removes backend layout.
  - Remove getting layout from backend
  - Introduce layout into LowerInfo

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoIntroduce doxygen command (#5213)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 May 2019 03:31:48 +0000 (12:31 +0900)]
Introduce doxygen command (#5213)

* Introduce doxygen command

Doxygen generation command: ./nnfw doxygen

Update doxygen configuration file
- Include codes only build on gbs
- Update path based on repo's root

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Use pushd and pop

5 years agoPackage dependency for peachpy (#5201)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Mon, 20 May 2019 02:02:58 +0000 (11:02 +0900)]
Package dependency for peachpy (#5201)

External peachpy source need for NNPACK
In peachpy source download configuration, it need additional download to execute python setup script - six, enum, opcode
Instead of using setup.py, direct code generation script run with python path setting

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[cker] Depthwise conv quant8 type (#5195)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 May 2019 10:06:29 +0000 (19:06 +0900)]
[cker] Depthwise conv quant8 type (#5195)

Introduce depthwise conv quant8 type kernel in cker
Implement neurun cpu backend for depthwise conv quant8 and enable test

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoEnable ParallelExecutor (#5202)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 17 May 2019 10:05:11 +0000 (19:05 +0900)]
Enable ParallelExecutor (#5202)

Enable ParallelExecutor with option `EXECUTOR=Parallel`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[cker] Elementwise add kernel (#5203)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 May 2019 10:05:00 +0000 (19:05 +0900)]
[cker] Elementwise add kernel (#5203)

* [cker] Elementwise add kernel

Introduce elementwise add kernel in cker
Implement neurun cpu backend and enable test

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

5 years agoIntroduce padding struct (#5210)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 May 2019 10:04:50 +0000 (19:04 +0900)]
Introduce padding struct (#5210)

* Introduce padding struct

Introduce padding struct including padding type and explicit padding value
Use padding type field only

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix bug in debug build

5 years agoRename padding type enum class (#5209)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 May 2019 03:49:01 +0000 (12:49 +0900)]
Rename padding type enum class (#5209)

Rename padding type enum class: Padding -> PaddingType
Prepare introduce padding struct including padding type and value

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix dumper bug (#5207)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 May 2019 02:13:57 +0000 (11:13 +0900)]
Fix dumper bug (#5207)

Fix dumper bug for TopKV2 Node

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRemove nnpack installation (#5193)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 May 2019 07:47:16 +0000 (16:47 +0900)]
Remove nnpack installation (#5193)

Remove nnpack related headers and static library installation

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago[ACLEx] Introduce CLRNNLayerEx (#5196)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 16 May 2019 07:41:56 +0000 (16:41 +0900)]
[ACLEx] Introduce CLRNNLayerEx (#5196)

This commit introduces CLRNNLayerEx fixing CLRNNLayer of v19.02.

diff --git a/src/runtime/CL/functions/CLRNNLayer.cpp b/src/runtime/CL/functions/CLRNNLayer.cpp
index 63f00ac8e..d89a38316 100644
--- a/src/runtime/CL/functions/CLRNNLayer.cpp
+++ b/src/runtime/CL/functions/CLRNNLayer.cpp
@@ -44,8 +44,8 @@ CLRNNLayer::CLRNNLayer(std::shared_ptr<IMemoryManager> memory_manager)
 Status CLRNNLayer::validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *recurrent_weights, const ITensorInfo *bias, const ITensorInfo *hidden_state,
                             const ITensorInfo *output, const ActivationLayerInfo &info)
 {
-    const int idx_width  = get_data_layout_dimension_index(input->data_layout(), DataLayoutDimension::WIDTH);
-    const int idx_height = get_data_layout_dimension_index(input->data_layout(), DataLayoutDimension::HEIGHT);
+    const int idx_width = 0;
+    const int idx_height = 1;
     ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(input, weights, recurrent_weights, bias, hidden_state, output);
     ARM_COMPUTE_RETURN_ERROR_ON(input->dimension(idx_width) != weights->dimension(idx_width));
     ARM_COMPUTE_RETURN_ERROR_ON(weights->dimension(idx_height) != recurrent_weights->dimension(idx_width));
@@ -72,7 +72,7 @@ void CLRNNLayer::configure(const ICLTensor *input, const ICLTensor *weights, con
     ARM_COMPUTE_ERROR_ON_NULLPTR(input, weights, recurrent_weights, bias, hidden_state, output);
     ARM_COMPUTE_ERROR_THROW_ON(CLRNNLayer::validate(input->info(), weights->info(), recurrent_weights->info(), bias->info(), hidden_state->info(), output->info(), info));

-    const int   idx_height = get_data_layout_dimension_index(input->info()->data_layout(), DataLayoutDimension::HEIGHT);
+    const int   idx_height = 1;
     TensorShape shape      = compute_rnn_shape(recurrent_weights->info(), hidden_state->info()->dimension(idx_height));

     _is_prepared = false;

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoRemove NNAPI Shim include from NNAPI Delegate header (#5200)
박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 May 2019 07:39:20 +0000 (16:39 +0900)]
Remove NNAPI Shim include from NNAPI Delegate header (#5200)

This header may introduce some name conflicts. Let's remove this
unnecessary include.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
5 years agoUse template for actvation calculation (#5198)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 May 2019 05:03:06 +0000 (14:03 +0900)]
Use template for actvation calculation (#5198)

Change activation implementation to use template
Prepare to support more type (int32, uint32, etc)

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix PermuteLayer (#5188)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 16 May 2019 00:38:20 +0000 (09:38 +0900)]
Fix PermuteLayer (#5188)

This commit fixes PermuteLayer to consider padding.
  - Fix PermuteLayer to consider padding
  - Fix PermuteLayer to consider layout

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoUpdate Dumper to support implemented operations (#5192)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 15 May 2019 23:59:49 +0000 (08:59 +0900)]
Update Dumper to support implemented operations (#5192)

This commit updates Dumper to support implemented operations now.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoIntroduce ParallelExecutor (#5171)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 15 May 2019 09:43:37 +0000 (18:43 +0900)]
Introduce ParallelExecutor (#5171)

This commit introduces ParallelExecutor without usage.

Draft PR : #4920

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRemove Obsolescent Functions (atoi) (#5191)
이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 15 May 2019 07:54:54 +0000 (16:54 +0900)]
Remove Obsolescent Functions (atoi) (#5191)

This patch will replace atoi function with strtol.

Reference : https://wiki.sei.cmu.edu/confluence/display/c/MSC24-C.+Do+not+use+deprecated+or+obsolescent+functions

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
5 years ago[hi-perf-cpu] High performance cpu backend (#5064)
Андрей Шедько/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 15 May 2019 07:52:09 +0000 (10:52 +0300)]
[hi-perf-cpu] High performance cpu backend (#5064)

* [hi-perf] High performance cpu backend

initial support for nnpack library

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* [hi-perf] NNPACK actually builds correctly.

NNPACK builds, but cpuinfo does not detect CPU yet.

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* [hi-perf] Cleanup cmake and test inference

Split nnpack deps download into separate configs.
Added float16 format options to arm builds.
Added nnpack relu test to be run when it is possible

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* [hi-perf] Try to fix cmake crossbuild

Try to fix cmake crossbuild

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* [hi-perf] Fix x86_64 build

PeachPy on x86_64 needs to generate some files for successful
compilation
Added explicit dependency on Opcodes.py

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* [hi-perf] Fix archive type in cmake

Fix archive type in cmake
Fix avx instruction generation for nnpack

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* [hi-perf] Review Fixes

file-terminating newlines added, codestyle fixed.

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* [hi-perf] More fixes for cmake files

Status reporting improved.
Removed superfluous linkages and includes.

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
* [hi-perf] More review Fixes

Fixed comment, Removed conflicting change

Signed-off-by: Andrei Shedko <a.shedko@samsung.com>
5 years agoIntroduce tensorflow lite file loader directory (#5180)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 May 2019 01:10:57 +0000 (10:10 +0900)]
Introduce tensorflow lite file loader directory (#5180)

Introduce tensorflow lite file loader directory in contribs for prototye of nnpackage's model file loader
schema.fbs file is comes from tensorflow r1.13.1
schema_generated.h file is auto-generated by flatc

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoSupport assigning backends to instances of operations (#5167)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 13 May 2019 01:13:06 +0000 (04:13 +0300)]
Support assigning backends to instances of operations (#5167)

* Support assigning backends to instances of operations

This is needed for HE scheduling

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Remove unrelated changes

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agoEnable some tests for x64 (#5174)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Mon, 13 May 2019 01:12:39 +0000 (10:12 +0900)]
Enable some tests for x64 (#5174)

This commit enables some tests for x64

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoRemove unused/unneeded SubGraphContext methods (#5173)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 10 May 2019 06:27:42 +0000 (15:27 +0900)]
Remove unused/unneeded SubGraphContext methods (#5173)

- Remove `releaseAt` which is unused
- Remove `getAt` which is a duplicate

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoChange default layout of acl backend to NHWC (#5159)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 10 May 2019 06:18:58 +0000 (15:18 +0900)]
Change default layout of acl backend to NHWC (#5159)

* Change default layout of acl backend to NHWC

This commit changes default layout of acl backend to NHWC.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Enable NCHW test for acl backend

This commit enable NCHW test for acl backend
 - Introduce ACL_DEFAULT_LAYOUT configuration for test by layout

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
* Fix failures of NCHW tests

This commit fixes failures of NCHW tests.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoIntroduce layout info in model operand (#5172)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 May 2019 04:39:43 +0000 (13:39 +0900)]
Introduce layout info in model operand (#5172)

Set model operand's shape layout info in operand info to support more layout from model
Default value is NHWC

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoFix compile error. (#5170)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 9 May 2019 09:21:52 +0000 (18:21 +0900)]
Fix compile error. (#5170)

- fix unintended implicit fallthrough in switch case.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years agoIntroduce asActivationLayerInfo converting activation code to ActivationLayerInfo...
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 9 May 2019 08:07:16 +0000 (17:07 +0900)]
Introduce asActivationLayerInfo converting activation code to ActivationLayerInfo (#5144)

This commit introduces asActivationLayerInfo converting activation code to ActivationLayerInfo.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years ago[tflitefile_tool] Add config option for benchmark tool to save model config file...
윤지영/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 9 May 2019 05:19:21 +0000 (14:19 +0900)]
[tflitefile_tool] Add config option for benchmark tool to save model config file (#5145)

* [tflitefile_tool] Add config option for benchmark tool

This patch adds the `-c` and `--config` options.
This option will print the configuration information of each operator.

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
* Save configuration file

This patch allows to save the configuration info about model

Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
5 years agoIntroduce ParallelScheduler (#5155)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 9 May 2019 05:09:37 +0000 (14:09 +0900)]
Introduce ParallelScheduler (#5155)

Introduce `ParallelScheduler` along with `Worker` and `ThreadPool`.

Part of #4920

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoOrganizing the files past the date. (#5166)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 9 May 2019 00:56:33 +0000 (09:56 +0900)]
Organizing the files past the date. (#5166)

- Make backup folder `doc/2018`.
- Move the files past the date, if possible.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years agoUpdate `roadmap.md` (#5148)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 8 May 2019 08:15:25 +0000 (17:15 +0900)]
Update `roadmap.md` (#5148)

* Update `roadmap.md`

- create document sub folder named `2018`
- move the last `roadmap.md` document and `nnfw_architecture` image to 2018 folder.
- create new `roadmap.md` and `nnfw_architecture` for 2019 with updated contests.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years agoUpdate `workgroups.md` document (#5160)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Wed, 8 May 2019 08:10:12 +0000 (17:10 +0900)]
Update `workgroups.md` document (#5160)

* Update `workgroups.md` document

- Update workgroups.md document with latest workgroup configuration.
- Tempolarly rename old file to `2018_workgroups.md` for backup.
  It will moved to `docs/2018` folder after #5148 merged.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
5 years agoChange ConcatLayer to support NHWC (#5165)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Wed, 8 May 2019 05:35:03 +0000 (14:35 +0900)]
Change ConcatLayer to support NHWC (#5165)

This commit ConcatLayer to support NHWC.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoRemove pack simple kernel (#5163)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 May 2019 05:11:21 +0000 (14:11 +0900)]
Remove pack simple kernel (#5163)

Remove pack simple kernel in libs/ARMComputeEx
Use stack kernel in acl 19.02
Fix generated test to test 2D input (permutation issue)

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRun mixed backend for test coverage (#5164)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 May 2019 05:10:54 +0000 (14:10 +0900)]
Run mixed backend for test coverage (#5164)

Use mixed backend setting for test coverage run

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years ago Redo PermuteLayer run as template (#5107)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 8 May 2019 04:36:49 +0000 (07:36 +0300)]
 Redo PermuteLayer run as template (#5107)

* Redo PermuteLayer run as template

PermuteLayer always assumes, that its data type is float. It was causing
an error during HE scheduler implementation. PR 5073

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Revert "Not supported yet" to NYI

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
* Merge ctors

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agoRemove nnapi dependency in neurun (#5153)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 May 2019 01:08:08 +0000 (10:08 +0900)]
Remove nnapi dependency in neurun (#5153)

Remove nnapi dependency in neurun core and backend code

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove Subgraph and SubgraphContext to upper dir (#5143)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 7 May 2019 09:29:19 +0000 (18:29 +0900)]
Move Subgraph and SubgraphContext to upper dir (#5143)

Move Subgraph and SubgraphContext from `model::operation::` to
`model::`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoSupport NHWC layout for ConstantInitializer (#5139)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 7 May 2019 09:27:29 +0000 (18:27 +0900)]
Support NHWC layout for ConstantInitializer (#5139)

This commit supports NHWC layout for ConstantInitializer.
  - Support NHWC layout for ConstantInitializer.
  - Support calculating the offset of cpu tensor up to 4 dimensions and in NHWC.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoRemove workaround mixed test (#5156)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 May 2019 08:35:32 +0000 (17:35 +0900)]
Remove workaround mixed test (#5156)

Remove workaround for mixed backend test because CI scripts are updated

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoInternal padding type string converter (#5151)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 May 2019 04:59:24 +0000 (13:59 +0900)]
Internal padding type string converter (#5151)

Use internal padding type to convert padding type to string instead of NNAPI PaddingCode

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove resolving transpose convolution padding (#5150)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 May 2019 04:59:01 +0000 (13:59 +0900)]
Move resolving transpose convolution padding (#5150)

Move resolving transpose convolution operation's padding type: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMerge Lowered and Subgraph section in Graph (#5122)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 7 May 2019 04:44:44 +0000 (13:44 +0900)]
Merge Lowered and Subgraph section in Graph (#5122)

Subgraph is also part of LOWERED phase so we should not distinguish
these members.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoRevise Job class for ParallelExecutor (#5121)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 7 May 2019 04:44:32 +0000 (13:44 +0900)]
Revise Job class for ParallelExecutor (#5121)

- Introduce `Backend` as a member
- Intrdouce `reset` method for next execution

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoIntroduce FullyConnectedReshapingLayer into ARMComputeEX (#5140)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Tue, 7 May 2019 04:44:19 +0000 (13:44 +0900)]
Introduce FullyConnectedReshapingLayer into ARMComputeEX (#5140)

This commit introduces FullyConnectedReshapingLayer into ARMComputeEx.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoRemove unpack simple kernel (#5135)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 May 2019 04:43:26 +0000 (13:43 +0900)]
Remove unpack simple kernel (#5135)

* Remove unpack simple kernel

Remove unpack simple kernel in libs/ARMComputeEx
Use unstack kernel in acl 19.02
Fix generated test to test 3D input (permutation issue)

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Update comment, remove change in pack

5 years agoFix Operands::exist to be able to remove operands (#5146)
Дилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 7 May 2019 03:33:10 +0000 (06:33 +0300)]
Fix Operands::exist to be able to remove operands (#5146)

If we remove operands after building a graph, existing method doesn't
work. Moreover, complexity of std::unordered_map::find is O(1), so we
don't loose much in time

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
5 years agoSupport NHWC layout for calculating the offset of acl tensor (#5137)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 09:41:31 +0000 (18:41 +0900)]
Support NHWC layout for calculating the offset of acl tensor (#5137)

This commit supports NHWC layout for calculating the offset of acl tensor.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoMove fullyconnected activation resolve (#5132)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:59:42 +0000 (16:59 +0900)]
Move fullyconnected activation resolve (#5132)

Move fullyconnected operation's activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove maxpool padding & activation resolve (#5120)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:53:13 +0000 (16:53 +0900)]
Move maxpool padding & activation resolve (#5120)

Move maxpool padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove OperationIndex definition to Index.h (#5117)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 07:52:24 +0000 (16:52 +0900)]
Move OperationIndex definition to Index.h (#5117)

As all index classes other than `OperationIndex` are all in `Index.h`,
this commit moves `OperationIndex` definition to `Index.h` and removes
`OperationIndex.h`.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoMove elementwise op padding & activation resolve (#5129)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:34:00 +0000 (16:34 +0900)]
Move elementwise op padding & activation resolve (#5129)

Move arithmetic elementwise operation padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove conv2d padding & activation resolve (#5124)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:33:40 +0000 (16:33 +0900)]
Move conv2d padding & activation resolve (#5124)

Move convolution padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove averagepool padding & activation resolve (#5123)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:33:20 +0000 (16:33 +0900)]
Move averagepool padding & activation resolve (#5123)

* Move averagepool padding & activation resolve

Move average pool padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Fix constant check assertion and fix bug

- Fix to set explicit padding type
- Remove assert because asScalar has same assertion

5 years agoMove L2 pooling padding & activation resolve (#5126)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:30:37 +0000 (16:30 +0900)]
Move L2 pooling padding & activation resolve (#5126)

Move l2 pooling padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoMove depthwise-conv padding & activation resolve (#5119)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 07:26:03 +0000 (16:26 +0900)]
Move depthwise-conv padding & activation resolve (#5119)

Move depthwise convolution padding & activation type resolve: backend to frontend

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRuntime test with mixed backends (#5125)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 06:51:34 +0000 (15:51 +0900)]
Runtime test with mixed backends (#5125)

* Runtime test with mixed backends

Initial version of runtime test with mixed backends (Fixed backend
assignment)

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
* Remove logging

* Fix typo comments and add TODO

5 years ago[dotdump] Show Subgraphs (#5128)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 06:24:01 +0000 (15:24 +0900)]
[dotdump] Show Subgraphs (#5128)

Show subgraphs using dot's subgraph(cluster) feature.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years agoChange in GTests of PReLU (#5110)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Fri, 3 May 2019 02:04:26 +0000 (11:04 +0900)]
Change in GTests of PReLU (#5110)

* Change in GTests of PReLU

Since prelu_ex_float_1 and prelu_ex_float_2 perform similar tests
This patch adds a replacement test

Signed-off-by: prasannar <prasanna.r@samsung.com>
* Add Quant8 test cases for PReLU op

This patch adds Quant8 test cases for PReLU op

Signed-off-by: prasannar <prasanna.r@samsung.com>
5 years agoMove BackendSet to graph::BackendSet (#5130)
이한종/On-Device Lab(SR)/Engineer/삼성전자 [Fri, 3 May 2019 00:56:03 +0000 (09:56 +0900)]
Move BackendSet to graph::BackendSet (#5130)

Move `BackendSet` to `graph::BackendSet`. It was in
`graph::operand::BackendSet` which is misleading.

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
5 years ago[neurun] Introduce CopySource and CopySink (#5116)
장지섭/On-Device Lab(SR)/Engineer/삼성전자 [Thu, 2 May 2019 05:47:49 +0000 (14:47 +0900)]
[neurun] Introduce CopySource and CopySink (#5116)

This commit Introduces CopySource and CopySink.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
5 years agoRevise header include in OperationFactory.cc (#5101)
오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 [Thu, 2 May 2019 05:36:22 +0000 (14:36 +0900)]
Revise header include in OperationFactory.cc (#5101)

- Change to use brackets for core header include
- Include NNAPIConverter.h to prepare to use activation and padding type converter

Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
5 years agoRenewed README.md with 2019 plan (#5102)
이성재/On-Device Lab(SR)/Principal Engineer/삼성전자 [Thu, 2 May 2019 05:35:50 +0000 (14:35 +0900)]
Renewed README.md with 2019 plan (#5102)

* Renewd README.md with 2019 plan

- Update target platform
- Trim the sentence
- Add notification about _nncc_ integration

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
* Fix typo.

- remove duplicated word.

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