platform/core/ml/nnfw.git
6 years ago[nest] Add 'PushNode' class (stmt) (#692)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 18 Jul 2018 00:54:19 +0000 (09:54 +0900)]
[nest] Add 'PushNode' class (stmt) (#692)

This commit adds 'PushNode' class under nest::stmt namesapce as a mean
to express 'PUSH' statement.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Add 'PtrList<T>' class (#691)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 18 Jul 2018 00:53:59 +0000 (09:53 +0900)]
[coco] Add 'PtrList<T>' class (#691)

Coco IR often uses a list of object pointers. To reduce code
duplication, this commit introduces 'PtrList<T>' helper class
which manages a list of object pointers (using std::vector).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoApply shared library extension name according to OS (#680)
이성재/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 17 Jul 2018 11:51:20 +0000 (20:51 +0900)]
Apply shared library extension name according to OS (#680)

* apply dll extension name according to OS.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
6 years ago[nest] Add 'Closure' class (#688)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 10:52:08 +0000 (19:52 +0900)]
[nest] Add 'Closure' class (#688)

This commit adds 'Closure' class which temporarily records the domain and
index expressions, which makes it easy for user to construct IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAllow configuration over coverage report candidates (#665)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 08:19:54 +0000 (17:19 +0900)]
Allow configuration over coverage report candidates (#665)

This commit revises 'gen-coverage-report' script to take coverage report
candidates from command-line.

Now, the coverage report generated by './nncc gen-coverage-report contrib' will
include all the code under 'contrib/'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'DerefNode' class (#685)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 07:53:15 +0000 (16:53 +0900)]
[nest] Add 'DerefNode' class (#685)

This commit adds 'DerefNode' class under nest::expr namesapce.
'DerefNode' class serves as an internal representation of the
dereference expression (read a value from a domain with specific
indicies).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[coco] Initial commit (#686)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 07:03:22 +0000 (16:03 +0900)]
[coco] Initial commit (#686)

This commit creates a working directory for 'coco' project which aims to
build an experimental compiler for IR design.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'Block' class (#684)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 06:01:51 +0000 (15:01 +0900)]
[nest] Add 'Block' class (#684)

This commit adds 'Block' class which maintains a sequence of nest
statements.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'Module' class (#683)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 05:31:22 +0000 (14:31 +0900)]
[nest] Add 'Module' class (#683)

This commit adds 'Module' class which serves as an user entry point to
nest. The main role of 'Module' class is to allow users to construct IR
from their code.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'VarContext' class (#682)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 05:05:54 +0000 (14:05 +0900)]
[nest] Add 'VarContext' class (#682)

This commit adds 'VarContext' class which manages information related
with each variable (such as bound).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd `ctags` default configuration file. (#681)
이성재/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 17 Jul 2018 01:23:11 +0000 (10:23 +0900)]
Add `ctags` default configuration file. (#681)

* added the .ctags file to the project root for tag file createion
convenience.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
6 years ago[nest] Add 'Subscript' class (#672)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 00:56:31 +0000 (09:56 +0900)]
[nest] Add 'Subscript' class (#672)

This commit adds 'Subsscript' class under nest::expr namespace, which
denotes a ND domain subscript expression.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoCast parameter values to resolve error founded by CLANG-9.0 (#679)
이성재/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 17 Jul 2018 00:51:09 +0000 (09:51 +0900)]
Cast parameter values to resolve error founded by CLANG-9.0 (#679)

* cast `seed` to the right parameter type of `std::default_random_engine` constructor.

Signed-off-by: Sung-Jae Lee <sj925.lee@samsung.com>
6 years ago[nest] Add 'Var' class (#670)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 00:36:53 +0000 (09:36 +0900)]
[nest] Add 'Var' class (#670)

This commit adds 'Var' class which users will actually use to contruct
nest expression.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'DomainInfo' class (#669)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 17 Jul 2018 00:36:43 +0000 (09:36 +0900)]
[nest] Add 'DomainInfo' class (#669)

This commit adds 'DomainInfo' class which records dimensionalities of
domain.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoInference shape in codegen (#674)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Mon, 16 Jul 2018 17:17:25 +0000 (20:17 +0300)]
Inference shape in codegen (#674)

Add shape inference in codegen

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoCode emitter: def files to C/C++ arrays converter (#673)
Vitaliy Cherepanov/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 16 Jul 2018 17:15:46 +0000 (20:15 +0300)]
Code emitter: def files to C/C++ arrays converter (#673)

add *.def to *.h converter

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years agoadd nnc section into readme (#607)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Mon, 16 Jul 2018 12:43:14 +0000 (15:43 +0300)]
add nnc section into readme (#607)

Add nnc  readme

Adds nnc  README.md file to describe how it works

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[pp] Use non-strict build by default (#667)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 16 Jul 2018 09:39:16 +0000 (18:39 +0900)]
[pp] Use non-strict build by default (#667)

pp currently enforces strict build, but this may introduces unnecessary
burden on folks (who are not interested in pp).

This commit sets non-strict build as the default build mode of pp, and
turn strict build only when ENABLE_STRICT_BUILD is enabled.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'Bound' class (#668)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 16 Jul 2018 09:38:16 +0000 (18:38 +0900)]
[nest] Add 'Bound' class (#668)

This commit adds 'Bound' class which expresses value range of each
variable as min/max.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add variable expression node (#664)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 16 Jul 2018 08:40:51 +0000 (17:40 +0900)]
[nest] Add variable expression node (#664)

This commit adds 'nest::expr::VarNode' class which represents index
variable exression in nest IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoModify maintainers in README (#659)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 16 Jul 2018 07:45:07 +0000 (16:45 +0900)]
Modify maintainers in README (#659)

This commit modifies maintainers in README
- add hyperlink

Related with: #623 #654

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
6 years ago[nest] Add statement-related base classes (#662)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 16 Jul 2018 05:43:52 +0000 (14:43 +0900)]
[nest] Add statement-related base classes (#662)

This commit adds the follwoing statement-related base classes under
'nest::stmt' namespace:
 - Node
 - Visitor

The boilterplate implementations of Node and Visitor are derived from
'Node.def' to make it easy to extend statements.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add expression-related base classes (#661)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 16 Jul 2018 04:15:00 +0000 (13:15 +0900)]
[nest] Add expression-related base classes (#661)

This commit adds the following expression-related base classes (under
'nest::expr' namespace):
 - Node
 - Visitor

The boilterplate implementations of Node and Visitor are derived from
'Node.def' to make it easy to extend expressions.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'DomainID' class (#660)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 16 Jul 2018 03:06:03 +0000 (12:06 +0900)]
[nest] Add 'DomainID' class (#660)

This commit adds 'DomainID' class which serves as an internal
representation of 'domain' in nest IR.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Add 'VarID' class (#655)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 16 Jul 2018 02:21:43 +0000 (11:21 +0900)]
[nest] Add 'VarID' class (#655)

This commit adds 'VarID' class which is an internal representation of
nest variables (in IR).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoC++ code generator (#604)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Sun, 15 Jul 2018 06:47:30 +0000 (09:47 +0300)]
C++ code generator (#604)

Implementation of C++ *.cpp file generator

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoSoft backend generator for cpp header (#603)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Sun, 15 Jul 2018 06:40:42 +0000 (09:40 +0300)]
Soft backend generator for cpp header (#603)

Dump compressed parameters

- Implementation of compressed parameters dump
- C++ Header generator materializer implementation
- Implementation of C++ header materializer
- Add tests for basic structures of generated c++ header

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoAdd implementation of Caffe to Model IR converter (#640)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Sun, 15 Jul 2018 06:34:05 +0000 (09:34 +0300)]
Add implementation of Caffe to Model IR converter (#640)

Add Caffe layer to Model IR converter skeleton
Added a class for converting Caffe layers to Model IR operations.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoAdd utility functions for processing Caffe layer options (#637)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Sun, 15 Jul 2018 06:33:30 +0000 (09:33 +0300)]
Add utility functions for processing Caffe layer options (#637)

Add Caffe layer to Model IR converter skeleton
Added a class for converting Caffe layers to Model IR operations.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoModify and revise maintainers in README (#623)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Sun, 15 Jul 2018 06:32:18 +0000 (15:32 +0900)]
Modify and revise maintainers in README (#623)

This commit modifies incorrect info about maintainers.

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
6 years agoSerialize parameters (#602)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Sun, 15 Jul 2018 06:30:30 +0000 (09:30 +0300)]
Serialize parameters (#602)

Implementation of compressed parameters dump

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoDump compressed parameters (#601)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Sun, 15 Jul 2018 06:29:48 +0000 (09:29 +0300)]
Dump compressed parameters (#601)

Implementation of compressed parameters dump

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoSuppress warnings from TensorFlow Lite code (#599)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Sun, 15 Jul 2018 06:29:12 +0000 (15:29 +0900)]
Suppress warnings from TensorFlow Lite code (#599)

This commit suppresses warnings (clang 7.0 reports) from TensorFlow Lite code.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoCreate Model IR graph from Caffe model visitor (#635)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 13 Jul 2018 13:48:37 +0000 (16:48 +0300)]
Create Model IR graph from Caffe model visitor (#635)

Implemented Caffe LayerParameter visiting function to call
Caffe to Model IR operation converter.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoPrepare data for Caffe layer to Model IR converter (#597)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 13 Jul 2018 13:32:17 +0000 (16:32 +0300)]
Prepare data for Caffe layer to Model IR converter (#597)

Implemented functions preparing inputs and parameters for
creating Model IR operations.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoSupport workspace override (#627)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 13 Jul 2018 13:27:11 +0000 (22:27 +0900)]
Support workspace override (#627)

This commit allows users to use their own workspace other than 'build'
via NNCC_WORKSPACE environment variable.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd Caffe model input processing (#596)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 13 Jul 2018 13:26:40 +0000 (16:26 +0300)]
Add Caffe model input processing (#596)

Process Caffe model Input layer and set up Model IR graph inputs.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoAdd Caffe layer to Model IR converter skeleton (#595)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 13 Jul 2018 13:26:11 +0000 (16:26 +0300)]
Add Caffe layer to Model IR converter skeleton (#595)

Added a class for converting Caffe layers to Model IR operations.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoRevise and modify typoes (#622)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 13 Jul 2018 09:00:04 +0000 (18:00 +0900)]
Revise and modify typoes (#622)

This commit revises and modifies typoes.

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
6 years ago[nnc backend] Add Conv2D_FFT class (#582)
Denis Maksimenko/AI Tools Lab /SRR/Assistant Engineer/삼성전자 [Fri, 13 Jul 2018 08:16:04 +0000 (11:16 +0300)]
[nnc backend] Add Conv2D_FFT class (#582)

Add Conv2D_FFT class and functions for FFT routines.
Implementation will be added later (near future).

Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
6 years ago[pp] Support 'MultiLineText' append (#598)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 13 Jul 2018 05:44:03 +0000 (14:44 +0900)]
[pp] Support 'MultiLineText' append (#598)

'LinearDocument' currently supports 'LinearDocument' append, but does not support
generic 'MultiLineText' append.

This commit revises 'LinearDocument' to support generic 'MultiLineText'
append.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nest] Initial commit (#625)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 13 Jul 2018 05:28:32 +0000 (14:28 +0900)]
[nest] Initial commit (#625)

This commit create a workspace for a lightweight nested loop generation
library named 'nest'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix incorrect assertion (#593)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 12 Jul 2018 15:20:41 +0000 (18:20 +0300)]
Fix incorrect assertion (#593)

`fread` returns number of read blocks( of size `size` ) instead of byte count

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoAdd Caffe importer example (#592)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 12 Jul 2018 08:41:54 +0000 (11:41 +0300)]
Add Caffe importer example (#592)

It prints the model and creates Model IR (but doesn't use it).

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoAdd general tensor transpose helper (#589)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 12 Jul 2018 07:52:27 +0000 (10:52 +0300)]
Add general tensor transpose helper (#589)

Added a generalized TensorVariant transpose helper function
used for converting convolution tensor weights to Model IR format.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[caffegen] Fix compiler warnings (#591)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 11 Jul 2018 23:48:51 +0000 (08:48 +0900)]
[caffegen] Fix compiler warnings (#591)

This commit fixes all the compiler warnings (reported by clang 7.0)
in caffegen implementation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix mismatched tag warning (#586)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 11 Jul 2018 23:11:10 +0000 (08:11 +0900)]
Fix mismatched tag warning (#586)

This commit fixes mismatched tag warning (clang 7.0 reports).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix missing override warnings (#587)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 11 Jul 2018 23:10:52 +0000 (08:10 +0900)]
Fix missing override warnings (#587)

This commit fixes missing override warnings reported by clang 7.0.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnsuite] Fix unmatched ifdef guard (#588)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 11 Jul 2018 23:10:43 +0000 (08:10 +0900)]
[nnsuite] Fix unmatched ifdef guard (#588)

This commit fixes unmatched ifdef guard in RandomModel header.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnc backend] Add nnc interpreter backend plugin (#577)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 11 Jul 2018 15:24:57 +0000 (18:24 +0300)]
[nnc backend] Add nnc interpreter backend plugin (#577)

Add nnc interpreter backend plugin

Adds nnc_interpreter_plugin target
Implements backend plugin interface for nnc
Can be used to interpret previously loaded computation graph

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoInitialise uninitialised _moduleType (#583)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 11 Jul 2018 14:53:12 +0000 (17:53 +0300)]
Initialise uninitialised _moduleType (#583)

This commit initialise _moduleType in AbstractModule default constructor

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years agoAdd virtual destructor to AbstractSession class (#590)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 11 Jul 2018 14:49:27 +0000 (23:49 +0900)]
Add virtual destructor to AbstractSession class (#590)

This commit introduces virtual destructor on AbstractSession class.
Without this virtual destructor, it is possible that the destructor of
derived classes is not invoked properly.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnc backend] Add NNInterpreter class (#576)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 11 Jul 2018 14:08:57 +0000 (17:08 +0300)]
[nnc backend] Add NNInterpreter class (#576)

Add NNInterpreter class

This class implements model IR interpreter

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoBasic model analyzer info gathering (#560)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Wed, 11 Jul 2018 10:54:18 +0000 (13:54 +0300)]
Basic model analyzer info gathering (#560)

Basic model analyzer info gathering

Save inputs, outputs and operation names.

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years ago[nnc] Rename 'soft_backend_test' (#585)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 11 Jul 2018 10:30:31 +0000 (19:30 +0900)]
[nnc] Rename 'soft_backend_test' (#585)

This commit renames 'soft_backend_test' as 'nnc_soft_backend_test' to
make it easy to find corresponding code.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix unused parameter warnings in Caffe importer (#584)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 16:51:07 +0000 (19:51 +0300)]
Fix unused parameter warnings in Caffe importer (#584)

This commit fixes build problems by removing unused parameter warnings.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoFix generator consistency checker (#559)
Efimov Alexander/AI Tools Lab/./Samsung Electronics [Tue, 10 Jul 2018 16:15:27 +0000 (19:15 +0300)]
Fix generator consistency checker (#559)

Fix generator consistency checker

Fix argument checker in generator and add tests for it

Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
6 years agoAdd Caffe importer interface implementation (#541)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 14:42:51 +0000 (17:42 +0300)]
Add Caffe importer interface implementation (#541)

Added initial version of Caffe importer interface implementation
that uses model visitor to create Model IR.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoMake TensorVariable copy assignable (#575)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 10:56:24 +0000 (13:56 +0300)]
Make TensorVariable copy assignable (#575)

Required by model IR interpreter

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoFix IrNode to actually call visitor->visit() (#574)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 10:55:38 +0000 (13:55 +0300)]
Fix IrNode to actually call visitor->visit() (#574)

Previously disabled due to missing visitor operation acceptors

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoAdd Caffe model visitor skeleton (#540)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 10:54:50 +0000 (13:54 +0300)]
Add Caffe model visitor skeleton (#540)

Add Caffe model visitor skeleton

This commit adds Caffe model visitor skeleton.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoAdd softmax operation implementation (#542)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 10:38:01 +0000 (13:38 +0300)]
Add softmax operation implementation (#542)

Used by model IR interpreter backend

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoAdd another post action (show_action) to README (#573)
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 10 Jul 2018 09:32:30 +0000 (18:32 +0900)]
Add another post action (show_action) to README (#573)

* Add another post action (show_action) to README

This commits appends another post action (show_action) to README.

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
* Add Running with post action section

This commit adds `Running with post action` section.

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

This commit remove a unused symbol.

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
* Modify sentence to clarify meaning

This commit modifies a sentence to clarify meaning

Signed-off-by: lotieye.choi <lotieye.choi@samsung.com>
6 years agoAdd Reduce operation implementation (#543)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 07:47:32 +0000 (10:47 +0300)]
Add Reduce operation implementation (#543)

Used by model IR interpreter

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc backend] Add Bias operation implementation (#441)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 07:44:08 +0000 (10:44 +0300)]
[nnc backend] Add Bias operation implementation (#441)

Add Bias operation implementation

Used by model IR interpreter backend

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc backend] Add DeptwiseConv2D operation implementation (#418)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 07:43:01 +0000 (10:43 +0300)]
[nnc backend] Add DeptwiseConv2D operation implementation (#418)

[nnc backend] Add DeptwiseConv2D operation implementation

Add DepthwiseConv2D reference implementation used by model IR interpreter

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[pp] Add 'MultiLineText' interface (#571)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 10 Jul 2018 07:33:01 +0000 (16:33 +0900)]
[pp] Add 'MultiLineText' interface (#571)

This commit adds 'MultiLineText' interfaces, and revises
'LinearDocument' and 'EnclosedDocument' to inherit this interface.

In addition, this commit introduces MultiLineTextUtils
(which will includes utilities over MultiLineText interface).

Currently, it includes '<<' operator overload.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nnc backend] Add Reshape operation implementation (#443)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 07:29:28 +0000 (10:29 +0300)]
[nnc backend] Add Reshape operation implementation (#443)

Add Reshape operation implementation

Used by model IR interpreter

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc backend] Add Concat implementation (#419)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 10 Jul 2018 07:27:50 +0000 (10:27 +0300)]
[nnc backend] Add Concat implementation (#419)

[nnc backend] Add Concat implementation

Reference concat implementation used by model IR interpreter

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoPass args through docker-test command (#567)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Jul 2018 14:49:50 +0000 (17:49 +0300)]
Pass args through docker-test command (#567)

Pass args through docker-test command

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years agoInvoke tests with ctest in 'test' script (#566)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Jul 2018 14:49:04 +0000 (17:49 +0300)]
Invoke tests with ctest in 'test' script (#566)

Invoke tests with ctest in 'test' script

Invoke tests with ctest instead of cmake in 'test' script

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years ago[nnc backend] Add FullyConnected(matmul) operation implementation (#538)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Jul 2018 14:46:57 +0000 (17:46 +0300)]
[nnc backend] Add FullyConnected(matmul) operation implementation (#538)

Add FullyConnected(matmul) operation implementation

Used by model IR interpreter

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[nnc backend] Add Fill operation (#417)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Jul 2018 14:42:50 +0000 (17:42 +0300)]
[nnc backend] Add Fill operation (#417)

[nnc backend] Add Fill operation

Used as a base for other operations

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years agoConfigure a project for testing with CTest (#537)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Jul 2018 13:39:33 +0000 (16:39 +0300)]
Configure a project for testing with CTest (#537)

Configure a project for testing with CTest - include CTest in CMakeLists.txt

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
6 years ago[nnc backend] Build model IR interpreter core (#557)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Jul 2018 11:54:33 +0000 (15:54 +0400)]
[nnc backend] Build model IR interpreter core (#557)

Build model IR interpreter core

This commit fixes adds add_subdirectory(core) in nnc/libs/backend/interpreter/CMakeLists.txt

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[pp] Add 'EnclosedDocument' class (#570)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Jul 2018 10:53:36 +0000 (19:53 +0900)]
[pp] Add 'EnclosedDocument' class (#570)

This commit adds 'EnclosedDocument' class which provides front() method which
allows users to append lines at the bottom of heading (in forward direction),
and back() method which allows users to prepend lines at the top of
footer (in reverse direction).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[pp] Add 'LinearDocument' class (#565)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Jul 2018 08:19:50 +0000 (17:19 +0900)]
[pp] Add 'LinearDocument' class (#565)

This commit adds 'LinearDocument' class which maintains a
linearly appendable document (either in forward/reverse direction).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFix failed build (#558)
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 9 Jul 2018 07:50:57 +0000 (11:50 +0400)]
Fix failed build (#558)

Fix missed change to Elementwise.h naming

Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
6 years ago[stdex.set] Overload '==' operator (#564)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Jul 2018 06:38:00 +0000 (15:38 +0900)]
[stdex.set] Overload '==' operator (#564)

This commit introduces 'operator==' overloading over sets.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[pp] Introduce IndentedStringBuilder (#563)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Jul 2018 06:37:50 +0000 (15:37 +0900)]
[pp] Introduce IndentedStringBuilder (#563)

* [pp] Introduce IndentedStringBuilder

This commit extracts IndentedStringBuilder from IndentedDocumentBuilder
class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update local variable names

6 years agoAdd 'stdex' project (#562)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Jul 2018 04:43:48 +0000 (13:43 +0900)]
Add 'stdex' project (#562)

This commit introduces 'stdex' project which provides an extension over
standard C++ libraries.

The current version includes diff operator overloading over two sets.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use set instead of Set.h

6 years ago[T/F Lite] Gather source files when adding a target (#561)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 9 Jul 2018 04:01:44 +0000 (13:01 +0900)]
[T/F Lite] Gather source files when adding a target (#561)

Currently, source files are gathered inside 'TensorFlowLiteConfig.cmake',
but the target is defined in 'TensorFlowLite/CMakeLists.txt'.

This commit moves source file gathering scripts to 'TensorFlowLite/CMakeLists.txt'
to make it easy to understand tensorflow lite target itself.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd Caffe model console dumper (#536)
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Jul 2018 13:03:30 +0000 (16:03 +0300)]
Add Caffe model console dumper (#536)

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 agoNotify whether Caffe is available (#549)
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 6 Jul 2018 12:26:08 +0000 (21:26 +0900)]
Notify whether Caffe is available (#549)

This commit introduces message command, which shows 'Found' message when
Caffe is avaiable (during configuration).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoData tests final part (PluginManager class tests) (#487)
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 6 Jul 2018 12:16:37 +0000 (15:16 +0300)]
Data tests final part (PluginManager class tests) (#487)

PluginManager class tests

This commit introduced tests for PluginManager class

Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
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>