박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 Aug 2018 07:29:24 +0000 (16:29 +0900)]
[coco] Introduce Read Hook & Slot (#1075)
This commit introduces Read Hook & Slot classes which makes is easy to
implement direct Bag reading instruction.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 17 Aug 2018 06:33:30 +0000 (15:33 +0900)]
Fix docker argument checking (#1074)
This will fix docker argument check and execution
- 'echo' and 'sed' was executed regardless of variable settings
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 Aug 2018 05:13:03 +0000 (14:13 +0900)]
[coco] Record direct bag read/update (#1073)
This commit extends BagInfo to record direct (not through Object) bag
read/update.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 Aug 2018 05:12:54 +0000 (14:12 +0900)]
[enco] Initial commit (#1072)
This commit creates 'enco' project; NN model-to-Android NN API
transpiler based on Coco IR.
This commit includes README.md and the core implementation of enco CLI.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 Aug 2018 05:12:34 +0000 (14:12 +0900)]
[coco] Introduce Locatable interface (#1059)
This commit introduces Locatable interface, which allows us to get a
location (as an instruction) on the code; This class serves as a base
class for Bag::Read, Bag::Update, Object::Def, and Object::Use.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 17 Aug 2018 00:39:49 +0000 (09:39 +0900)]
[coco] Implement bag update in Arg (#1057)
This commit moves Bag update implementation from Input/Output into Arg.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
interpreter plugin: Fix segfaut on tensor loading (#1035)
Add check result for fopen
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 10:20:17 +0000 (19:20 +0900)]
[coco] Remove Conv2D::Param struct (#1054)
This commit removes Conv2D::Param struct, and revises OpManager::create method
similarly as InstrManager::create method.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 09:49:02 +0000 (18:49 +0900)]
[coco] Share mock-up Def class (#1056)
DefHook/DefSlot tests include their own mock-up Def class. This commit
extracts these mock-up Def class as shared one.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 09:47:59 +0000 (18:47 +0900)]
[coco] Share mock-up Use class (#1055)
This commit extracts mock-up Use class from UseHook/UseSlot tests, and
shares the extracted one for both tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 08:05:17 +0000 (17:05 +0900)]
[coco] Update Object Def/Use from FeatureInstr (#1050)
This commit revises FeatureInstr to support automatic update of def/use
of its IFM/OFM object.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 07:50:17 +0000 (16:50 +0900)]
[coco] Record Bag Read/Update set (#1052)
This commit introduce Bag::Read and Bag::Update class which allows us to
query the location of Bag reads and updates.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 06:49:58 +0000 (15:49 +0900)]
[coco] Automatic update Kernel Object's user list (#1049)
This commit revises Conv2D op class to automatically update kernel object's
user list on ker method call.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 05:06:41 +0000 (14:06 +0900)]
[coco] Introduce DefSlot<T> (#1048)
This commit introduces DefSlot template class which make it easy to
declare Object-defining entities such Instr.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 05:05:40 +0000 (14:05 +0900)]
[coco] Introduce UseSlot<T> (#1047)
This commit introduces UseSlot<T> template class which make it easy to
declare Object-using entities such as Op and Instr.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 04:50:07 +0000 (13:50 +0900)]
[coco] Move ObjectManager into Conv2DTest class (#1046)
This commit moves ObjectManager-related instance declarations from
ker_update testcase into Conv2DTest fixture.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 04:33:25 +0000 (13:33 +0900)]
[coco] Introduce DefHook (#1045)
This commit introduces DefHook class which encapsulates necessary
actions on Def Object updates.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 04:31:40 +0000 (13:31 +0900)]
[coco] Expose Object def/user information (#1044)
This commit allows users to access Object def/user information recorded in
ObjectInfo through Object entities.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 04:29:36 +0000 (13:29 +0900)]
[coco] Introduce UseHook (#1042)
This commit introduces UseHook, which encapsulates ObjectInfo update
routines on Object usage changes.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 01:53:32 +0000 (10:53 +0900)]
[coco] Update Object Link on Object Creation (#1041)
This commit revises ObjectManager to update Object Link on object
creation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 01:30:24 +0000 (10:30 +0900)]
[coco] Use common UnitF allocation routine (#1040)
This commit extracts common UnitF allocation routine in UnitF tests as
'allocate' helper method.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 01:17:17 +0000 (10:17 +0900)]
[nnkit] Caffe-based nnsuite conv backend (#1006)
This commit introduces Caffe-based nnsuite conv backend. This backend
serves as a oracle for Caffe-compatible compiled artifacts.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 16 Aug 2018 00:50:27 +0000 (09:50 +0900)]
[coco] Record Def/Use(s) in ObjectInfo (#1007)
This commit introduces Def/Use fields in ObjectInfo. Note that
this commit justs introduces fields, and does not include any update
code.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Soft backend: fix fully connected layer (#1015)
Fixes serialization of fully connected parameters
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Soft backend: fix pooling operation (#1028)
Rearrange window, strides and padding dimensions
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Partial redesign plugins system and add usage of new CLI (#1029)
* improve command line infrastructure:
- add new parameter (checker) in Option class
* replace all uses by new CLI
* partial redesign plugins system
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 15 Aug 2018 16:52:38 +0000 (19:52 +0300)]
[nnc] Support depthwise conv channel multiplier in interpreter (#1030)
Now depthwise convolution in interpreter supports 4D kernels.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Soft backend: fix conv operations (#1013)
Fixes convolution 2d operation in soft backend
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
nnc: Fix Caffe output node names (#1024)
This commit fix interpreting problem
based on wrong IR output nodes names
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
[nnc] TFlite import: Implement FullyConnected (#1012)
TFlite importer can now handle FullyConnected op.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
[nnc debug] Update debug format in sources (#943)
Changed format used for debugging in most files.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 14 Aug 2018 16:48:49 +0000 (19:48 +0300)]
Add Mobilenet+Inception-v3 model loading system tests (#945)
Note that there is no way to run them yet because the way to run all
system tests separately from the unit tests should be decided first,
as well as the way to store large files (NN models in this case).
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 14 Aug 2018 16:45:28 +0000 (19:45 +0300)]
[nnc] Fix tensorflow lite import of depthwise conv (#985)
Depthwise convolution in Tensorflow Lite has channel multiplier
as its kernel's first dimension, while current Model IR
assumes it is the last dimension. This commit fixes this issue
by appropriately transposing the kernel during import.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
[nnc] Interpreter: fixed Pool operation (#983)
Fixed Pooling op. Added missing "else" statement. Everything worked without it, but it was extremely confusing. Also added a "break" for consistency, even though it is not needed.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 14 Aug 2018 14:27:26 +0000 (17:27 +0300)]
[nnc] Assume SAME padding in Caffe importer (#1011)
Layers have numeric padding parameters in Caffe, as oppopsed to
SAME/VALID padding in Tensorflow Lite and Model IR.
Currently,
during the model import stage there is no information about tensor
shapes, so it is impossible to map numeric paddings to SAME/VALID
paddings correctly.
Despite that, current reference models for Caffe do follow the rule of
"if pad is zero then padding is VALID, otherwise SAME",
so this commit does exactly that (before, Caffe importer would
throw an exception if it found non-zero non-equal paddings for height
and width; but inception-v3 has non-square convolutions which lead to
exactly such case).
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Fixed FullyConnected. (#1008)
Fixed ShapeInference for FullyConnected layer, fixed interpreter implementation of FUllyConnected op.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
[nnc] Caffe import: transpose FullyConnected weights (#1009)
Now transposing internal_product weights in Caffe importer to match internal format.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
Fix return value. (#1010)
createFullyConnected() used to return wrong Node if bias is not present.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
Soft backend fix softmax deserialization (#975)
This commit fixes deserialization of softmax parameters
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Soft backend: add absent dimension in shape (#981)
Add dimension in shape on deserialization (if there are 3 instead of 4)
this is batch dimension - 1 for inference
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 14 Aug 2018 11:32:08 +0000 (14:32 +0300)]
Renamed sample plugin option (#942)
This commit renamed sample plugin option
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 07:49:32 +0000 (16:49 +0900)]
[coco] Fix build break (#1005)
This commit fixes build break caused by bag link access interface.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 07:44:36 +0000 (16:44 +0900)]
[coco] Pass ObjectLink to Op/Instr Manager (#1002)
This commit revises Op/Instr manager to take ObjectLink as an arugment
of their constructor.
Note that this link is not used, yet.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 07:43:01 +0000 (16:43 +0900)]
[coco] Introduce PtrSlot (#969)
This commit introduces PtrSlot which allows us to insert a hook on
pointer updates.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 07:42:47 +0000 (16:42 +0900)]
[coco] Accessor on ObjectInfo (#1001)
This commit introduces indirect accessor on ObjectInfo inside Object
class.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 07:42:39 +0000 (16:42 +0900)]
[coco] Support unlink on Bag (#1000)
This commit revises Object::bag method to support Bag unlink.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 07:25:22 +0000 (16:25 +0900)]
[coco] Default constructible Conv2DTest fixture (#999)
Clang 6.X implicitly delete default constructor when there are const
fields, which results in build error.
This commit explicitly introduces the default constructor of Conv2DTest
fixture to fix build break.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 06:48:29 +0000 (15:48 +0900)]
[coco] Return casted value correctly (#998)
This commit fixes a bug in 'curr' method implementation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 06:48:19 +0000 (15:48 +0900)]
[nnkit] Extract Caffe backend implementation (#997)
This commit extracts Caffe backend class from nnkit Caffe module.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 06:48:10 +0000 (15:48 +0900)]
[coco] Pass Bag-to-BagInfo link via virtual method (#993)
This commit revises Object class to get Bag-to-BagInfo link via virtual
method (to make it easy to introduce a new fields if necessary).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 05:04:13 +0000 (14:04 +0900)]
[coco] Fix incorrect ifdef guard (#994)
This commit fixes incorrect ifdef guard of FeatureObjectInfo.forward.h
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 04:52:06 +0000 (13:52 +0900)]
[nnkit] Type-generic Caffe Backend (#991)
This commit revises FloatCaffeBackend ans type-generic CaffeBackend.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 04:51:57 +0000 (13:51 +0900)]
[coco] Use consistent ifdef guard (#995)
This commit updates inconsistent ifdef guards in coco IR headers.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 04:51:47 +0000 (13:51 +0900)]
[coco] Use consistent factory method name (#996)
This commit renames make method in InputManager and OutputManage classes
as 'create' similarly as other manager classes.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 02:35:04 +0000 (11:35 +0900)]
[coco] Introduce KernelObjectInfo (#987)
This commit introduces KernelObjectInfo class which will hold the
internal state of kernel objects in coco IR.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 02:34:56 +0000 (11:34 +0900)]
[coco] Introduce 'Conv2DTest' fixture (#988)
This commit introduces 'Conv2DTest' fixture to simplify Conv2D op tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 02:34:49 +0000 (11:34 +0900)]
[coco] Introduce Instr fixtures (#989)
This commit introduces InstrTest, FeatureInstrTest, UnifTTest classes
which includes common routines for writing tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 02:32:55 +0000 (11:32 +0900)]
[nnkit] Extract TensorContext (#992)
This commit extracts CaffeTensorContext (in nnkit Caffe backend) as
nnkit::support::caffe::TensorContext.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 02:32:48 +0000 (11:32 +0900)]
[coco] Introduce 'ObjectTest' fixture (#990)
This commit introduces 'ObjectTest' fixture which includes common
infrastructure for writing 'Object' tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 14 Aug 2018 02:01:50 +0000 (11:01 +0900)]
[nnkit] Construct CaffeBackend from caffe::Net (#967)
* [nnkit] Construct CaffeBackend from caffe::Net
Currently, the constructor of CaffeBackend takes arguments for
caffe::Net, and forwards it to internally allocated caffe::Net instance.
This commit revises CaffeBackend constructor to take an exteranlly
allocated caffe::Net instance as its argument.
This change allows us to construct a caffe backend from in-memory caffe
model (instead of serialized one).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove unnecessary comment
Improve command line parser and add unit tests for command line interface (#984)
* command line parser is done
* add unit tests for testing options declaration and correct parsing
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
Generalize options for soft backend (#923)
Replace specific file paths with output directory and common name
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
[nnc debug] Add internal documentation (#971)
Added rst document desribing nnc debugging system.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
Fix tflite Dims argument (#954)
Reverse axis order for tflite functions.
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Shape inference unit test fix (#972)
Add absent dimensions into input data shape
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 13 Aug 2018 02:21:17 +0000 (11:21 +0900)]
[coco] Use std::set to record dependent objects (#968)
This commit revises Bag and BagInfo to use std::set (instead of PtrList)
to record dependent objects.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 13 Aug 2018 02:21:03 +0000 (11:21 +0900)]
[coco] Simplify BlockManager tests (#956)
This commit extracts the common routine in BlockManager tests, and
move it to a new test fxiture class (BlockManagerTest).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
interpreter_plugin: fix segfault if input/output node not found (#950)
add intput / output nodes checking
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
interpreter_plugin: fix input tensor initialization (#953)
add tensor and input file sizes checking
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
IR graph: Fix getInput/getOutput (#949)
add checking of map search results
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Fix output nodes search by name (#948)
fix problem when interpreter cannot find output node by name
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Soft backend: eigen library (#841)
Add library with common support functions for operations
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 08:57:39 +0000 (17:57 +0900)]
[nnkit] Type-generic Caffe TensorContext (#966)
This commit revises FloatCaffeTensorContext in nnkit Caffe backend as a
type-generic one.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 08:57:30 +0000 (17:57 +0900)]
[coco] Non-public head method (#965)
This comit revises DLinkedLists:::Node to allow its descendent classes
to have non-public head method (The current design enforces head to be a
public method).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 08:57:23 +0000 (17:57 +0900)]
[coco] Introduce FeatureObjectInfo (#964)
* [coco] Introduce FeatureObjectInfo
This commit introduce FeatureObjectInfo class which internally manages
mutable information related with each FeatureObject.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use correct incorrect ifdef guard
Cmdline: add command line infrastructure (#952)
implementation of the following things:
* parser for command line;
* interface for creating options
* wrapper for unit tests
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 07:13:13 +0000 (16:13 +0900)]
[coco] Introduce 'Arg' class (#960)
* [coco] Introduce 'Arg' class
This commit introduces 'Arg' class which servers as a base class for
both Input and Output.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use consistent declaration
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 06:24:53 +0000 (15:24 +0900)]
[coco] Remove deprecated Bag constructor (#963)
This commit removes deprecated Bag object constructor.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 05:55:58 +0000 (14:55 +0900)]
[coco] Add 'curr' method to DLinkedList::Node (#961)
This commit introdcues 'curr' method which internally casts this as
Child, and replaces all the use of reinterpret_cast in Node
implementation with curr method.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 05:53:19 +0000 (14:53 +0900)]
[coco] Introduce FeatureObjectTest class (#959)
This commit revises FeatureObject-related tests using FeatureObjectTest
class.
This class provides some usefule utilities (such as allocate) for
writing tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 05:52:56 +0000 (14:52 +0900)]
[coco] Introduce KernelObjectTest (#962)
This commit introduces KernelObjectTest class which includes various
helper methods for writing KernelObject tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 10 Aug 2018 01:08:51 +0000 (10:08 +0900)]
Disable failing nnc test (#958)
This commit temporarily disables a part of failing nnc test to fix build
break.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 9 Aug 2018 23:00:15 +0000 (08:00 +0900)]
[coco] Implement Op::parent method (#940)
This commit implements Op::parent method which allows users to retrieve
an instruction that owns an operation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 9 Aug 2018 22:59:39 +0000 (07:59 +0900)]
[coco] Update OpLink on UnitF::op update (#939)
This commit revises UnitF::op method to update OpLink properly.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 9 Aug 2018 22:57:27 +0000 (07:57 +0900)]
[coco] Introduce ObjectInfo (#938)
This commit introduces ObjectInfo class, and revises ObjectManager to
take Object -> ObjectInfo link on construction.
This is the first step toward support automatic object def/use updates.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Bugfix: tests for auto dimension reshape (#857)
Add undefined dimension constant and more tests for shape inference
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 8 Aug 2018 13:23:36 +0000 (16:23 +0300)]
[nnc] Fix Caffe Concat operator import (#924)
Concat layer might not have a ConcatParameter section with it,
so it is only possible to recognize it by the name of the layer.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 8 Aug 2018 13:22:20 +0000 (16:22 +0300)]
[nnc] Add doxygen configuration file (#914)
This config is set to:
- extract undocumented entities as well (for class diagrams etc)
- extract private class members (for fuller documentation)
- extract only C/C++ files
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Softbackend: move serialization out of ModelAnalyzer (#859)
Check limits of char parameters properly,
split max and average pool in defferent calls,
serialize output shape where needed
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
[nnc testing] Move unit tests to a separate folder (#913)
Created unittests dir, moved nnc module tests there, created CMakeLists.txt for new directory and edited nnc CMakeLists.txt.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 10:30:20 +0000 (19:30 +0900)]
[nnkit] Introduce nnkit_support_caffe (#936)
This commit extracts BlobContext and its descendents from nnkit Caffe
backend implementation as nnkit_support_caffe library.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 10:04:41 +0000 (19:04 +0900)]
[coco] Use OpManager for Instr test (#937)
This commit removes DummyOp implementation from Instr test, and uses
OpManager to create an Op instance (which is required by UnitF::op
method tests).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 08:32:58 +0000 (17:32 +0900)]
[coco] Pass OpLink to Op/Instr Manager (#935)
This commit revises Op/Instr Manager to take OpLink on construction.
Note that OpLink passed ot Op/Instr Managers is not used, yet.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 06:36:32 +0000 (15:36 +0900)]
[coco] Enable format check (#932)
This commit enables format check on coco.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 05:44:21 +0000 (14:44 +0900)]
[coco] Introduce Generic Data Context (#929)
* [coco] Introduce Generic Data Context
This commit introduces generic data context, which allows any frontends
to deliver constand weight data to backends.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix GCC 4.9 build break
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 04:56:41 +0000 (13:56 +0900)]
[coco] Default constructible DLinkedList::Node (#926)
The current design of DLinkedList::Node enforces all of its descendent classes to
implement a consturctor that takes PtrLink, and passes it to its parent.
This restriction makes it difficult to introduce some intermediate
traists.
This commit revises DLinkedList::Node to remove this restriction.
The current design enforces only leaf classes to implement 'get' method.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 01:14:01 +0000 (10:14 +0900)]
[coco.generic] Generic Data Handling Library (#920)
This commit introduces 'coco_generic' which provides various classes and
functions to deal with generic data (such as f32).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 8 Aug 2018 01:00:53 +0000 (10:00 +0900)]
[coco] Require reads and updates for Instr classes (#922)
This commit requires all of Instr classes to implement reads and updates
methods which returns a set of Bags read/updated during execution.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Soft backend: refactoring of artefact Shape class (#820)
Adjust artefact shape to implementation needs
Add more tests
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 7 Aug 2018 10:42:04 +0000 (19:42 +0900)]
[coco] Hide BagInfo from Users (#917)
This commit rewrites 'Bag.h' to include 'BagInfo.forward.h' instead of
'BagInfo.h' in order to hide the implementation details of 'BagInfo'
from the users of 'Bag'.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>