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>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 22 Jun 2018 13:55:55 +0000 (16:55 +0300)]
BackendModule/FrontendModule classes tests (#349)
This commit introduced tests for BackendModule/FrontendModule classes
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 22 Jun 2018 11:47:37 +0000 (14:47 +0300)]
PluginManager tests part 6 (PluginSession class) (#346)
PluginSession class tests
This commit introduced test for PluginSession class
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 22 Jun 2018 11:47:08 +0000 (14:47 +0300)]
PluginProxy class tests (#347)
This commit introduced test for PluginProxy class
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 22 Jun 2018 07:31:30 +0000 (10:31 +0300)]
Add a function that creates an IR tensor from a TFLite tensor (#350)
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
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 21 Jun 2018 07:29:05 +0000 (10:29 +0300)]
PluginManager tests part 5 (SharedLibrary class) (#344)
SharedLibrary class tests
This commit introduced test for SharedLibrary class and appropriate
CMakeLists
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 21 Jun 2018 00:48:55 +0000 (09:48 +0900)]
[core.ADT.kernel] Introduce Layout interface (#291)
This commit introduces 'nncc::core::ADT::kernel::Layout' interface
which is almost same as tensor::Layout but specialized for 4D kernel
that convolution uses.
This commit also introduces 'NCHWLayout' as an example.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 20 Jun 2018 14:35:18 +0000 (17:35 +0300)]
PluginManager tests part 2 (#332)
PluginManager tests part 2
This commit introduced tests for classes:
* ConfigException
* PluginException
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 19 Jun 2018 14:07:11 +0000 (17:07 +0300)]
Set IR inputs and outputs from TFLite model (#328)
Set IR inputs and outputs from TFLite model
This commit adds methods for creating IR graph inputs and outputs
from a TFLite model.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 18 Jun 2018 15:39:40 +0000 (18:39 +0300)]
PluginManager tests part 1.1 (#341)
DataException tests
This commit introduced test for DataException class and appropriate
CMakeLists
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 14 Jun 2018 13:57:36 +0000 (16:57 +0300)]
Add shape helper (#325)
Add shape helper
This commits adds a common class that importers can use to
carry out various operations on shapes useful during model import.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Jun 2018 09:53:10 +0000 (18:53 +0900)]
Add 'add_subdirectories' module (#288)
This commit adds 'add_subdirectores' module which provides
'add_subdirectories' function, and simplifies top-level CMakeLists.txt
using this new function.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 14 Jun 2018 09:42:54 +0000 (12:42 +0300)]
Pass arguments to build script (#337)
This commit allowing to pass arguments to build script
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 14 Jun 2018 09:23:22 +0000 (12:23 +0300)]
Print detail messages on test failures (#338)
This commit enabling detail messages on test failures
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 14 Jun 2018 09:21:59 +0000 (12:21 +0300)]
Add '*.swp' to .gitignore (#336)
This commit adds '.swp' files to .gitignore
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Jun 2018 09:20:05 +0000 (18:20 +0900)]
Introduce 'nncc_coverage' interface target (#335)
This commit introduces 'nncc_coverage' interface target which propagates
compilation options for coverage build, and use it to simplify add_nncc_library
implementation.
It is possible to eliminate unnecessary link statement (to libc) inside
add_nncc_library with this commit.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
nnc: fix console params parsing (#326)
fix wrong single params parsing
(params like '-a', '-f')
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 8 Jun 2018 13:13:16 +0000 (17:13 +0400)]
Update visitor to support available operations (#320)
Update visitor to support available operations
Updates visitor base class to support currently implemented operations
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Dmitry Mozolev/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 8 Jun 2018 12:23:48 +0000 (15:23 +0300)]
Fix "enumeration values not handled in switch" warning (#323)
This commit fixes the warning that appears if not all enum values are
handled in a switch.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
nnc: Fix stream output operator (#316)
fix stream output for PluginManager AbstractModule classes
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
nnc: PluginManager make code more consistent (#317)
This commit for consistent "auto" using
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 11:05:46 +0000 (20:05 +0900)]
Fix CaffeProto CMake warning (#305)
This commit fixes CMake warning emitted when DOWNLOAD_CAFFE is disabled.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
nnc: Implement nnc common realisation (#277)
nnc: Implement nnc skeleton
This commit implements nnc with activated frontend and backend
modules
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
nnc: Fix PluginProxy interface (#309)
This commit is to fix common plugin interface.
There are some problems to return std::shared_ptr by library "C" interface
also AbstractPluginInstance and plugin *PluginInstance (like SamplePluginInstance) should be a
singleton and std::shared_ptr is unnecessary there.
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 15:52:30 +0000 (19:52 +0400)]
Fix compiler warnings in Graph and Node classes (#314)
Reorder initialization list to match declaration order
Set node input pins with respect to inputIndex given
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 15:50:58 +0000 (18:50 +0300)]
nnc example: fix SamplePluginInstance copy and assignment (#313)
This commit delete copy and assignment operator
from singleton plugin instance example class
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 15:50:20 +0000 (18:50 +0300)]
nnc: fix AbstractPluginInstance copy and assignment operator (#312)
This commit delete copy and assignment operator
from singleton base class
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 15:49:32 +0000 (19:49 +0400)]
Fix compiler warnings in TensorVariant class (#311)
Make constructor initilization list order match declaration order
Add missing virtual destructor
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 15:48:58 +0000 (19:48 +0400)]
Fix compiler warnings in operation descriptions (#310)
Fixes compiler warnings in PoolOp and OpDescription classes
Add missing OpDescription virtual destructor
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 15:48:10 +0000 (19:48 +0400)]
[nnc] Fix operation description namespace issues (#308)
This commit fixes compilation errors introduced by switch to clang-7
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 10:43:33 +0000 (13:43 +0300)]
nnc: Implement BackendModule class (#276)
nnc: Implement BackendModule class
This commit implements BackendModule class
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 10:43:00 +0000 (13:43 +0300)]
nnc: Implement FrontendModule class (#275)
nnc: Implement FrontendModule class
This commit implements FrontendModule class
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 10:28:08 +0000 (13:28 +0300)]
nnc: fix AbstractModule copy and assignment operator (#307)
nnc: fix AbstractModule copy and assignment operator
This commit delete copy and assignment operator
from singleton base class
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Fix issue "no return statement in function return non-void" (#304)
Fix issue "no return statement in function return non-void"
This commit fix issue for two classes nncc:core:ADT:tensor:Index::resize() and
nncc::core::ADT::tensor::Shape::resize()
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
Fix error "returning reference to temporary" (#302)
This commit fixes issue when member function returns
reference to the local variable.
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 08:32:51 +0000 (11:32 +0300)]
protect AbstractModule class methods (#301)
AbstractModule will be used as base class for
module singletons
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Tue, 5 Jun 2018 08:30:42 +0000 (11:30 +0300)]
nnc: Implement plugin example (#278)
nnc: Implement plugin example
This commit show how to create plugin for nnc
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Mon, 4 Jun 2018 23:06:37 +0000 (03:06 +0400)]
[nnc] Add backend directory (#300)
This directory is used to store backend plugins sources. (e.g. code emitter, interpreter)
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 23:05:57 +0000 (08:05 +0900)]
[nnkit] Build registry library (#290)
'libs/CMakeLists.txt' does not include registry directory, and thus
registry libraries are not built currently.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Mon, 4 Jun 2018 13:53:09 +0000 (17:53 +0400)]
Add Graph class (#297)
Add Graph class
This class is used to represent computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Mon, 4 Jun 2018 13:30:22 +0000 (17:30 +0400)]
Add Variable operation class (#296)
This class is used to represent input node in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Mon, 4 Jun 2018 09:50:08 +0000 (12:50 +0300)]
nnc: Implement PluginManager class (#273)
nnc: Implement PluginsManager class
This class will search, load, initialize plugins and
delegate plugins to modules by plugin type
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 07:09:51 +0000 (16:09 +0900)]
[foundation] Do NOT allow copy/move on OwnedRegion (#299)
As its name suggestes, OwnedRegion should not be copied.
OwnedRegion should be moveable simialrly as std::unique_ptr<T>,
but the current implementation sets '_base' field as const field,
so it is impossible to implement move constructor.
As a workaround, this commit disables move on Owned Region
temporarily.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 01:01:49 +0000 (10:01 +0900)]
[cli] Add 'FunctionCommand' class (#292)
This commit adds 'FunctionCommand' class which allows us to use pure
function as a command.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Sun, 3 Jun 2018 23:37:14 +0000 (03:37 +0400)]
Add :/cmake-build-* and :/.idea to .gitignore (#295)
SRR team uses clion as a main IDE for development and it's more convinient to have IDE artefacts ignored
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 14:24:07 +0000 (18:24 +0400)]
Add FullyConnected layer desсription class (#285)
Add FullyConnected layer desсription class
This class is used to represent a fully connected layer in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 14:13:15 +0000 (18:13 +0400)]
Add Relu operation desсription class (#287)
Add Relu operation desription class
This class is used to represent relu operation in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 14:12:50 +0000 (18:12 +0400)]
Add Pool operation description (#286)
Add Pool operation desription class
This class is used to represent pool operation in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 14:12:17 +0000 (18:12 +0400)]
Add DepthwiseConv2D operation description (#284)
Add DepthwiseConv2D operation description
This class is used to represent Depthwise Convolution operation in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 14:11:48 +0000 (18:11 +0400)]
Add Conv2D operation desсription class (#280)
Add Conv2D operation desription class
This class is used to represent 2d convolution operation in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 14:11:10 +0000 (18:11 +0400)]
Add CappedRelu operation description class (#272)
* Add CappedRelu operation description class
This class used to represent capped relu operation in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 12:29:53 +0000 (16:29 +0400)]
Add Softmax operation description (#294)
This class is used to represent softmax operation in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 12:25:23 +0000 (16:25 +0400)]
Add BiasAdd operation description class (#271)
Add BiasAdd operation description class
This class used to represent bias addition in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 12:23:31 +0000 (16:23 +0400)]
Add Concat operation description class (#279)
This class is used to represent concatenation operation in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 11:29:09 +0000 (14:29 +0300)]
nnc: make isOptional method const (#293)
This commit makes getter const
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 10:27:21 +0000 (13:27 +0300)]
nnc: Implement AbstractModule class (#268)
nnc: implement AbstractModule class
This commit implements base module class.
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 10:14:22 +0000 (13:14 +0300)]
nnc: Implement PluginProxy class (#267)
nnc: implement PluginProxy class
this is base class to load pluggin
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Fri, 1 Jun 2018 07:36:36 +0000 (10:36 +0300)]
nnc: Implement AbstractPluginInstance class (#266)
nnc: implement AbstractPluginInstance class
Virtual plugin instance class.
Provides basic API for communication between plugin and nnc
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 1 Jun 2018 06:54:25 +0000 (15:54 +0900)]
[core] Add Tensor View (#281)
This commit introduces 'nncc::core::ADT::tensor::View' class which
allows users to interpret a memory region as a tensor with a specified
shape and layout.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 31 May 2018 23:51:59 +0000 (08:51 +0900)]
[core] Add 'num_elements' on kernel shape (#253)
This commit adds 'num_elements' for kernel shape similarly as
'num_elements' for tensor shape.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 31 May 2018 23:46:32 +0000 (08:46 +0900)]
[core] Add 'num_elements' on feature shape (#252)
This commit adds 'num_elements' for feature shape similarly as 'num_elements'
for tensor shape.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Dmitry Mozolev/AI Tools Lab/Engineer/삼성전자 [Thu, 31 May 2018 13:03:45 +0000 (16:03 +0300)]
Add TFLite IR visitor skeleton (#274)
Add TFLite IR visitor skeleton
Adds skeleton for the TFLite IR visitor,
additionally saves pointers to some useful model contents.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 31 May 2018 09:37:54 +0000 (18:37 +0900)]
Introduce 'nncc_include' (#263)
This commit introduces 'nncc_include' macro which allows users to write
and use useful nncc-internal CMake modules.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 30 May 2018 23:17:48 +0000 (08:17 +0900)]
[core.ADT] Add tensor::Layout interface (#244)
This commit adds tensor::Layout interface, and tensor::LexicalLayout class
which implements Layout interfaces.
Layout interface provides 'offset' method which returns an offset of each element
in flat array, and LexicalLayout assigns this offset following lexicographical order.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Dmitry Mozolev/AI Tools Lab/Engineer/삼성전자 [Wed, 30 May 2018 13:54:11 +0000 (16:54 +0300)]
Introduce a way to support all TFLite versions in one library (#172)
* Introduce a way to support all TFLite versions in one library
It is not obvious how to support all TFLite model versions in one
library, and this commit changes the structure of the code to show
how other tflite versions can be accommodated.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Wed, 30 May 2018 11:32:37 +0000 (15:32 +0400)]
Add TensorVariant class (#254)
Add TensorVariant class
This class is used to store and pass raw data
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 30 May 2018 08:43:05 +0000 (17:43 +0900)]
Use caffeproto instead of nncc_frontend_caffe_core (#257)
nncc_frontend_caffe_core is currently almost same as caffeproto.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 30 May 2018 07:39:22 +0000 (16:39 +0900)]
[nnkit] Introduce 'nnkit_registry_backend' (#258)
* [nnkit] Introduce 'nnkit_registry_backend'
This commit introduces 'nnkit_registry_backend' library which servers as
a global registry on various backends.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Leave a comment on thread safety
* Update comment
Dmitry Mozolev/AI Tools Lab/Engineer/삼성전자 [Tue, 29 May 2018 14:13:58 +0000 (17:13 +0300)]
Add Caffe proto reader (#255)
Add Caffe proto reader
Both reading from binary and from text files is supported.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Tue, 29 May 2018 13:24:26 +0000 (17:24 +0400)]
Add IRNode class (#256)
Add IRNode class
This class used to represent single operation in computation graph along with its connections
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Tue, 29 May 2018 08:05:45 +0000 (17:05 +0900)]
Add 'cli' library (#249)
This commit introduces 'cli' library (under contrib/) and rewrites
caffegen, caffekit, tflitekit tools using newly introduced 'cli'
library.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Mon, 28 May 2018 12:30:49 +0000 (15:30 +0300)]
nnc: implement PluginSession class (#248)
nnc: implement PluginSession class
This class will be used for nnc and plugins communication
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Mon, 28 May 2018 12:11:35 +0000 (15:11 +0300)]
nnc: implement PluginData class (#247)
nnc: implement PluginData class
This class will be used for command line arguments parsing and
and interact it with plugin params
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Fri, 25 May 2018 14:27:50 +0000 (18:27 +0400)]
Move ir_node.h according to changes from #158 (#260)
PR #158 renamed nnc_core into core and changed include directory structure
This commit moves ir_node.h according with these changes
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Sergey Vostokov/AI Tools Lab/Staff Engineer/삼성전자 [Fri, 25 May 2018 09:25:19 +0000 (12:25 +0300)]
Add template of High-Level Design document (#261)
Template of High-Level Design Document v1.0
Sergey Vostokov/AI Tools Lab/Staff Engineer/삼성전자 [Fri, 25 May 2018 09:18:56 +0000 (12:18 +0300)]
SW Requirements Specification v1.0 (#70)
SW Requirements Specification v1.1
Sergey Vostokov/AI Tools Lab/Staff Engineer/삼성전자 [Fri, 25 May 2018 08:38:33 +0000 (11:38 +0300)]
SW Development Document v1.0 (#79)
* Add initial version of SW Development Document
This commit adds the initial version for SW Development Document.
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Add "support of Caffe/Caffe2" to title of SDD
This commit adds "support of Caffe/Caffe2" to the title of
the document SW Development Document
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update format of SDD to fix errors
This commit fixes format errors of SDD
* Update revision table for SDD
This commits add revision number after SE Team review
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Fix typos in SDD
This commit fixes typos (NN Model -> NN model, etc) in SDD
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Change clang to gcc/g++, and DaRT to SVACE in SDD
This commit changes tools to get SW Metrics in SDD
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Update Project plan in SDD
This commit updates project plan and baseline in SDD
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Remove Reference section for SDD
This commit removes Reference section and commpetitors enumeration
from SDD. This information would be put in other document.
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
* Remove duplication of Reference and Competitors section
There were duplications of Reference and Competitors section
at the end of document. This commit removes them.
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 25 May 2018 07:45:08 +0000 (16:45 +0900)]
[nncc.core] Reduce directory nesting level (#259)
This commit relocates "libs/core/src/nncc/core/ADT" into "libs/core/src/ADT"
to be consistent with nncc.foundation in terms of directory layout.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Fri, 25 May 2018 00:12:06 +0000 (09:12 +0900)]
Do not use plain signature on target_link_library (#242)
From 2.8.12, CMake disallow the mix of plain and keword
target_link_libraries signature (CMP0023).
This policy results in cmake configuration failure when BUILD_COVERAGE
is turned on.
This commit revises add_nncc_library in order to enforce the use of keyword
signature (e.g. PUBLIC) for following target_link_library calls.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Thu, 24 May 2018 14:10:57 +0000 (17:10 +0300)]
nnc: move plugin exceptions to plugin lib (#243)
* nnc: move plugin exceptions to plugin lib
This commit move config and plugin exceptions
to common plugin lib
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/AI Tools Lab/Engineer/삼성전자 [Thu, 24 May 2018 14:09:30 +0000 (17:09 +0300)]
nnc: create AbstractSession class (#246)
nnc: create AbstractSession class
This class will be used for plugin and nnc communication
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Thu, 24 May 2018 14:06:16 +0000 (17:06 +0300)]
Add class "IR::model::OpDescription" (#158)
* Add class "IR::model::OpDescription"
This commits adds "IR::model::OpDescription" class which used to represent any operation in computation graph
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
* Fix minor issues
Add missing newline in CMakeLists.txt
Fix newline after contrib::core::IR::model namespace
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
* Fix issues
Remove duplicate check after assert
Add const where applicable
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
* Rename nnc_core into core
Update includes structure to evade header collisions
Update CMakeLists.txt
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Dmitry Mozolev/AI Tools Lab/Engineer/삼성전자 [Thu, 24 May 2018 13:27:33 +0000 (16:27 +0300)]
Add TFLite v3 model console dumper (#171)
Using visitor interface to print TFLite v3 model contents.
Not all content is printed so far, but the code can easily be extended.
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
Vladimir Plazun/AI Tools Lab/Engineer/삼성전자 [Thu, 24 May 2018 13:11:36 +0000 (16:11 +0300)]
Add model IR visior (#173)
Add "IR::mode::Visitor" class. Which is used as base for IR traversal
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 24 May 2018 08:10:08 +0000 (17:10 +0900)]
[nnkit] Introduce backend interface (#251)
This commit introduces 'nnkit::Backend' and 'nnkit::BackendFactory'
interfaces which abstracts various NN frameworks.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Thu, 24 May 2018 01:29:07 +0000 (10:29 +0900)]
[nnkit] Introduce 'CmdlineArgument' interface (#250)
This commit introduces 'nnkit::CmdlineArguments' interface which allows
each backend/action to access cmdline arguments provided by users.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 23 May 2018 23:48:58 +0000 (08:48 +0900)]
[nnkit] Introduce 'TensorContext' interface (#240)
* [nnkit] Introduce 'TensorContext' interface
This commit introduces 'nnkit::TensorContext' interface which all nnkit
actions and backends will use.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix typos
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 23 May 2018 06:46:29 +0000 (15:46 +0900)]
[nncc.foundation] Add 'Region' classes (#239)
This commit introduces Region interface which denotes a typed contigious
memory block, and adds OwnedRegion and ExternalRegion which implements
this 'Region' interface.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 23 May 2018 06:45:41 +0000 (15:45 +0900)]
Introduce nnkit_add_action and nnkit_add_backend (#238)
This commit introduces nnkit_add_action and nnkit_add_backend macros
which passes --whole-archive linker option to permit self-registration.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Senior Engineer/삼성전자 [Wed, 23 May 2018 00:24:33 +0000 (09:24 +0900)]
Add 'nnkit' project (#236)
This commit adds 'nnkit' project which will includes various tools for
using NN frameworks in one common interface.
This commit currently introduces a dummy implementation of 'nni'.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Vitaliy Cherepanov/SRR-AI Tools Lab/./삼성전자 [Tue, 22 May 2018 23:11:12 +0000 (02:11 +0300)]
nnc: plugin common lib (Plugin type) (#233)
* nnc: plugin common lib (Plugin type)
This commit creates common plugin library.
This library will be used by plugins and nnc for communication.
Implemented:
- Plugin type. Will be used to determinate plugin type and
for debug also.
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: plugin common lib (Plugin type)
rename typeWrong to typeInvalid
using switch case
add to make file
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: plugin common lib (Plugin type)
make code readable
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* remove HLO and LLO from plugin types
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
* nnc: plugin common lib (Plugin type)
fix build
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/SRR-AI Tools Lab/./삼성전자 [Tue, 22 May 2018 23:02:24 +0000 (02:02 +0300)]
nnc: plugin common lib (Plugin params) (#234)
This library will be used by plugins and nnc for communication.
Implemented:
- Plugin params. Will be used to declare plugin neccessary
configuration parameters.
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov/SRR-AI Tools Lab/./삼성전자 [Tue, 22 May 2018 23:02:10 +0000 (02:02 +0300)]
nnc: Create plugin exception class (#232)
Created plugin exceptions class.
This class will be used by compiler components like
frontend, optimizers, backend to inform main compiler
part about internal plugin problems during compilation
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Dmitry Mozolev/SRR-AI Tools Lab/./삼성전자 [Tue, 22 May 2018 23:01:52 +0000 (02:01 +0300)]
Add TFLite model visiting mechanism (#170)
* Add TFLite model visiting mechanism
Two main things added:
- TFLite model visitor interface
- Code for iterating over the model contents (walker)
Signed-off-by: Dmitry Mozolev <d.mozolev@samsung.com>
* Change class names
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>
박종현/동작제어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>
박종현/동작제어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>
박종현/동작제어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>