platform/core/ml/nnfw.git
6 years agoFix failed build (#554)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Jul 2018 12:15:52 +0000 (16:15 +0400)]
Fix failed build (#554)

Fixes mismatched include guard in conv_2D.h

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoAdd Caffe model visiting mechanism (#535)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Jul 2018 11:28:25 +0000 (14:28 +0300)]
Add Caffe model visiting mechanism (#535)

Add Caffe model visiting mechanism

Used for traversing the model and doing something with
objects that it contains.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoFix merge issues from #394 (#534)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Jul 2018 11:27:36 +0000 (15:27 +0400)]
Fix merge issues from #394 (#534)

Add missing #include <cassert> to ShapeRange header

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc backend] Add Pool2D operation implementation (#440)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Jul 2018 11:27:11 +0000 (15:27 +0400)]
[nnc backend] Add Pool2D operation implementation (#440)

[nnc backend] Add Pool2D operation implementation

This class is used by model IR interpreter backend

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc backend] Add elementwise operation impl (#416)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Jul 2018 11:25:28 +0000 (15:25 +0400)]
[nnc backend] Add elementwise operation impl (#416)

 [nnc backend] Add elementwise operation impl

Used as a base for other operation implementations

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoSoft backend C/C++ framework (#483)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Fri, 6 Jul 2018 11:22:01 +0000 (14:22 +0300)]
Soft backend C/C++ framework (#483)

Introduce generator framework

Main generator and model analyzer structure

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoUpdate Dockerfile with Caffe dependencies (#551)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Jul 2018 06:30:55 +0000 (15:30 +0900)]
Update Dockerfile with Caffe dependencies (#551)

This commit updates Dockerfile with Caffe dependencies.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoDo NOT require GLog from GFlags (#546)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Jul 2018 01:46:14 +0000 (10:46 +0900)]
Do NOT require GLog from GFlags (#546)

Do NOT require GLog from GFlags

6 years agoIntroduce usage to nncc script (#530)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 5 Jul 2018 23:31:43 +0000 (08:31 +0900)]
Introduce usage to nncc script (#530)

* Introduce usage to nncc script

This commit introduces usage to nncc script

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
* Modify usage in nncc script

This commit modifies usage in nncc script to list supported commands automatically

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
* Remove a help option

This commit removes help option.

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
6 years agoFix merge issues (#505)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 5 Jul 2018 10:00:21 +0000 (14:00 +0400)]
Fix merge issues (#505)

This commit fixes merge issues from #404

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoAdd 'docker-shell' (#468)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 5 Jul 2018 06:03:36 +0000 (15:03 +0900)]
Add 'docker-shell' (#468)

This commit extracts interactive shell creation routine from
'docker-build' and introduces it as 'docker-shell' command.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce 'pp' library (#430)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 10:09:01 +0000 (19:09 +0900)]
Introduce 'pp' library (#430)

* Introduce 'pp' library

This commit introduces 'pp' library which provides various helper
functions and classes for pretty-printing.

The current implementation provides 'fmt' function which constructs a
string using operator<<, and IndentedDocumentBuilder class which makes
it easy to build indented documents especially when indentation is
nested.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Check _level before unindent

* Use static storage quantifier

* Use strict compile options

* Remove unnecessary override

* Do not construct temporary string objects

6 years agoFix build break (#501)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 09:33:55 +0000 (18:33 +0900)]
Fix build break (#501)

This commit fixes build breaks.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnsuite] TensorFlow Lite-based conv nnkit backend (#431)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 08:46:50 +0000 (17:46 +0900)]
[nnsuite] TensorFlow Lite-based conv nnkit backend (#431)

This commit introduce a nnkit backend which inferences with sample
(random) conv model in nnsuite.

This implementation may serve as a reference data generator for compiler
test.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUpdate SW HLD content (#322)
Sergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 07:34:22 +0000 (16:34 +0900)]
Update SW HLD content (#322)

Add HLD content

This commit adds the content of High-Level Design Document

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
6 years agoSW Detailed-Level Design Document v1.0 (#357)
Sergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 07:30:09 +0000 (16:30 +0900)]
SW Detailed-Level Design Document v1.0 (#357)

* Add Detailed-Level Design Document

This commit adds the SW Detailed-Level Design Document

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Remove "Apply optimizations" section

* Update DLD template

* Add content of "SW Detailed Structure Design" section

* Remove structure image. Update section "Generate the code" and "Interface"

6 years agoAdd 'docker-run' command (#495)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 07:07:16 +0000 (16:07 +0900)]
Add 'docker-run' command (#495)

This commit introduces 'docker-run' command which invokes a given
command inside a nncc docker container.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Introduce HDF5 import action (#380)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 07:06:48 +0000 (16:06 +0900)]
[nnkit] Introduce HDF5 import action (#380)

This commit introduces HDF5 import action, which fills tensor with the
values loaded from HDF5 file.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoPermit additional docker options via DOCKER_OPTS (#496)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 02:52:13 +0000 (11:52 +0900)]
Permit additional docker options via DOCKER_OPTS (#496)

This commmit allows users to pass additional docker options to
docker-related commands via DOCKER_OPTS variable.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoDownload NEON2SSE source by default (#493)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 02:52:01 +0000 (11:52 +0900)]
Download NEON2SSE source by default (#493)

This commit enables DOWNLOAD_NEON2SSE flag by default, and updates
docker configuration to allow CI to override NEON2SSE_URL.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoEnable GEMM Low-precesion download (#484)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 4 Jul 2018 00:26:56 +0000 (09:26 +0900)]
Enable GEMM Low-precesion download (#484)

This commit enables GEMM Lowp-precesion source code download, and
updates docker configuration to allow URL override in CI.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Add README.md (#466)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 3 Jul 2018 23:52:29 +0000 (08:52 +0900)]
[nnkit] Add README.md (#466)

* [nnkit] Add readme

This will add readme for nnkit project that can help understand what and how to use

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* apply comments

* apply more comments

* remove quote mark

* anoher apply comments

* fix arg1

* detailed how nni works

* minor change

* add about nni

6 years agoFixed PluginInstance class test warning (#488)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 3 Jul 2018 14:00:02 +0000 (17:00 +0300)]
Fixed PluginInstance class test warning (#488)

This commit fixed PluginInstance class test warning

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years ago[nnc core] Add ShapeInference class (#452)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 3 Jul 2018 12:42:24 +0000 (16:42 +0400)]
[nnc core] Add ShapeInference class (#452)

Add ShapeInference class

Used to infer shapes of intermediate nodes based only on input shapes

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoFix TensorVariant deletion test (#451)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 3 Jul 2018 12:33:51 +0000 (16:33 +0400)]
Fix TensorVariant deletion test (#451)

Fix use-after-free in TensorVariant.DeletionTest( raw_indicator used after beeing deleted )

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoAdd interpreter_core target for model IR interpreter (#453)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 3 Jul 2018 11:00:13 +0000 (15:00 +0400)]
Add interpreter_core target for model IR interpreter (#453)

Add interpreter_core target for model IR interpreter

This commit adds backend/interpreter/core directory, backend/interpreter/core/CMakeLists.txt

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoSet build type to Debug if not given (#485)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 3 Jul 2018 10:51:28 +0000 (19:51 +0900)]
Set build type to Debug if not given (#485)

* Set build type to Debug if not given

This will set CMAKE_BUILD_TYPE to "Debug" if not given through arguments
- this will add -g compile option

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* message always

6 years ago[nnkit] Build all projects under tools/ (#476)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 10:12:24 +0000 (19:12 +0900)]
[nnkit] Build all projects under tools/ (#476)

This commit includes all the projects under contrib/nnkit/tools on configure.

This change allows users to build and test their own nnkit tools locally without
modifying files under version control.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoEnable EIGEN download by default (#469)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 09:44:43 +0000 (18:44 +0900)]
Enable EIGEN download by default (#469)

This commit enables eigen download by default, and revises docker
configuration to allow EIGEN_URL override inside CI build machines.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoBuild TensorFlow Lite in build/externals/tflite (#405)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 09:34:29 +0000 (18:34 +0900)]
Build TensorFlow Lite in build/externals/tflite (#405)

This commit revises TensorFlowLite package to build tensorflow lite
under build/externals/tflite.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'How to build with ninja' section (#473)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 08:04:15 +0000 (17:04 +0900)]
Add 'How to build with ninja' section (#473)

This commit adds 'How to build with ninja' section to 'Getting Started'
guide.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoEnable farmhash download by default (#479)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 07:50:43 +0000 (16:50 +0900)]
Enable farmhash download by default (#479)

This commit enables farmhash download by default, and updates docker
configuration to support URL override inside CI.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoExtract 'docker-test' (#467)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 07:42:48 +0000 (16:42 +0900)]
Extract 'docker-test' (#467)

This commit extracts 'docker-test' from 'docker-build'

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd TFLite importer plugin (#420)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 3 Jul 2018 07:36:44 +0000 (10:36 +0300)]
Add TFLite importer plugin (#420)

Add TFLite importer plugin

This commit introduces TFLite importer to the plugin system.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoEnable TensorFlow download by default (#472)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 06:59:54 +0000 (15:59 +0900)]
Enable TensorFlow download by default (#472)

This commit enables TensorFlow download by default, and updates docker
configuration to allow CI to overide download URL.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUpdate 'How to build with docker' document (#461)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 02:34:24 +0000 (11:34 +0900)]
Update 'How to build with docker' document (#461)

This commit updates 'How to build nncc with docker' section in "Getting
Started" document according to the recent change that extracts 'docker-configure'
from 'docker-build'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoRemove 'tflitekit' (#463)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 02:33:08 +0000 (11:33 +0900)]
Remove 'tflitekit' (#463)

Now 'nnkit' includes 'tflite' backend which is identical to 'tflitekit'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoRemove 'getting_started' (#465)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 02:32:59 +0000 (11:32 +0900)]
Remove 'getting_started' (#465)

This commit removes 'getting_started' project from contrib.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce 'ENABLE_STRICT_BUILD' option (#462)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 02:01:09 +0000 (11:01 +0900)]
Introduce 'ENABLE_STRICT_BUILD' option (#462)

* Introduce 'ENABLE_STRICT_BUILD' option

This commit introduces 'ENABLE_STRICR_BUILD' option which allows us to
detect compiler warnings as error.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix a typo (wraning -> warning)

6 years ago[nnkit] Help message for nni (#457)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 3 Jul 2018 01:20:43 +0000 (10:20 +0900)]
[nnkit] Help message for nni (#457)

* [nnkit] Help message for nni

This will show help message for arguments are invalid of nni

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* remove --backend-arg count check

6 years agoAdd 'docker-configure' script (#458)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 01:19:42 +0000 (10:19 +0900)]
Add 'docker-configure' script (#458)

This commit extracts 'docker-configure' script from 'docker-build'

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT] Add kernel index enumerator (#415)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 3 Jul 2018 01:19:18 +0000 (10:19 +0900)]
[core.ADT] Add kernel index enumerator (#415)

This commit adds kernel index enumerator which is almost similar as
that of tensor, but specialized for convolution kernel.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[contrib/cli] introduce usage method (#425)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 3 Jul 2018 00:49:52 +0000 (09:49 +0900)]
[contrib/cli] introduce usage method (#425)

* [contrib/cli] introduce show_usage method

This will introduce show_usage() method in cli App class
- purpose is to show provided commands when no command is given

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* rename to usage()

6 years ago[core.ADT] Iterator-based kernel overlay (#428)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 23:45:47 +0000 (08:45 +0900)]
[core.ADT] Iterator-based kernel overlay (#428)

This commit revises 'core::ADT::kernel::Overlay' to use iterator instead
of a pointer.

This change allows us to use kernel overlay over any STL-compatible
sequences that provides random iterator.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Introduce 'show' action (#437)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 23:45:32 +0000 (08:45 +0900)]
[nnkit] Introduce 'show' action (#437)

This commit introduces 'show' action which dumps the content of tensors
to standard output.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT] Introduce operator== over feature shape (#442)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 23:45:22 +0000 (08:45 +0900)]
[core.ADT] Introduce operator== over feature shape (#442)

This commit introduces equality operator which tests whether two feature
shapes are identical.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoExtract out common docker configuration (#450)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 23:36:27 +0000 (08:36 +0900)]
Extract out common docker configuration (#450)

This commit extracts out common docker configuration as 'docker.configuration' file
as the first step to decompose docker-build script.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix nni command comments (#444)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 2 Jul 2018 23:35:40 +0000 (08:35 +0900)]
Fix nni command comments (#444)

This will fix nni command comments to --pre-arg and --post-arg

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years agoData tests part 1.3 (DataList class tests) (#361)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 2 Jul 2018 16:56:14 +0000 (19:56 +0300)]
Data tests part 1.3 (DataList class tests) (#361)

DataList class tests

This commit introduced test for DataList class

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years agoPluginManager tests part 10 (PluginManagerException class) (#355)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 2 Jul 2018 16:54:51 +0000 (19:54 +0300)]
PluginManager tests part 10 (PluginManagerException class) (#355)

PluginManagerException class test

This commit introduced test for PluginManagerException class

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years ago[nnc backend] Add conv2D operation implementation (#404)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 2 Jul 2018 15:11:01 +0000 (19:11 +0400)]
[nnc backend] Add conv2D operation implementation (#404)

[nnc backend] Add conv2D operation implementation

Used by nnc model IR interpreter backend

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc backend] Add OperationImpl class (#396)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 2 Jul 2018 15:09:12 +0000 (19:09 +0400)]
[nnc backend] Add OperationImpl class (#396)

Add OperationImpl class

Base class used as a base for other operation implementations

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc core] Add Tensor class template (#395)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 2 Jul 2018 15:03:52 +0000 (19:03 +0400)]
[nnc core] Add Tensor class template (#395)

[nnc core] Add Tensor class template

Used as a TensorVariant data accessor

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc core] Add ShapeRange class (#394)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 2 Jul 2018 15:02:51 +0000 (19:02 +0400)]
[nnc core] Add ShapeRange class (#394)

[nnc core] Add ShapeRange class

Adds ShapeRange and ShapeIter classes used to iterate over given shape

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoEnable DOWNLOAD_CAFFE by default (#433)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 10:32:45 +0000 (19:32 +0900)]
Enable DOWNLOAD_CAFFE by default (#433)

This commit changes the default value of DOWNLOAD_CAFFE as ON, and
updates docker-build scripts to allow CI to override CAFFE_URL.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoRun unittest per PR (#435)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 09:38:53 +0000 (18:38 +0900)]
Run unittest per PR (#435)

This commit revises 'docker-build' script to run test after build.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoBuild farmhash under dedicated location (#412)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 01:24:35 +0000 (10:24 +0900)]
Build farmhash under dedicated location (#412)

This commit revises Farmhash package to build farmhash library under
dedicated location (build/externals/farmhash).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIgnore top-level Makefile (#413)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 01:24:26 +0000 (10:24 +0900)]
Ignore top-level Makefile (#413)

Makefile is intentionally omitted in the top-level to allow users to
have their own Makefile. This commit adds top-level Makefile to
.gitignore to make this policiy explicit.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'nnsuite' project (#410)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 01:24:17 +0000 (10:24 +0900)]
Add 'nnsuite' project (#410)

This commit adds 'nnsuite' project which will includes various in-memory
NN models for testing.

Currently, 'nnsuite' includes a simple model consists of one Conv2D operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUse 'cmake --build' instead of make (#414)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 2 Jul 2018 01:24:00 +0000 (10:24 +0900)]
Use 'cmake --build' instead of make (#414)

This commit revises 'build' command scripts to use 'cmake --build'
instead of make.

This change will allow users to use other build system such as ninja.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd TFLite-to-Model IR operator creator implementation (#407)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 29 Jun 2018 11:54:15 +0000 (14:54 +0300)]
Add TFLite-to-Model IR operator creator implementation (#407)

Add TFLite-to-Model IR operator creator implementation

Implementation for operator creator API functions, which
create the corresponding Model IR operators.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoFinalize initial version of TFLite v3 importer (#406)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 29 Jun 2018 11:25:22 +0000 (14:25 +0300)]
Finalize initial version of TFLite v3 importer (#406)

This commit uses TFLite format visitor to finalize TFLite
importer interface.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoUpdate SW Test Document: fix Req IDs, add test cases (#352)
Sergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Fri, 29 Jun 2018 10:46:34 +0000 (19:46 +0900)]
Update SW Test Document: fix Req IDs, add test cases (#352)

* Update SW Test Document: fix Req IDS, add test cases

This commit updates SW Test Document by applications the following changes:
 - fix requirements numbering
 - update project repo structure
 - add test cases

* Update title version in STD document

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
6 years agoCreate Model IR operators in TFLite model visitor (#398)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 29 Jun 2018 10:21:52 +0000 (13:21 +0300)]
Create Model IR operators in TFLite model visitor (#398)

This commit adds the code that makes use of the TFLite-to-Model-IR
operator creator to construct Model IR graph.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoSet known Model IR node names and remove "NYI" exceptions (#397)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 29 Jun 2018 07:35:36 +0000 (10:35 +0300)]
Set known Model IR node names and remove "NYI" exceptions (#397)

Removed "Not implemented" exceptions from remaining visitor functions
(they are just supposed to be empty) and added code that sets Model IR
node names.

Note: not all of the nodes will get names because there is no 1-to-1
correspondence between TFLite graph nodes and Model IR nodes.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[nnc core] Add reshape operation description (#392)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 29 Jun 2018 07:31:54 +0000 (11:31 +0400)]
[nnc core] Add reshape operation description (#392)

This commit adds missing reshape operation description

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoAdd functions preparing data for the TFLite-to-IR operator creator (#376)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 29 Jun 2018 07:28:40 +0000 (10:28 +0300)]
Add functions preparing data for the TFLite-to-IR operator creator (#376)

Add functions preparing data for the TFLite-to-IR operator creator

Operator creator interface functions take collections of operator
inputs and operator parameters as arguments. These two functions
prepare this data.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoAdd auxiliary functions for creating TFLite-to-Model-IR operators (#363)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 29 Jun 2018 07:24:26 +0000 (10:24 +0300)]
Add auxiliary functions for creating TFLite-to-Model-IR operators (#363)

Add Model IR operator creator skeleton for TFLite

This is a Model IR operator creator class skeleton.
Contains public interface for creating supported operations.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[nnkit] Introduce 'tflite' backend (#408)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 29 Jun 2018 01:27:39 +0000 (10:27 +0900)]
[nnkit] Introduce 'tflite' backend (#408)

This commit introduces 'tflite' bakckend, which loads 'tflite' model
file and runs inference.

The core part of this backend is extracted as nnkit_support_tflite
library, which allows its reuse in the future.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce 'nnop' library (#402)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Jun 2018 10:16:16 +0000 (19:16 +0900)]
Introduce 'nnop' library (#402)

This commit introduce 'nnop' librarry which provides simple (naive)
implementation of NN operation (which can be used as a reference).

'nnop' currently contains 'conv2d' operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'How to build and run unittest' section (#403)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Jun 2018 08:48:48 +0000 (17:48 +0900)]
Add 'How to build and run unittest' section (#403)

This commit adds 'How to build and run unittest' section in Getting
Started document.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT] Introduce NHWC kernel layout (#401)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Jun 2018 08:20:20 +0000 (17:20 +0900)]
[core.ADT] Introduce NHWC kernel layout (#401)

This commit introduces NHWC kernel layout, which is commonly used in
CPU-optimized convolution implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.tensor] Introduce IndexEnumerator (#381)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Jun 2018 07:27:55 +0000 (16:27 +0900)]
[core.tensor] Introduce IndexEnumerator (#381)

This commit introduces IndexEnumerator which enumerates all the valid index
for a given Shape in lexical order, and related unittests.

In addtion, this commit rewrites IndexRange class using IndexEnumerator
to eliminate code duplication.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Introduce randomize action (#399)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Jun 2018 01:05:11 +0000 (10:05 +0900)]
[nnkit] Introduce randomize action (#399)

This commit introduces randomize action which randomizes all the tensors
in a tensor context.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT] Introduce feature buffer/overlay (#400)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 28 Jun 2018 01:05:00 +0000 (10:05 +0900)]
[core.ADT] Introduce feature buffer/overlay (#400)

This commit introduces feature buffer/overlay classes, and related
tests. The design of buffer/overlay is almost similar as that of
kernel/tensor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUpdate the IDEF0 A1 diagram (#319)
Sergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 09:54:57 +0000 (18:54 +0900)]
Update the IDEF0 A1 diagram (#319)

Update the IDEFO A1 diagram: connect backend by Model IR

This commit updates the IDEF0 A1 diagram by adding new connection
from activity block 2 "Import NN model" to activity block 5
"Code generation" by the Model IR. It means that the backend is
able to use the Model IR to produce some output.

Also, it fixes naming of activity boxes.

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
6 years agoUpdate IDEF0 A12 diagram: add input Configured Execution Session (#334)
Sergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 09:43:05 +0000 (18:43 +0900)]
Update IDEF0 A12 diagram: add input Configured Execution Session (#334)

This commit updates IDEF0 A12 diagram adding one more input for
all activity Configured Execution Session.

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
6 years agoIDEF0 A0: add new input for the block from "Environment variables" (#327)
Sergey Vostokov/AI Tools Lab /SRR/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 09:39:10 +0000 (18:39 +0900)]
IDEF0 A0: add new input for the block from "Environment variables" (#327)

This commit adds third input from Environment variables to the block
"NN model compilation"

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
6 years agoSoft backend plugin (#356)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 27 Jun 2018 09:05:26 +0000 (12:05 +0300)]
Soft backend plugin (#356)

Add initial soft backend to generate C/C++ source code

This commit adds C/C++ emitting backend plugin.
Yet empty

Signed-off-by: Alexander Efimov <a.efimov@samsung.com>
6 years agoPluginManager tests part 8 (AbstractModule class) (#348)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 27 Jun 2018 07:39:13 +0000 (10:39 +0300)]
PluginManager tests part 8 (AbstractModule class) (#348)

AbstractModule class test

This commit introduced test for AbstractModule class

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years agoAdd Model IR operator creator skeleton for TFLite (#354)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 27 Jun 2018 07:19:44 +0000 (10:19 +0300)]
Add Model IR operator creator skeleton for TFLite (#354)

Add Model IR operator creator skeleton for TFLite

This is a Model IR operator creator class skeleton.
Contains public interface for creating supported operations.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[foundation] Implemented 'Exception' class 'what()' method (#351)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 27 Jun 2018 07:18:04 +0000 (10:18 +0300)]
[foundation] Implemented 'Exception' class 'what()' method (#351)

Implemented 'Exception' class 'what()' method

This commit introduced 'what()' method 'Exception' class

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years ago[core.ADT.kernel] Introduce Overlay/Buffer (#389)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 07:13:35 +0000 (16:13 +0900)]
[core.ADT.kernel] Introduce Overlay/Buffer (#389)

This commit introduce kernel overlay which interprets externally allocated
memory region as a tensor, and buffer which allocates its own memory region.

These overlay and buffer are derived from common view class (to minimize
code duplication)

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUse correct test namespace (#390)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 06:46:54 +0000 (15:46 +0900)]
Use correct test namespace (#390)

This commit fixes multiple reference issues inside nncc_core_test

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoBuild caffe inside build/externals directory (#382)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 06:40:12 +0000 (15:40 +0900)]
Build caffe inside build/externals directory (#382)

Currently, caffe is built inside the binary directory of the first subproejct
that finds caffe.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT.tensor] Introduce Overlay/Buffer (#386)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 06:36:39 +0000 (15:36 +0900)]
[core.ADT.tensor] Introduce Overlay/Buffer (#386)

This commit revises tensor::View<T> as an interface, and introduces two
implementations: Overlay<T> and Buffer<T>

Overlay<T> is a tensor view over externally allocated memory region, and
Buffer<T> is a tensor view which owns content memory (currently
implemented via vector)

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT] Copyable/movable feature layout (#384)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 06:36:03 +0000 (15:36 +0900)]
[core.ADT] Copyable/movable feature layout (#384)

This commit revises feature::Layout class similarly as tensor::Layout.

With this commit, one may copy/move layout as if it is a plain value.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Set HDF5 include directories correctly (#388)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 05:39:24 +0000 (14:39 +0900)]
[nnkit] Set HDF5 include directories correctly (#388)

This commit passes HDF5 include directories when building HDF5 export
action correctly.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT] Copyable/movable kernel layout (#385)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 05:20:33 +0000 (14:20 +0900)]
[core.ADT] Copyable/movable kernel layout (#385)

This commit revises kernel layout implementations similarly as those of
tensor layout.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT] Simplify tensor view construction (#383)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 02:43:46 +0000 (11:43 +0900)]
[core.ADT] Simplify tensor view construction (#383)

The current implementation of tensor::View<T> takes an owned pointer
of Layout (std::unique_ptr<Layout>) as its argument.

This design was enforced by the constraint that Layout is a pure
virtual class. Recently, this constraint is gone. Layout class is now
a simple class which is copyable and movable.

This commit revises tensor view constructor to take Layout instead of
std::unique_ptr<Layout> to make it easy to build tensor view.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Copyable/movable tensor layout (#369)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 02:00:22 +0000 (11:00 +0900)]
[nncc.core] Copyable/movable tensor layout (#369)

This commit revises 'ADT::tensor::Layout' to be copyable and movable.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT.feature] Introduce Layout interface (#289)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 01:23:11 +0000 (10:23 +0900)]
[core.ADT.feature] Introduce Layout interface (#289)

This commit introduces 'nncc::core::ADT::feature::Layout' interface
which is almost same as tensor::Layout but specialized for feature map
that convolution uses.

This commit also introduces 'CHWLayout' as an example.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Remove deprecated classes (#379)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 27 Jun 2018 00:48:50 +0000 (09:48 +0900)]
[nnkit] Remove deprecated classes (#379)

nni now loads backend/action directly from shared libraries (not
through registry).

This commit removes deprecated classes from nnkit.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoMultiple jobs docker-build (#377)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 26 Jun 2018 23:32:53 +0000 (02:32 +0300)]
Multiple jobs docker-build (#377)

Perform build in docker-build script, using multiple jobs

Signed-off-by: Ivan Vagin ivan.vagin@samsung.com
6 years agoRemove caffekit (#374)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Jun 2018 23:26:50 +0000 (08:26 +0900)]
Remove caffekit (#374)

Caffe backend in nnkit includes all the functionalities of caffekit, and
nnkit provides various extensions via pre/post actions.

Let's remove caffekit, and focus on nnkit.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoTensorflow Lite as Position Independent Static Library (#371)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Jun 2018 08:38:47 +0000 (17:38 +0900)]
Tensorflow Lite as Position Independent Static Library (#371)

This commit revises TensorFlowLite module to insert -fPIC option when
building "libtensorflowlite.a". This option will allow tensorflow lite
to be linked into shared library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Introduce HDF5 export action (#370)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Jun 2018 08:28:03 +0000 (17:28 +0900)]
[nnkit] Introduce HDF5 export action (#370)

This commit introduces HDF5 export action which allows us to record
tensor state before/after inference as HDF5 file (.h5).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnkit] Add Caffe backend (#367)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Jun 2018 07:23:48 +0000 (16:23 +0900)]
[nnkit] Add Caffe backend (#367)

This commit adds 'caffe' backend implementation which can be loaded by
nni toolchain.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFarmhash as Position Independent Static Library (#365)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Jun 2018 06:18:28 +0000 (15:18 +0900)]
Farmhash as Position Independent Static Library (#365)

This commit revises FarmhashConfig module to insert -fPIC option when
building libfarmhash.a. This option will allow farmhash library to be linked
into shared libraries.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoConvert tensor from NHWC (TFLite) to HWCN (#353)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 26 Jun 2018 05:45:06 +0000 (08:45 +0300)]
Convert tensor from NHWC (TFLite) to HWCN (#353)

Add a function that creates an IR tensor from a TFLite tensor

Note: this code is subject to change if the way IR stores tensor
data and type changes.

Signed-off-by: Dmitry Mozolev d.mozolev@samsung.com