박종현/동작제어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
최성진/동작제어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>
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>
박종현/동작제어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>
박종현/동작제어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
박종현/동작제어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>
박종현/동작제어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>
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>
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"
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박세희/동작제어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
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>
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>
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>
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>
박세희/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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)
박세희/동작제어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
박종현/동작제어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>
박종현/동작제어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>
박세희/동작제어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()
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박세희/동작제어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>
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>
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>
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>
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>
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>
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
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>
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>
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>
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>
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>
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>
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>
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
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>
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>
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>
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>
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>
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>
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
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
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>
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
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Jun 2018 03:57:58 +0000 (12:57 +0900)]
[nnkit] Introduce nni toolchain (#366)
This commit introduces 'nni' toolchain which loads backend/action
modules, and executes them.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Add section "SW Quality Verification" to SDD (#315)
* Add section "SW Quality Verification" to SDD
This commit adds the section "SW Quality Verification" to
SW Development Document. This section contains only plans.
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Add version info in the title table
* fix format
* remove table name
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 26 Jun 2018 00:21:11 +0000 (09:21 +0900)]
[nnkit] Introduce Action interface (#364)
This commit adds 'nnkit_intf_action' target which provides 'Action'
interface to its users.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 25 Jun 2018 23:27:22 +0000 (02:27 +0300)]
Fixed PluginSession class test (#360)
Use correct delimiter between plugin paramether and plugin description
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 22 Jun 2018 13:59:03 +0000 (16:59 +0300)]
PluginManager tests part 3 (#333)
PluginManager tests part 3
This commit introduced tests for classes:
* AbstractSession
* PluginParam
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 22 Jun 2018 13:58:26 +0000 (16:58 +0300)]
PluginManager tests part 4 (PluginInstance class) (#342)
PluginManager tests: PluginInstance class
This commit introduced test for PluginInstance class
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 22 Jun 2018 13:57:12 +0000 (16:57 +0300)]
Data tests part 1.2 (Data class) (#345)
Data class tests
This commit introduced test for Data class
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>