박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 31 Oct 2018 07:35:02 +0000 (16:35 +0900)]
[coco] Introduce depth/height/width to FeatureLayout (#2056)
For consistency, this commit introduces depth/height/width method to
FeatureLayout class.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 31 Oct 2018 07:34:29 +0000 (16:34 +0900)]
[enco] tool to dump IR (initial version) (#2034)
This tool prints IR info of caffe frontend.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 31 Oct 2018 03:15:56 +0000 (12:15 +0900)]
[enco] Fix Ninja build error (#2053)
This commit updates target include directory to address Ninja build
error.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 31 Oct 2018 01:46:45 +0000 (10:46 +0900)]
[coco] Fix a bug in BC FeatureLayout test (#2049)
The current test uses invalid 'batch' value.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 31 Oct 2018 01:46:20 +0000 (10:46 +0900)]
[coco] Check Op-to-Instr link on destruction (#2048)
This commit inserts assert over _step variable in destructor in order to
guarantees that Op is not referred by any Instr.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Wed, 31 Oct 2018 01:39:39 +0000 (10:39 +0900)]
[doc] Add format checker section into project_guide.md (#2040)
Add how to enable format checker for incubating project.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 31 Oct 2018 01:05:55 +0000 (10:05 +0900)]
[coco] Rename GenericKernelLayout class (#2026)
This commit renames GenericKernelLayout class as Generic class under
KernelLayouts namespace, which makes it consistent with other layout
classes.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 31 Oct 2018 00:44:08 +0000 (09:44 +0900)]
[enco.tflite] Add missing Frontend constructor (#2045)
This commit implements missing (tflite) Frontend constructor, and adds
related tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 30 Oct 2018 17:50:14 +0000 (20:50 +0300)]
[nnc] Do not use non-interface includes in importers (#2052)
- do not use non-interface includes in importers
- do not build frontend unittest if frontend disabled
Signed-off-by: Ivan Vagin ivan.vagin@samsung.com
[nnc] Rename op creation methods to match framework layer names (#2051)
* Rename CaffeOpCreator and TFLiteOpCreator methods to match source framework layer names, not the MIR operation names
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
Initial top-level ONNX support (#1987)
CMake changes were done to allow ONNX downloading and onnx.proto compiling.
Signed-off-by: Andrew V. Tischenko a.tischenko@partner.samsung.com
[nnc] Remove Model IR after all passes (#2036)
* add `cleanup` method in `Pass` class
* remove redundant frontend classes
* free all pass data in `PassManager` destructor
* replace `OpCreator` with CaffeOpCreator/TFLiteOpCreator to avoid violation of ODR
* free resources in unit tests
Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Oct 2018 06:01:45 +0000 (15:01 +0900)]
Configure contrib build flag per each configuration (#2041)
BUILD_CONTRIB_<TAG> value is fixed at the first configure run and never
updated with the current implementation.
With this commit, BUILD_CONTRIB_<TAG> value is updated properly per each
configure run.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Oct 2018 04:27:46 +0000 (13:27 +0900)]
[tflchef] Introduce test framework (#2032)
* [tflchef] Introduce test framework
This commit introduces a simple test framework for tflchef.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update comment
* Rename testcase to make it easy to understand
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Oct 2018 04:23:08 +0000 (13:23 +0900)]
[coco] Introduce ConcatF operation (#2029)
This commit introduces ConcatF operation which concatenates two feature
objects along a specified axis.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Oct 2018 04:21:39 +0000 (13:21 +0900)]
[enco] Allow users to disable caffe test (#2037)
With this commit, users are now able to disable caffe test via CMake configuration.
Note that this commit does not change the default behavior.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 30 Oct 2018 04:06:21 +0000 (13:06 +0900)]
[enco] Support Scale with bias term (#2030)
This commit extends enco caffe frontend to support Scale layer with bias term,
and introduces related caffe test.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Update project documents for DR2 (#1640)
This commit add Unit test report and updates SDD, STD, DLD
for DR2 milestone
Signed-off-by: Sergey Vostokov <s.vostokov@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 29 Oct 2018 07:33:29 +0000 (16:33 +0900)]
[enco] Support simple Scale layer (#2027)
This commit extends caffe frontend to support simple Scale layer (a
Scale layer without bias term).
This commit also includes a related test case.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 29 Oct 2018 01:08:22 +0000 (10:08 +0900)]
[enco] Introduce InstrBuilder (#2015)
This commit introduces InstrBuilder and simplifies the implementation of
caffe frontend.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
[nnc] Acl backend scale batchnorm dropout (#1954)
Scale and DropOut operations support in ACL backend.
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
[nnc] Style transfer importer (#1892)
This PR adds Style Transfer operations support to caffe Importer.
The operations are:
- Deconvolution
- ELU
- TanH
- Elementwise
Signed-off-by: Andrei Shedko a.shedko@partner.samsung.com
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 26 Oct 2018 09:24:43 +0000 (18:24 +0900)]
[enco] Add tflite schema generation (#2014)
* [enco] Add tflite schema generation
This will add tflite schema generation
- add schema file with meta information file
- change cmake for header generation
- generated header is included in Entry.cpp for testing integrity
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* apply comments
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 26 Oct 2018 07:33:01 +0000 (16:33 +0900)]
[enco] Introduce OpBuilder (#2012)
This commit introduces OpBuilder class, and simplifies the
implementation of caffe frontend using OpBuilder.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 25 Oct 2018 17:51:17 +0000 (20:51 +0300)]
[nnc] Impement node replacement facility in Graph class (#1951)
Provides replaceNode which is used to replace a node in graph preserving all edges
Provides replaceNodeWithInput and replaceInputNodes methods, used to replace any node with input node
Provides replaceOutputNodes, used to replace graph output nodes with new list
Adds unit tests for all implementations
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
[nnc] Acl backend activations and reshape (#1952)
ReLU, Capped ReLU, Tanh and Reshape support.
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Thu, 25 Oct 2018 17:42:47 +0000 (20:42 +0300)]
[nnc] Resolve bug with custom opcodes unsupported in tflite (#2007)
Resolves bug #1991 with unsupported custom opcodes
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 25 Oct 2018 08:26:05 +0000 (17:26 +0900)]
[coco] Remove unused PtrSlot.h (#1985)
This commit removes unused PtrSlot.h and related tests.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 25 Oct 2018 08:25:34 +0000 (17:25 +0900)]
[enco] Introduce 'build_load' helper (#1983)
* [enco] Introduce 'build_load' helper
This commit introduces 'build_load' helper, and simplifies the
implementation of caffe frontend by using this helper.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove unnecessary object update
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 25 Oct 2018 00:36:38 +0000 (09:36 +0900)]
[coco] Remove reads/updates from Instr (#1968)
With this commit, there is no need to implement reads/updates method for
each Instr, which makes it easy to introduce a new instruction.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Wed, 24 Oct 2018 17:54:33 +0000 (20:54 +0300)]
Refactored tflite frontend and fixed coding style (#1885)
Refactored tflite frontend and fixed coding style
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Oct 2018 10:35:52 +0000 (19:35 +0900)]
[enco] Remove unused reads/updates (#1963)
This commit removes unused reads/updates helper functions.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Oct 2018 08:19:31 +0000 (17:19 +0900)]
[coco] Introduce LLVM-like Instr casting operators (#1962)
This commit introduces the following LLVM-like casting operators for Instr class:
- isa<T>
- cast<T>
- safe_cast<T>
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Oct 2018 08:18:26 +0000 (17:18 +0900)]
[enco] Identify ANN input/output with ANN bags method (#1960)
* [enco] Identify ANN input/output with ANN bags method
This commit refines the implementation of ANNModuleBuilder to use bags
method in ANNBinder instead of reads/updates method.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Remove unused 'block' variable
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Oct 2018 02:12:47 +0000 (11:12 +0900)]
[enco] Extend ANNBinder with bags method (#1959)
This commit extends ANNBinder with bags method which enumerates all the
bags that the current ANN subnet accesses during evaluation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Oct 2018 02:09:46 +0000 (11:09 +0900)]
[enco] Take "const Bag *" as an input (#1958)
The current implementation of readers/updaters takes "Bag *" as an
input, but these functions do not update Bag itself.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 24 Oct 2018 01:50:28 +0000 (10:50 +0900)]
[coco] Remove unused Instr::dispose interface (#1957)
This interface was introduced as a mean to support safe resource
release, but is no longer used as helper classes such as "Read" allows
us to support safe reousrce release without this interface.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 23:26:58 +0000 (08:26 +0900)]
[coco] Remove PtrLink.h (#1948)
PtrLink.h was introduced to manage the internal connection between IR
entities, but it is no longer used.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Acl backend conc depth full pool (#1950)
Concatenation Depthwise Convolution Fully Connected and Pooling operations added.
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
[nnc] Eliminate singleton from passes and passManager (#1844)
Eliminating singletons in frontend and backend passes with creating vector of unique_ptr of Passes in PassManager which contains in Driver which now non static. All passes will be deleted via PassManger destructor.
Signed-off-by: Pavel Iliutchenko p.iliutchenk@partner.samsung.com
Add support of last version of tflite schema (#1842)
Now we support shcema_v3.fbs, which is far behind the actual from master
Signed-off-by: Dilshodzhon Poshshoev <d.poshshoev@samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 23 Oct 2018 13:59:04 +0000 (16:59 +0300)]
Provide operation type list in `operations.lst.h` file (#1953)
Change Visitor.h to use this list for all operation type lists
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Tue, 23 Oct 2018 13:02:18 +0000 (16:02 +0300)]
[nnc] Add Code Of Conduct for NNC (#1938)
Describes basic requirements for any PR contributing to NNC project
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 07:48:46 +0000 (16:48 +0900)]
[coco] Remove irrelevant includes from Instr.h (#1947)
This commit removes unused irrelevant includes at the bottom of "Instr.h".
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 07:16:59 +0000 (16:16 +0900)]
[enco] Add caffe 019 test (#1945)
This commit introduces caffe 019 test which includes a convolution layer
with bias term.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 06:11:04 +0000 (15:11 +0900)]
[enco.caffe] Support convolution with bias (#1944)
This commit extends enco caffe frontend to support convolution with bias
term.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 06:10:49 +0000 (15:10 +0900)]
[enco] Global data as a host allocation (#1943)
With this commit, enco NNAPI backend is now able to use constant weight
stored in global data as a host allocation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 05:14:16 +0000 (14:14 +0900)]
[enco] Enumerate host allocation correctly (#1942)
The current implementation("intermediates") cannot enumerate a bag
as a host allocation if this bag is shared by multiple ANN subnet,
but not accessed by host (ANN-incompatible) block.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 02:19:23 +0000 (11:19 +0900)]
[enco] Decouple buffer enumerator and memory allocator (#1941)
The current implementation of intermediate buffer enumerator is a bit
complicated as it should exclude input/output bags due to the design of
host memory allocator.
With this commit, host memory allocator is responsible for input/output
bag management. This design allows us to reduce coupling between intermediate
buffer enumerator and host memory allocator.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 01:57:39 +0000 (10:57 +0900)]
[enco] Emit Bag's initial data as global data (#1940)
With this commit, global data that global data generation pass emits
includes bag's weight values (in addition to weight values for ANN
operands).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 00:58:49 +0000 (09:58 +0900)]
[enco] Use valid bag size during DataLayoutConversion (#1933)
* [enco] Use valid bag size during DataLayoutConversion
The current implementation of "clone_feature" in data layout conversion
pass creates a new bag whose size is same as the size of a corresponding
bag.
However, this implementation may result in invalid bag mapping, especially
when the corresponding bag uses broadcasting layout (i.e. there are multiple
feature indices that map to one element in a bag).
This commit revises this buggy implementation of "clone_feature".
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Do NOT declare unused oldbag variable
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 23 Oct 2018 00:46:44 +0000 (09:46 +0900)]
[coco] Bag-level weight allocation (#1932)
This commit introduces a new allocate API in PlainWieghtContext<T> which
allows users to allocate a weight for each bag.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Fix build (#1937)
Fix visitor in ACL soft backend which diverged with trunk version
Fix code style in IVisitor
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Acl backend add softmax and convolution (#1907)
These operations run in the inference sequence
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 22 Oct 2018 10:30:48 +0000 (19:30 +0900)]
[caffegen] Fix typos in MergeCommand.h (#1916)
This commit will fix trivial typos in `MergeCommand.h`
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 22 Oct 2018 07:38:23 +0000 (16:38 +0900)]
Add format.patch to gitignore (#1927)
* Add format.patch to gitignore
This will all format.patch file to gitignore to ignore temporary file of format checker
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* add /
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 22 Oct 2018 07:01:54 +0000 (16:01 +0900)]
[coco] Channel-wise, Channel-major Feature Layout (#1924)
* [coco] Channel-wise, Channel-major Feature Layout
This commit introduces BC feature layout which allows users to express
channel-wise, channel-major element layout without performance overhead.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Fix a typo
남궁석/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 22 Oct 2018 06:15:07 +0000 (15:15 +0900)]
[caffegen] Introduce README for caffegen (#1915)
This commit introduce README for caffegen
Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 22 Oct 2018 06:00:49 +0000 (15:00 +0900)]
[enco] Initial directory and cmake for tflite frontend (#1919)
* [enco] Initial direcoty for tflite frontend
This commit introduce directory and initial cmake file for enco tflite frontend
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* [enco] Fix for PR #1919
- find_package->find_nncc_package
- use of std::runtime_error instead of assert for not-yet-implemented code
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 22 Oct 2018 01:15:23 +0000 (10:15 +0900)]
tflchef: TensorFlow Lite model generator (#1896)
* tflchef: TensorFlow Lite model generator
This commit includes the initial version of (random) tensorflow lite
model generator (tflchef) with the following features:
* Buffer (= Tensor with initial value) Generation
- Float32 Buffer filled with constant value
* Operation Generation
- Conv2D operation
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Add else and catch Coding style rule (#1868)
Specify position of else and catch words in code
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Support depthwise layer in caffe (#1893)
Import special case of grouped convolution as depthwise operaion
Signed-off-by: Efimov Alexander <a.efimov@samsung.com>
Vladimir Plazun/AI Tools Lab /SRR/Engineer/삼성전자 [Fri, 19 Oct 2018 12:31:23 +0000 (15:31 +0300)]
[nnc] Add ability to get inputs/outputs from model graph (#1905)
This commits adds collectInputs/collectOutputs methods to graph
Add _lastNodeId field to separate node indexing from nodes list size
Fix code style
Signed-off-by: Vladimir Plazun <v.plazun@partner.samsung.com>
[nnc] Support for Deconvolution and Elu (#1765)
Defined Deconvolution and Elu OPs.
Added support for Deconvolution and Elu in:
* modelIR Visitors
* Interpreter backend
Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
Acl backend refine dom (#1745)
Adding an operation generator using the ACL DOM.
A new IR visitor has been added, which should generate the model operations representations using the ACL DOM.
Signed-off-by: Timur Ablyazimov <t.ablyazimov@samsung.com>
[nnc] Tanh and elementwise (#1856)
Add TanhOP
This adds Tanh activation function to the interpreter and visitors
Signed-off-by: Andrei Shedko <a.shedko@partner.samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 18 Oct 2018 09:37:26 +0000 (18:37 +0900)]
[coco] Build as a shared library (#1899)
Frontend/backend based on coco will share core/generic libraries,
and thus static linking leads to one definition rule (ODR) violation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 18 Oct 2018 07:17:55 +0000 (16:17 +0900)]
[enco] Add caffe 018 test (#1897)
This commit introduces caffe 018 test which includes a single
element-wise multiplication layer.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 18 Oct 2018 02:40:34 +0000 (11:40 +0900)]
[caffegen] Use C++ standard iostream for in/out (#1881)
This commit rewrites I/O routines in caffegen to use C++ standard
iostream to avoid possible portability issues.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 23:58:11 +0000 (08:58 +0900)]
Generate protobuf code upon schema change (#1890)
The current implementation of Protobuf_Generate does not refresh
the header and source files even though there is a change in protobuf
specification.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 23:52:18 +0000 (08:52 +0900)]
[enco.caffe] Support Eltwise Prod Layer (#1884)
* [enco.caffe] Support Eltwise Prod Layer
With this commit, enco caffe frontend is now able to build coco IR even
in the presence of a Eltwise Prod layer.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Use mul instead of add
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 06:50:07 +0000 (15:50 +0900)]
[coco] Remove unnecessary indentation (#1889)
This commit removes unnecessary indentation which is left to reduce code
changes during refactoring.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 06:49:18 +0000 (15:49 +0900)]
[nnkit] Use -pthread (#1888)
* [nnkit] Use -pthread
This commit updates CMakeLists.txt to prefer -pthread (which affects
both compilation and linking) to -lpthread (which affects only linking)
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update comment
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 05:18:12 +0000 (14:18 +0900)]
[coco] Rename local variables in Def test (#1887)
Def test current includes several local variables whose name is
counter-intuitive.
This commit renames these variables in order to make it easy to
understand the test.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Wed, 17 Oct 2018 00:39:44 +0000 (09:39 +0900)]
[enco] Build ANN Mul operation from coco IR (#1877)
With this commit, enco NNAPI backend is now able to build ANN Mul
operation from coco IR.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
[nnc] Fix core CMakeLists (#1883)
This commit should fix errors when building nnc_core without protobuf.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 09:38:52 +0000 (18:38 +0900)]
[enco.caffe] Construct coco IR with reducer (#1876)
This commit revises coco IR build routine for Eltwise layer to be
extensible (in terms of supported operation).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 07:22:01 +0000 (16:22 +0900)]
[coco] Rename ::mock::Def (#1878)
::mock::Def inherits coco::Producer (not coco::Def).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 07:10:46 +0000 (16:10 +0900)]
[enco] Remove ID from ANNBinder (#1882)
There is no code (except its testcase) that uses ID assigned to each
ANNBinder.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 07:10:32 +0000 (16:10 +0900)]
[nnkit] Link thread libraries (#1880)
This commit links thread libraries to nnkit_support_backend to properly
support multi-threaded backends (such as a backend based on ARMCompute NEON).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 02:02:48 +0000 (11:02 +0900)]
[coco] Support elementwise multiplication (#1875)
With this commit, coco IR is now able to express elementwise
multiplication.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 02:02:35 +0000 (11:02 +0900)]
[enco] Extend ANN IR with Mul op (#1874)
With this commit, users are allowed to create ANEURALNETWORKS_MUL op
on top of ANN IR.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 01:43:51 +0000 (10:43 +0900)]
[coco.generic] Add license notice (#1838)
This commit appends license notice for the sources and headers of
coco generic.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 01:35:52 +0000 (10:35 +0900)]
[coco] Introduce BinaryOp trait (#1873)
This commit extracts BinaryOp trait from Add, and simplifies the
declaration and implementation of Add class using this BinaryOp trait.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 01:20:40 +0000 (10:20 +0900)]
[refNN] Import Element-wise Mul operator (#1872)
This commit imports the implementation of ANEURALNETWORKS_MUL operator
from reference android NN runtime.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 16 Oct 2018 00:37:50 +0000 (09:37 +0900)]
[coco] Fix iterate_constant_block test (#1871)
The name of iterate_constant_block test implies that this test SHOULD
iterate instructions in a constant block, but the current implementation
does not do that.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 15 Oct 2018 19:01:38 +0000 (22:01 +0300)]
Fixed caffe PassException what method, minor fixes (#1867)
* Fixed caffe PassException method
* Fixed sasha.caffemodel
* Made caffe op-checker methods non static
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Ivan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 [Mon, 15 Oct 2018 17:12:17 +0000 (20:12 +0300)]
[nnc] Eliminated visitors from caffe frontend (#1788)
* Replace visitors with iterators in caffe frontend
* Collect unsupported layers
* Fix coding style
* Remove dump visitor utils
Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Refactor PassException and DriverException classes (#1843)
* derive DriverException from std::exception
* replace methods `reason` with `what`
* add unnamed namespace in unit test for PassException
* refactor according to coding style
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
Delete nodes allocated in unit test. (#1855)
These nodes caused memory leaks detected by ASan and valgrind.
Signed-off-by: Denis Maksimenko <d.maksimenko@partner.samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 09:32:39 +0000 (18:32 +0900)]
[enco] Introduce residual test (#1863)
This commit introduces 'residual' test which includes a part of ResNet.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 07:57:45 +0000 (16:57 +0900)]
[enco] Introduce 017 test (#1862)
This commit introduces caffe 017 test which includes one element-wise
add layer.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 07:33:14 +0000 (16:33 +0900)]
[enco.caffe] Build coco IR from Eltwise Sum layer (#1861)
With this commit, enco caffe frontend is now able to build coco IR from
Eltwise Sum layer.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 06:40:50 +0000 (15:40 +0900)]
[enco] Construct ANN Add op from coco IR (#1860)
This commit extends Split pass to construct an ANN "Add" op from a
"Eval" instruction with a Add operation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 03:08:02 +0000 (12:08 +0900)]
[enco] Support ANEURALNETWORKS_ADD in ANN IR (#1859)
This commit extends ANN IR to support ANEURALNETWORKS_ADD operation.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 02:22:58 +0000 (11:22 +0900)]
[enco] Use Conv2D kernel data without modification (#1858)
This commit revises Split pass to use Conv2D kernel data that coco::Data
provides without modification (to reduce peak memory consumption).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 15 Oct 2018 02:22:46 +0000 (11:22 +0900)]
[enco] Generate ANN Opcode from def (#1857)
This commit introduces Operation.def which enumerates Android NN operation
supported in ANN IR, and rewrites ann::IR::Operation:::Code declaration
using Operation.def
Besides, OperationDecl::opcode method is now generated from this def
file with this commit.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 07:56:19 +0000 (16:56 +0900)]
[coco] Introduce UnaryOp trait (#1853)
This commit introduces UnaryOp traits, and simplifies the implementation
and declaration of several existing operation classes, such as ReLU and
PadF.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 07:56:02 +0000 (16:56 +0900)]
[coco] Add file comment on Op.h (#1852)
This commit add file-level comment on Op.h.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 12 Oct 2018 07:55:52 +0000 (16:55 +0900)]
[coco] Remove unused FeatureInstr (#1851)
This commit removes codes related with FeatureInstr from coco.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>