platform/core/ml/nnfw.git
6 years agoAdd TFLite v3 format parser (#169)
Dmitry Mozolev/SRR-AI Tools Lab/./삼성전자 [Tue, 22 May 2018 23:00:59 +0000 (02:00 +0300)]
Add TFLite v3 format parser (#169)

* Add TFLite v3 format parser

Just using flatbuffers library to get access
to the handle for .tflite version 3 model contents.

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
* Add meta info about flatbuffers schemas

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years ago[nncc.foundation] Add 'absolute_epsilon_equal' (#235)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 18 May 2018 08:23:33 +0000 (17:23 +0900)]
[nncc.foundation] Add 'absolute_epsilon_equal' (#235)

This commit introduces nncc::foundation::math::absolute_epsilon_equal,
which compares two float values and returns true if their absolute diff
is less than a specified threshold expressed as a multiple of machine
epsilon.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT.tensor] Squeeze Tensor Shape correctly. (#226)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 18 May 2018 00:09:02 +0000 (09:09 +0900)]
[core.ADT.tensor] Squeeze Tensor Shape correctly. (#226)

Squeeze operation (in TensorFlow) removess axises whose dimensionality
is 1, but the current squeeze operation eliminates if their dimensionality
is null.

This commit fixes this mismatch on the semantics of squeeze operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.foundation] Add 'relative_epsilon_equal' (#227)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 18 May 2018 00:08:54 +0000 (09:08 +0900)]
[nncc.foundation] Add 'relative_epsilon_equal' (#227)

This commit introduces nncc::foundation::math::relative_epsilon_equal,
which compares two float values and returns true if their relative diff
is less than a specified threshold expressed as a multiple of machine
epsilon.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT.tensor] Add 'Accessor' interface (#231)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 18 May 2018 00:08:45 +0000 (09:08 +0900)]
[core.ADT.tensor] Add 'Accessor' interface (#231)

This commit introduces 'Accessor<T>' interface over tensor values.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agonnc: dynamic library interface (#228)
Vitaliy Cherepanov/SRR-AI Tools Lab/./삼성전자 [Thu, 17 May 2018 08:38:47 +0000 (11:38 +0300)]
nnc: dynamic library interface (#228)

* nnc: dynamic library interface

This commit implements interface for loading dynamic libraries
and calling its interfaces.

This functional will be used to load and communicate with plugins.

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: dynamic library interface

move sources to contrib/nnc

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: dynamic library interface

fix namespaces and code style

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: dynamic library interface

fix build

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: dynamic library interface

add info to "<<" operator

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: dynamic library interface

fix issues

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: dynamic library interface

fix issues

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years ago[core.ADT.tensor] Add 'num_elements' function (#217)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 16 May 2018 23:45:55 +0000 (08:45 +0900)]
[core.ADT.tensor] Add 'num_elements' function (#217)

* [core.ADT.tensor] Add 'num_elements' function

This commit adds 'num_elemnets' function which takes a tensor shape and
returns the number of elements in a tensor of the given shape.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Return 0 when null dimension exists

6 years agoRelocate and rename BaseException (#225)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 16 May 2018 23:43:41 +0000 (08:43 +0900)]
Relocate and rename BaseException (#225)

* Relocate and rename BaseException

This commit relocates code related BaseException for consistency,
and renames it as 'Exception'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Rewrite ConfigException in nnc

6 years agoAdd flatbuffers schema compilation function (#229)
Dmitry Mozolev/SRR-AI Tools Lab/./삼성전자 [Wed, 16 May 2018 23:36:24 +0000 (02:36 +0300)]
Add flatbuffers schema compilation function (#229)

* Add flatbuffers schema compilation function

Now it is possible to compile flatbuffers schemas with a cmake function

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
* Change var names

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agofoundation nnc config exception (#204)
Vitaliy Cherepanov/SRR-AI Tools Lab/./삼성전자 [Wed, 16 May 2018 10:35:19 +0000 (13:35 +0300)]
foundation nnc config exception (#204)

* Core: Create base exception classes

Created base exceptions classes.
This classes will be used by compiler components like
frontend, optimizers, backend to inform main compiler
part about some problems during compilation

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* core: Create base exception classes

move libs/core/.../plugin to libs/foundation/.../plugin

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception classe

split class methods realisation

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception class

fix format coding style

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception class

this commit to fix PR

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create config exception class

This class will be used to signalize about some configuration errors
like bad parametrs

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create config exception class

Fix build for gcc compiler

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create config exception class

move config exception to contrib

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create config exception class

fix build. Add linking with nncc_foundation

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: Create config exception class

change namespace to nncc::contrib::

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: Create config exception class

This commit to fix coding style

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: Create config exception class

This commit to fix coding style

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years agoAdd NN importer interface and memory mapper (#168)
Dmitry Mozolev/SRR-AI Tools Lab/./삼성전자 [Wed, 16 May 2018 08:23:36 +0000 (11:23 +0300)]
Add NN importer interface and memory mapper (#168)

* Add NN importer interface and memory mapper

This commit adds common code needed by NN model importers which is

- abstract interface for NN model importers targeting CPU/GPU (possibly
  also will be ok for DSP/NPU)
- code for memory mapped access of NN model files to avoid unnecessary
  data copying (trained NN models can be large)

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
* Add NN importer interface and memory mapper

Change namespace names

Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
6 years agoFind GLog via internal script (#219)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 15 May 2018 04:05:02 +0000 (13:05 +0900)]
Find GLog via internal script (#219)

This commit revises Caffe external module to lookup GLof using
nncc_find_package instead of find_package.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUnify nncc_example_link_libraries and nncc_test_link_libraries (#220)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 15 May 2018 04:04:54 +0000 (13:04 +0900)]
Unify nncc_example_link_libraries and nncc_test_link_libraries (#220)

* Unify nncc_example_link_libraries and nncc_test_link_libraries

This commit introduces nncc_target_link_libraries function which unifies
nncc_example_link_libraries and nncc_test_link_libraries.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use NAME instead of TARGET as an argument

6 years agofoundation: Create base exception classes (#165)
Vitaliy Cherepanov/SRR-AI Tools Lab/./삼성전자 [Mon, 14 May 2018 23:19:59 +0000 (02:19 +0300)]
foundation: Create base exception classes (#165)

* Core: Create base exception classes

Created base exceptions classes.
This classes will be used by compiler components like
frontend, optimizers, backend to inform main compiler
part about some problems during compilation

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* core: Create base exception classes

move libs/core/.../plugin to libs/foundation/.../plugin

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception classe

split class methods realisation

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception class

fix format coding style

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception class

this commit to fix PR

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception class

this commit to fix PR
refactor BaseException class
fix build

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception class

this commit to fix PR
fix include
add gtest

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* foundation: Create base exception class

fix coding style

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years agonnc: initial commit (#161)
Vitaliy Cherepanov/SRR-AI Tools Lab/./삼성전자 [Mon, 14 May 2018 23:19:37 +0000 (02:19 +0300)]
nnc: initial commit (#161)

* tools nncc: compiler initial commit

Create makefiles and main for compiler

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* tools nncc: compiler initial commit

Move tools/nncc to contrib/tools/

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* tools nncc: compiler initial commit

code clean remove unused code

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* tools nncc: compiler initial commit

Move contrib/tools/nncc to contrib/nnc
rename cl to nnc

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* tools nnc: compiler initial commit

private nncc_core library target link

Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
6 years agoAllow FlatBuffers source download by default (#222)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 14 May 2018 03:17:54 +0000 (12:17 +0900)]
Allow FlatBuffers source download by default (#222)

This commit allows users to download (and build) FlatBuffers by default.
This commit also revises docker build script to pass FLATBUFFERS_URL
(which is necessary to allow CI to download and build FlatBuffers).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFind GFlags via internal script when building Caffe (#218)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 11 May 2018 05:48:02 +0000 (14:48 +0900)]
Find GFlags via internal script when building Caffe (#218)

This commit revises Caffe external module to lookup GFlags using
nncc_find_package instead of find_package.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd glog target cmake configure file (#216)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 10 May 2018 23:57:28 +0000 (08:57 +0900)]
Add glog target cmake configure file (#216)

* Add glog target cmake configure file

This will add glog configure file that adds glog target.
Unlike gflags, latest glog source archieve has issue(namespace difference) with latest gflags so cannot use built from source glog at the moment.
So this commit only includes adding target interface with system installed version.
Download and build from source may be added later when isses are fixed somehow.

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

* remove empty line

6 years agoBuild shared GFlags library (#215)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 10 May 2018 23:57:14 +0000 (08:57 +0900)]
Build shared GFlags library (#215)

The default GFlag build script dose not specify -fPIC option when
building static gflags library, and thus it is impossible to use built
library when building other shared libraries.

This commit addresses this issue by building shared library instead of
static library.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd ExternalProjectTools (#213)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 10 May 2018 01:37:45 +0000 (10:37 +0900)]
Add ExternalProjectTools (#213)

This commit introduces ExternalProjectTools module which allows users to
import external CMake projects in a systematic way.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd gflags download and build (#210)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 9 May 2018 23:24:41 +0000 (08:24 +0900)]
Add gflags download and build (#210)

* Add gflags download and build

This will add download and build gflags within cmake
- default action is off
- system installed version can be used when download is off

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

* move compile line

* use interface and move build options settings

6 years ago[core] Add 'fill' method to ADT::tensor::Index (#198)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 9 May 2018 05:40:36 +0000 (14:40 +0900)]
[core] Add 'fill' method to ADT::tensor::Index (#198)

This commit adds 'fill' method (to ADT::tensor::Index class) which sets
all the indices as the given value.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT.tensor] Introduce 'squeeze' operation (#207)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 9 May 2018 01:47:44 +0000 (10:47 +0900)]
[core.ADT.tensor] Introduce 'squeeze' operation (#207)

* [core.ADT.tensor] Introduce 'squeeze' operation

This commit introduces 'squeeze' operation on tensor shape which eliminates
axies with null dimensionality.

This commit also introduces several related unittests which show how to
use this operation and describes the expected operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Return reference correctly

6 years agoUpdate .gitignore for vscode (#208)
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 9 May 2018 01:34:23 +0000 (10:34 +0900)]
Update .gitignore for vscode (#208)

This will add .vscode to .gitignore for the users

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
6 years ago[caffekit] Run inference without caffemodel (#206)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 8 May 2018 03:47:24 +0000 (12:47 +0900)]
[caffekit] Run inference without caffemodel (#206)

This commit revises 'caffekit run' to performe inference with random weight
even when caffemodel is not provided.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce 'caffekit' (#154)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 8 May 2018 01:13:06 +0000 (10:13 +0900)]
Introduce 'caffekit' (#154)

This commit introduces 'caffekit' which will include various tools for
supporting caffe. Currently, 'caffekit' supports only 'run' command which
loads .prototxt and .caffemodel and runs one inference.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT.tensor] Add 'range' function (#205)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 8 May 2018 01:09:13 +0000 (10:09 +0900)]
[core.ADT.tensor] Add 'range' function (#205)

This commit adds 'range' function which creates a 'IndexRange'
object from a 'Shape' object.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core.ADT.tensor] Add 'TextFormatted<Index>' class (#202)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 4 May 2018 08:37:44 +0000 (17:37 +0900)]
[core.ADT.tensor] Add 'TextFormatted<Index>' class (#202)

This commit adds 'TextFormatted<Index' class which is useful for
logging.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[core] Introduce 'Printable' interface (#199)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 4 May 2018 06:30:11 +0000 (15:30 +0900)]
[core] Introduce 'Printable' interface (#199)

This commit introduces 'Printable' interface for printable objects. This
commit also introduces related tests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'Caffe' as an external module (#195)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 4 May 2018 06:00:17 +0000 (15:00 +0900)]
Add 'Caffe' as an external module (#195)

This commit adds 'Caffe' external module which builds libcaffe.so from
Caffe source (with CPU_ONLY flag).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoSW System Test Document v1.0 (#77)
Sergey Vostokov/SRR-AI Tools Lab/./삼성전자 [Fri, 4 May 2018 06:00:02 +0000 (09:00 +0300)]
SW System Test Document v1.0 (#77)

* Add initital version of Test Plan Document

This commit adds the initital version for
SW Test Plan document

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Add section SW System Test Items

This commit adds the list of functions to be tested and not
to be tested

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Fix mistakes

This commit fixes some mistakes in text

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Add software items to table 4-3

Add CI and VCS systems to table 4-3. Software

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Add risk management plan

This commit adds the risk management plan to the section 4.3

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update risk management table

The risk "SmartMachine OS targets are not available" was added

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update formulation of the Scope section

Some changes to reflect the exact scope.

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Change RST format to MD

This commit adds the same content of Test Plan, but in MD format

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update SW Test document by comments from SRR SE Team

This commit add more details in Scope, updates test items,
and test tools

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Fix format errors

Fix format errors

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Remove test item 1 and test item 2. Update numbering

This commit removes test items1/2 as they are considered as a
part of other tests

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update test tescription for test item 2/3

This commit updates the test items description for the
test item 2 and test item 3

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update SW Test Document to follow SW Requirements Specification

This commit updates test Item to follow the SW Requirements Specification
content

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Add separated test items for testing of import Caffe/Caffe2

This commit adds new test items for each reqirements:
 - test import of Caffe NN model format
 - test import of Caffe2 NN model format

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update reuirements mapping for test items

This commit fixes wrong requirements mapping for test items

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Fix wrong numbering for test items

This commit fixes wrong numbering for test item and
for manual testing of functional requirement

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Remove RF-9::LLO from STD and fix typos

This commit removes test item for RF-9:LLO as it is not
presented in SRS

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update revision of STD to 1.0

This commit updates revision of SW Test Document to Rev1.0

Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
6 years ago[nncc.core] Simplify tensor tests with constructor (#194)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 4 May 2018 01:15:27 +0000 (10:15 +0900)]
[nncc.core] Simplify tensor tests with constructor (#194)

This commit simplifies tensor tests with recently introduce constructors
based on brace initialization.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'CaffeProto' as an external module (#193)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 4 May 2018 01:14:35 +0000 (10:14 +0900)]
Add 'CaffeProto' as an external module (#193)

This commit adds 'CaffeProto' external module which provides
'libcaffeproto' library. This library allows us to parse .prototxt
and .caffemodel files.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'tflitekit' (#192)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 4 May 2018 01:13:47 +0000 (10:13 +0900)]
Add 'tflitekit' (#192)

This commit adds 'tflitekit' which provides various command
related with TensorFlow Lite.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'TensorFlowLite' as an external module (#188)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 3 May 2018 05:34:03 +0000 (14:34 +0900)]
Add 'TensorFlowLite' as an external module (#188)

This commit adds 'TensorFlowLite' external module which builds a
'libtensorflowlite.a' from TensorFlow Lite source.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Initialize tensor::Index via ctor (#191)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 11:00:15 +0000 (20:00 +0900)]
[nncc.core] Initialize tensor::Index via ctor (#191)

This commit introduces a constructor for tensor::Index which takes an
initializer list as its argument.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'CaffeSource' an an external module (#190)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 10:59:59 +0000 (19:59 +0900)]
Add 'CaffeSource' an an external module (#190)

This commit adds 'CaffeSource' external module which downloads Caffe
source from the URL specified by CAFFE_URL environment variable.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Add 'Iterable' class (#189)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 10:50:38 +0000 (19:50 +0900)]
[nncc.core] Add 'Iterable' class (#189)

This commit adds 'Iterable' class which faciliates the use of
'iterate' method based on lambda.

This commit also revises 'tensor::IndexRange' class using newly
introduced 'Iterable' class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'FlatBuffer' as an external module (#186)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 01:21:08 +0000 (10:21 +0900)]
Add 'FlatBuffer' as an external module (#186)

This commit adds 'FlatBuffer' external module which compiles
libflatbuffers.a library and flatc executable from the flatbuffers
source that 'FlatBufferSource' provides.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Set tensor::Shape values via constructor (#181)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 01:15:32 +0000 (10:15 +0900)]
[nncc.core] Set tensor::Shape values via constructor (#181)

This commit introduces a constructor for tensor::Shape which takes an
initializer list as its argument.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'NEON2SSE' as an external module (#185)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 01:11:36 +0000 (10:11 +0900)]
Add 'NEON2SSE' as an external module (#185)

This commit adds 'NEON2SSE' library module (which provide a header-only
neon2sse library target using NEON2SSESource) which is necessary to
build tensorflow lite.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'GEMMLowp' as an external module (#184)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 01:11:26 +0000 (10:11 +0900)]
Add 'GEMMLowp' as an external module (#184)

This commit adds 'GEMMLowp' library module (which provide a header-only
gemmlowp libary target using GEMMLowpSource) which is necessary to build
tensorflow lite.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'Farmhash' as an external module (#183)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 01:11:16 +0000 (10:11 +0900)]
Add 'Farmhash' as an external module (#183)

This commit adds 'Farmhash' as an external module which provides
'farmhash' library target.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'Eigen' as an external module (#182)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 2 May 2018 01:11:08 +0000 (10:11 +0900)]
Add 'Eigen' as an external module (#182)

This commit adds 'Eigen' module which provides 'eigen' interface library
if it is successfully loaded.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Add 'tensor::IndexRange' (#180)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 30 Apr 2018 08:35:25 +0000 (17:35 +0900)]
[nncc.core] Add 'tensor::IndexRange' (#180)

This commit adds 'tensor::IndexRange' class which helps users to iterage
over all the index valid for a certain tensor shape.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'NEON2SSESource' as an external module (#179)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 30 Apr 2018 08:34:50 +0000 (17:34 +0900)]
Add 'NEON2SSESource' as an external module (#179)

This commit adds 'NEON2SSESource' (which is necessary to build
tensorflow lite) as an external module that nncc_find_package can load.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'GEMMLowpSource' as an external module (#178)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 30 Apr 2018 08:08:41 +0000 (17:08 +0900)]
Add 'GEMMLowpSource' as an external module (#178)

This commit adds 'GEMMLowpSource' (which is necessary to build
tensorflow lite) as an external module that nncc_find_package can load.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'FarmhashSource' as an external module (#177)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 30 Apr 2018 07:44:24 +0000 (16:44 +0900)]
Add 'FarmhashSource' as an external module (#177)

This commit adds 'FarmhashSource' (which is necessary to build
tensorflow lite) as an external module that nncc_find_package can load.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'EigenSource' as an external module (#176)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 30 Apr 2018 05:14:10 +0000 (14:14 +0900)]
Add 'EigenSource' as an external module (#176)

This commit adds 'EigenSource' (which is necessary to build tensorflow
lite) as an external module that nncc_find_package can load.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'FlatBuffersSource' as an external module (#156)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Sun, 29 Apr 2018 23:36:53 +0000 (08:36 +0900)]
Add 'FlatBuffersSource' as an external module (#156)

This commit adds 'FlatBuffersSources' as an external module used by
nncc_find_package.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'TensorFlowSource' as an external module (#155)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 26 Apr 2018 06:45:26 +0000 (15:45 +0900)]
Add 'TensorFlowSource' as an external module (#155)

This commit adds 'TensorFlowSource' as an external module. Any
components in nncc are now able to download TensorFlowSource (if
DOWNLOAD_TENSORFLOW is set as true) and access it through
nncc_find_package macro.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Equality over tensor shape (#153)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 26 Apr 2018 05:00:37 +0000 (14:00 +0900)]
[nncc.core] Equality over tensor shape (#153)

This commit introduces == operator between two tensor::Shape class.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoGenerage coverage report only for libs and tools (#152)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 26 Apr 2018 04:25:24 +0000 (13:25 +0900)]
Generage coverage report only for libs and tools (#152)

This commit revises 'gen-coverage-report' to consider sources under libs
and tools (which nncc officially provides) when generating coverage
report.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd Protobuf as an external module (#151)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 26 Apr 2018 03:48:29 +0000 (12:48 +0900)]
Add Protobuf as an external module (#151)

This commit adds Protobuf as an external module that can be checked and
imported via nncc_find_package macro.

This commit also simplifies build scripts using this external module.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoSimplify C++ standard configuration (#150)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 26 Apr 2018 01:56:30 +0000 (10:56 +0900)]
Simplify C++ standard configuration (#150)

Now, CMake 3.1 is the minimum requirement for nncc, and thus workaround for
legacy CMake (based on CMAKE_CXX_FLAGS) is no longer required.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoDefine 'nncc_find_package' as macro (#149)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 26 Apr 2018 01:56:19 +0000 (10:56 +0900)]
Define 'nncc_find_package' as macro (#149)

In CMake, function creates a new scope, and thus it interfers the
behavior of 'find_package' command if its wrapper ('nncc_find_package')
is implemented as a function.

This commit rewrites 'nncc_find_package' as a macro (which does not
create a new scope) to avoid scope issue, and updates existing
configurations accordingly.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'decode' command (#148)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 26 Apr 2018 00:41:48 +0000 (09:41 +0900)]
[caffegen] Add 'decode' command (#148)

This commit supports 'decode' command in caffegen tool which takes
binary caffemodel via standard input, and shows its content in text
format via standard output.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAllow users to build Google Test locally (#146)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 09:56:09 +0000 (18:56 +0900)]
Allow users to build Google Test locally (#146)

This commit revises CMake-based build scripts to allow users to build
Google Test locally by default.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUpdate Build Prerequisites (#147)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 09:31:52 +0000 (18:31 +0900)]
Update Build Prerequisites (#147)

This commit updates 'getting_started.md' to include build prerequisites
section.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Add 'ADT::tensor::Reader' class (#145)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 08:16:10 +0000 (17:16 +0900)]
[nncc.core] Add 'ADT::tensor::Reader' class (#145)

This commit adds 'ADT::tensor::Reader' class as a base class for all the
readable tensor objects.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoSet minimum required CMake version as 3.1 (#144)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 08:12:28 +0000 (17:12 +0900)]
Set minimum required CMake version as 3.1 (#144)

This commit sets minimum required CMake version as 3.1 (updated from
2.8).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoInstall CMake 3.2.2 in Docker image (#143)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 02:54:11 +0000 (11:54 +0900)]
Install CMake 3.2.2 in Docker image (#143)

This commit updates Dockerfile to install CMake 3.2.2 using PPA during
image build.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUse 'project path' as prefix in coverage report (#136)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 02:54:01 +0000 (11:54 +0900)]
Use 'project path' as prefix in coverage report (#136)

This commit revises gen-coverage-report to use NNCC project path as the
prefix for paths in coverage report.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Add 'ADT::tensor::Index' class (#135)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 01:33:17 +0000 (10:33 +0900)]
[nncc.core] Add 'ADT::tensor::Index' class (#135)

This commit adds 'tensor::Index' class which indicates the element in a
tensor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[nncc.core] Add 'ADT::tensor::Shape' class (#134)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 01:31:54 +0000 (10:31 +0900)]
[nncc.core] Add 'ADT::tensor::Shape' class (#134)

This commit adds 'tensor::Shape' class inside nncc::core::ADT::tensor.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Take the ownership of 'NetParameter' (#126)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 01:31:40 +0000 (10:31 +0900)]
[caffegen] Take the ownership of 'NetParameter' (#126)

This commit revises 'Network' class to take the ownership of
'NetParameter' (to ensure the liveness of pointer).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Allow Command to read command-line (#125)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 25 Apr 2018 01:31:24 +0000 (10:31 +0900)]
[caffegen] Allow Command to read command-line (#125)

This commit revises 'Command' interface to take command-line arguments
from main.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce Kernel Reader interface (#122)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 23 Apr 2018 23:59:26 +0000 (08:59 +0900)]
Introduce Kernel Reader interface (#122)

This commit introduces 'nncc::core::ADT::kernel::Reader' class which
serves as a base interface for accessing the content of kernel without
modification.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoRename Feature.cpp as Reader.cpp (#124)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 23 Apr 2018 23:56:12 +0000 (08:56 +0900)]
Rename Feature.cpp as Reader.cpp (#124)

Feature.cpp was introduced to test the self-completeness of 'Reader.h',
but with incorrect name.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce feature::Accessor interface (#123)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 23 Apr 2018 23:54:24 +0000 (08:54 +0900)]
Introduce feature::Accessor interface (#123)

This commit introduces 'nncc::core::ADT::feature::Accessor' interface
which allows users to modify the content of a feature map.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Introduce 'internal' directory (#121)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 23 Apr 2018 23:53:15 +0000 (08:53 +0900)]
[caffegen] Introduce 'internal' directory (#121)

This commit introduces 'internal' directory which contains all the code
that helps users to access the internal of caffe models.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoChange permission of a command file (#115)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 23 Apr 2018 02:31:24 +0000 (11:31 +0900)]
Change permission of a command file (#115)

- Change permission of a command file

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years agoIntroduce 'nncc::core::ADT::feature::Reader' interface (#118)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 23 Apr 2018 02:31:12 +0000 (11:31 +0900)]
Introduce 'nncc::core::ADT::feature::Reader' interface (#118)

This commit introduces 'nncc::core::ADT::feature::Reader' interface
which allows its client to read the content of feature map.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce ENABLE_CONTRIB_BUILD option (#119)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 23 Apr 2018 02:30:55 +0000 (11:30 +0900)]
Introduce ENABLE_CONTRIB_BUILD option (#119)

This commit introduces ENABLE_CONTRIB_BUILD option to allow users to
skip build on projects under contrib/.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd 'Getting Started' guide (#109)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Mon, 23 Apr 2018 02:30:45 +0000 (11:30 +0900)]
Add 'Getting Started' guide (#109)

* Add 'Getting Started' guide

This commit adds 'getting_started.md' which will include various guide
for newcomers although the current version provides guide on docker-based
build only.

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

* Fix other typos

* Fix a typo (environtment -> environment)

6 years agoFix GCC 4.8 build error (#108)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Sun, 22 Apr 2018 23:50:38 +0000 (08:50 +0900)]
Fix GCC 4.8 build error (#108)

* Fix GCC 4.8 build error

This commit fixes build errors on GCC 4.8 to enable build CI.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix typos

6 years agoUse NNCC_PROJECT_PATH as DOCKER_PATH (#110)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 20 Apr 2018 06:11:52 +0000 (15:11 +0900)]
Use NNCC_PROJECT_PATH as DOCKER_PATH (#110)

File paths used during docker are different from those in host, so
users should translate that address manually.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Support Convolution Paramater Randomize (#112)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 20 Apr 2018 05:48:06 +0000 (14:48 +0900)]
[caffegen] Support Convolution Paramater Randomize (#112)

This commit supports randomization on parameters of convolution layer.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoUpdate Dockerfile (#107)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 20 Apr 2018 04:31:35 +0000 (13:31 +0900)]
Update Dockerfile (#107)

This commit updates Dockerfile to install google test (for testing),
and protocol buffer (for caffe support).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'ConvolutionLayer' (#111)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 20 Apr 2018 02:24:07 +0000 (11:24 +0900)]
[caffegen] Add 'ConvolutionLayer' (#111)

This commit adds 'ConvolutionLayer' which allows us to easily access the
internal of ConvolutionLayerParameter.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Include 'InputLayer.h' (#106)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 20 Apr 2018 01:20:58 +0000 (10:20 +0900)]
[caffegen] Include 'InputLayer.h' (#106)

LayerAnalysisPass.h uses 'InputLayer', but does not includes
'InputLayer.h'

This commit updates 'LayerAnalysisPass.h', and introduces
empty 'LayerAnalysisPass.cpp' to ensure that 'LayerAnalysisPass.h' is
self-complete.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd CI script (#31)
최형규/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 20 Apr 2018 00:22:43 +0000 (09:22 +0900)]
Add CI script (#31)

Add a command to build using docker for CI and local build

* Using docker image `nncc` as default
* Make use of NNCC_PROJECT_PATH
* Use double quotes to prevent possible issues from space
* Update comments and variable names to fit for nncc

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
6 years ago[caffegen] Introduce 'fill' command (#104)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 10:41:59 +0000 (19:41 +0900)]
[caffegen] Introduce 'fill' command (#104)

This commit implements 'fill' command. Currently, only 'Input' layer
is supported.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'NetworkBuilder' class (#103)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 10:07:01 +0000 (19:07 +0900)]
[caffegen] Add 'NetworkBuilder' class (#103)

This commit adds 'NetworkBuilder' class which reads
'caffe::NetParameter' and creates a 'Network' object.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Fix build break (#102)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 08:47:41 +0000 (17:47 +0900)]
[caffegen] Fix build break (#102)

This commit adds pure virtual methods on layer to fix build break.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'InputLayer' class (#101)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 08:36:52 +0000 (17:36 +0900)]
[caffegen] Add 'InputLayer' class (#101)

This commit introduces 'InputLayer' class which helps us to process
'Input' layer on caffe model.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'Network' class (#100)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 06:40:28 +0000 (15:40 +0900)]
[caffegen] Add 'Network' class (#100)

This commit adds 'Network' class which serves as in-memory Caffe model
representation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'BlobContext' class (#98)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 05:16:06 +0000 (14:16 +0900)]
[caffegen] Add 'BlobContext' class (#98)

This commit adds 'BlobContext' class which maintains the shape of each
blob.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'LayerContext' class (#99)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 05:15:54 +0000 (14:15 +0900)]
[caffegen] Add 'LayerContext' class (#99)

This commit adds 'LayerContext' class which maintains a sequence of
'Layer' objects.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'BlobShape' class (#96)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 04:28:09 +0000 (13:28 +0900)]
[caffegen] Add 'BlobShape' class (#96)

This commit adds 'BlobShape' class which records the dimensionality of
blobs.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add Layer-related classes (#97)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 04:27:53 +0000 (13:27 +0900)]
[caffegen] Add Layer-related classes (#97)

This commit adds the following Layer-related classes which will be extended later.
 - Layer (base class)
 - LayerAnalysisPass (for read-only passes)
 - LayerTransformPass (for read-write passes)

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Support 'encode' (#95)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 04:27:15 +0000 (13:27 +0900)]
[caffegen] Support 'encode' (#95)

This commit implements 'encode' command which allows users to convert
prototxt (text format) to caffemodel (binary format).

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years ago[caffegen] Add 'Command' class (#94)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 02:05:10 +0000 (11:05 +0900)]
[caffegen] Add 'Command' class (#94)

This commit adds 'Command' class as a basic infrastructure for
caffegen.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce 'nncc_foundation' (#93)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 19 Apr 2018 02:04:28 +0000 (11:04 +0900)]
Introduce 'nncc_foundation' (#93)

This commit introduces 'nncc_foundation' library which includes
functions and classes not directly related with compiler itself, but
useful when implementing it.

The initial version includes the implementation of 'make_unique' which
makes it easy to use 'std::unique_ptr'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoIntroduce nncc_frontend_caffe_core (#87)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 18 Apr 2018 01:44:00 +0000 (10:44 +0900)]
Introduce nncc_frontend_caffe_core (#87)

This commit introduces nncc_frontend_caffe_core library which allows us
to access the content of .caffemodel and .prototxt.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoFormat check all the files under tools (#88)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 18 Apr 2018 01:43:38 +0000 (10:43 +0900)]
Format check all the files under tools (#88)

This commit sets 'tools' as a target of format check. Now, 'nncc format'
will check code style for all the header and source under '/tools'.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoCreate 'caffegen' project (#89)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 18 Apr 2018 01:40:49 +0000 (10:40 +0900)]
Create 'caffegen' project (#89)

This commit creates empty 'caffegen' project under contrib which will
provide a random caffemodel generator.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAllow configuration on directories to be format checked (#90)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 18 Apr 2018 01:39:49 +0000 (10:39 +0900)]
Allow configuration on directories to be format checked (#90)

This commit allows users to specify directories to be format checked on
'nncc format' via command-line arguments.

Running 'nncc format dir1' will check all the files under dir1 in addition
to the default files (i.e. files under directories that include .FORMATCHECKED)

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd nncc::core::ADT::kernel::Shape (#86)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 17 Apr 2018 23:36:15 +0000 (08:36 +0900)]
Add nncc::core::ADT::kernel::Shape (#86)

This commit adds nncc::core::ADT::kernel::Shape class and related tests.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
6 years agoAdd nncc::core::ADT::PadInfo (#85)
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 17 Apr 2018 23:36:08 +0000 (08:36 +0900)]
Add nncc::core::ADT::PadInfo (#85)

This commit adds nncc::core::ADT::PadInfo class which describes padding
for convolution operation.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>