윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 14 Jun 2018 11:09:58 +0000 (20:09 +0900)]
Optimized TensorSink (#1665)
Parent issue : #1658
memcpy is used just like #1647.
Tested with `tools/nnapi_unittests/test/mul_1` and `mul_2`.
Signed-off-by: Hyun Sik Yoon hyunsik.yoon@samsung.com
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Jun 2018 11:08:43 +0000 (20:08 +0900)]
[tflite_benchmark] Show min/max (#1680)
This commit revises tflite_benchmakr to show min/max when benchmark
finishes.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Jun 2018 11:08:35 +0000 (20:08 +0900)]
[tflite_benchmark] Show Input/Output names (#1681)
This commit revises tflite_benchmark to show input/output tensor name to
make it easy to understand the model under analysis.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Jun 2018 11:05:45 +0000 (20:05 +0900)]
Environment variable to use upstream delegate (#1682)
* Environment variable to use upstream delegate
Define environment variable to use upstream delegate
Need to set UPSTREAM_DELEGATE=1 to use upstream delegate
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
* Set UseNNAPI
Call UseNNAPI(true) to set nnapi delegate flag in interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 14 Jun 2018 08:22:48 +0000 (17:22 +0900)]
[Pure ACL] added Rank 2 input (#1678)
This commit intrudocues rank 2 input.
Naming (`matrix`) was used to be aligned with `MatrixSink`
Tested with tflite file with `Mul` (2d x scalar) and `Gather`.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 14 Jun 2018 07:40:26 +0000 (16:40 +0900)]
Change quantization of test codes to default value. (#1655)
In case of the scalars and non-fixed point tensors, scale value is changed to 0.0f by TFLite because it is not used.
However in TFLITE, scale value of TENSOR_INT32 is passed on to the runtime and may be used depending on each operation.
So This commit set scale value to default value(0.0f) in order to clarify the value is not used.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Jun 2018 05:17:35 +0000 (14:17 +0900)]
Introduce 'nnfw::make_unique' (#1677)
This commit deprecates 'make_layer' function in pure CL runtime, and
introduces a general make_unique function as a helper.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 14 Jun 2018 04:38:28 +0000 (13:38 +0900)]
[nnapi_unittest] more cases for MUL (3D, 1D) (#1669)
For PR #1665,
`Mul` without ` 1 ` from shape ([5, 3, 12] * [12]) was written.
Previous version `Mul_1' (for ADAS, [300, 1, 4] * [4]) sometimes worked with buggy intermediate code while working on #1665.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 14 Jun 2018 02:04:28 +0000 (11:04 +0900)]
Model parser: print tensor data type (#1674)
- Print tensor data type such as FLOAT32, INT32
- Fix readme
- Change format to show tensor name
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 12 Jun 2018 07:55:35 +0000 (16:55 +0900)]
add gather nnapi unittest (#1664)
This commit adds gather nnapi unittest.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 12 Jun 2018 07:54:57 +0000 (16:54 +0900)]
[Pure CL] Support ReLU6 activation (#1663)
This commit allows pure CL runtime to process ReLU6 activation (which is
used in MobileNet example).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 12 Jun 2018 07:54:27 +0000 (16:54 +0900)]
[NNAPI Unittest] Add 'add_3' test (#1628)
This commit adds 'add_3' NNAPI unittest which allows users freely to
specify LHS/RHS shape.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 12 Jun 2018 07:53:43 +0000 (16:53 +0900)]
[Pure CL] Support DepthwiseConv2D (#1661)
This commit introduces DpethwiseConv2D operation support in pure CL
runtime.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 12 Jun 2018 07:52:46 +0000 (16:52 +0900)]
Remove setting operand type of execution input. (#1656)
This commit removes setting operand type of execution input.
It is unnecessary to reset operand type
because operand type is already set in model step
and scale of TENSOR_INT32 may be used depending on each operation.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 12 Jun 2018 02:21:13 +0000 (11:21 +0900)]
unittest for MUL (3Dx1D) (#1645)
Unittest for MUL ([300,1,4], [4]) has added.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 11 Jun 2018 23:52:32 +0000 (08:52 +0900)]
[Demo] Enable extended op for android jni (#1653)
This will enable our extended operators for TFLite JNI
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 11:56:35 +0000 (20:56 +0900)]
[Pure CL] Add 'MatrixSink' (#1647)
* [Pure CL] Add 'MatrixSink'
This commit adds 'MatrixSink' which efficiently copies output of matrix
shape (rank-2).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 09:52:18 +0000 (18:52 +0900)]
[PureCL] Use ACL Cast implementation (#1651)
* [PureCL] Use ACL Cast implementation
For issue #1431
This patch updates the ACL submodule and revises the Pure CL runtime to
use ACL's CAST implementation by default.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
* Add cast to pureacl_frameworktest_list.txt
* Clean up the duplicated codes
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 09:19:21 +0000 (18:19 +0900)]
Enable CAST framework test (#1649)
This patch enables the CAST framework test as the CPU fallback and the
Pure CL runtime can execute it correctly.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 07:48:01 +0000 (16:48 +0900)]
Implement CAST operation for TENSOR_QUANT8_ASYMM in CPU fallback (#1609)
For issue #1431 and #1199
This patch implements CAST operation for TENSOR_QUANT8_ASYMM in CPU
fallback. This implementation will be used for comparison with that of
the Pure CL runtime.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 11 Jun 2018 07:24:09 +0000 (16:24 +0900)]
Add quantization information to TensorInfo of CAST (#1646)
This commit adds quantization information to TensorInfo of CAST.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 11 Jun 2018 07:19:34 +0000 (16:19 +0900)]
Initialize input values in tflite_benchmark (#1631)
This commit initializes input values in tflite_benchmark file.
-because gather operation fails without inititalization
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 11 Jun 2018 06:31:57 +0000 (15:31 +0900)]
[PureACL] Add QuantizationInfo to TensorInfo (#1638)
This commit adds QuantizationInfo to TensorInfo for supporting to quantize.
Added QuantizationInfo enables to use qauntize(float to quantized uint8) and deqauntize(quantized uint8 to float) when implementing each Op using the arm_compute library.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 06:21:57 +0000 (15:21 +0900)]
Pure CL: initialize 2D operand workaround (#1641)
Initialize 2D operand
Workarund using vector initialize
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 11 Jun 2018 06:21:14 +0000 (15:21 +0900)]
[PureACL] Enable QASYMM8 type for Cast operation (#1644)
This commit enables QASYMM8 type for Cast operation in CPU only.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 11 Jun 2018 06:19:57 +0000 (15:19 +0900)]
[PureACL] Support other type of operand for setting tensorinput in execution (#1642)
This commit supports other type of operand for setting tensorinput in execution.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 05:37:59 +0000 (14:37 +0900)]
[NNAPI unittest] Add 'dconv_1' testcase (#1601)
* [NNAPI unittest] Add 'dconv_1' testcase
This commit adds 'dconv_1' testcase which allows users to test various
depthwise-convolution examples.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Do NOT update off inside loop
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 05:31:45 +0000 (14:31 +0900)]
[Pure CL] Use squeezed shape in setOutput (#1630)
* [Pure CL] Use squeezed shape in setOutput
This commit simplifies ANeuralNetworksExecution_setOutput via using
squeezed shape.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update comments
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 11 Jun 2018 05:28:15 +0000 (14:28 +0900)]
Implement the plan of Cast operation (#1574)
This commit implements the plan of Cast operation.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
TFLiteSharp code for running model inference with test App (#1486)
This patch contains code for the TFLiteSharp's Run function. Currently it supports only one dimensional inputs of the types INT32, INT64, FLOAT32 and UINT8.
A new VS project for testing the TFLiteSharp wrapper functions is also added. The project is a xamarin app that creates an interpreter instance using preloaded mobilenet model and
runs the inference using a bitmap image as an input.
Signed-off-by: Kshitiz Bansal <kshitiz.b@samsung.com>
최형규/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 04:29:39 +0000 (13:29 +0900)]
Enable a framework test for STRIDED_SLICE (#1637)
- Enable a framework test for STRIDED_SLICE
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 02:52:31 +0000 (11:52 +0900)]
Pure CL: 2D Concat (#1636)
Support 2D concat (axis: row)
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 11 Jun 2018 02:32:58 +0000 (11:32 +0900)]
Submodule update (acl max, stridedlisce) + acl test added (#1635)
1. Submodule update to
39cc3ac5371d
2. Add tesnsorflowmax, mul/broadcast, strided_slice into pureacl test list
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 11 Jun 2018 02:09:51 +0000 (11:09 +0900)]
Add a benchmark per operation to test_driver.sh (#1589)
* introduce benchmark per operation with tflite model
This commit add new benchmark per operation to test_driver with tflite model.
-$ ./tools/test_driver/test_driver.sh --artifactpath=. --benchmark_op
-$ ./tools/test_driver/test_driver.sh --artifactpath=. --benchmark_op ----frameworktest_list_file="specific file path that contains model lists(i.e., add/4D softmax gather topkv2 etc.)"
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* Modify comment to show operation test
This commit modifies comment to show operation test
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* Generate benchmark_op_result.json file in test_driver.sh
This commit generates benchmark_op_result.json file in test_driver.sh
-benchmark_op_result.json (for benchmark per operation) as well as benchmark_result.json
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* fix setting pure acl lib path
- remove setting LD_LIBRARY_PATH in run_benchmark_op.sh
- pass pure acl lib path to run_test.sh in run_benchmark_op.sh
- modify setting NNFW_LD_LIBRARY_PATH in run_test.sh
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* remove unused parameter OPERATION_TEST
This commit removes unused parameter OPERATION_TEST anymore.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* Modify list file of benchmark-operation
This commit modifies list file of benchmark-operation
-The framework test uses pureacl_frameworktest_list.txt
-The benchmark operation test uses benchmark_op_list.txt
-The benchmark_op_list is different from benchmark_op_list.txt because gather is not yet applied to include/kerenl/acl/Gather.h (#1535 due to tizen bulid failure). In the end, they will be same.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* modify USE_NNAPI env parameter.
This commit modifies USE_NNAPI environment parameter.
- TFLite+NNRuntime+ACL-OpenCL value was wrong becuase of USE_NNAPI
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* remove download and verify part
This commit remove downlaod and verify parts because run_test.sh has these parts.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
* remove unnecessary blank and underline
This commit removes unnecessary blank and underline
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Sun, 10 Jun 2018 23:37:46 +0000 (08:37 +0900)]
[Pure CL] Remove tensor type conversion (#1629)
This conversion is no nolonger necessary as operand::Shape now inherits tensor::Shape.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Sun, 10 Jun 2018 23:36:58 +0000 (08:36 +0900)]
Fix BUILD break on push #304 (#1633)
Fix : [CI] push-builder #304 failed!
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Sun, 10 Jun 2018 23:36:12 +0000 (08:36 +0900)]
Add 'prepend' method to 'TensorShape' (#1620)
This commit introduces 'preprend' method to 'TensorShape' to make it
easy to handle broadcasting in Tensorflow Lite.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Sun, 10 Jun 2018 23:35:49 +0000 (08:35 +0900)]
Introduce RandomTestRunner factory method (#1618)
* Introduce RandomTestRunner factory method
This commit introduces RandomTestRunner::make method which construct
RandomTestRunner with parameters specified by VERBOSE and TOLERANCE
environment variables.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 8 Jun 2018 10:03:43 +0000 (19:03 +0900)]
MUL(3Dx1D) for PureACL (#1570)
* MUL(3Dx1D) for PureACL
Parent issue #1374
This is MUL(3D, 1D) operation for ADAS model.
This needs to be enhanced after writing generic tensor support.
Currently this is written by piggybacking code of `Feature`.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
* MUL(3Dx1D) for PureACL
Parent issue #1374
This is MUL(3D, 1D) operation for ADAS model.
This also includes generic tensor support for MUL.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 08:14:03 +0000 (17:14 +0900)]
[Pure CL] Remove unused shape field/method (#1625)
This commit removed unused (and unnecessary) shape fields and method
from ARMCompute view implementations.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 08:07:06 +0000 (17:07 +0900)]
Set as_dims as static inline function (#1621)
This commit adds 'static inline' quantifier to as_dims method to avoid
multiple definition problems.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 08:06:56 +0000 (17:06 +0900)]
[PureCL] Support TENSOR_QUANT8_ASYMM type operand (#1623)
For issue #1481
This patch revises `internal::tflite::operand::Object` to keep `scale`
and `zeroPoint` in order to support operand of
ANEURALNETWORKS_TENSOR_QUANT8_ASYMM type, and then modifies
`ANeuralNetworksModel_addOperand` to pass the scale and zeroPoint values
as well when appending a new operand.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 08:06:35 +0000 (17:06 +0900)]
Use 'static_nnfw_util' (#1624)
This commit revises pure CL runtime to use static nnfw_util library
instead of shared one (to make it easy to integrate into android app).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 07:02:21 +0000 (16:02 +0900)]
[PureCL] Handle TENSOR_QUANT8_ASYMM conversion (#1622)
For issue #1481
This patch revises conversion functions to handle
ANEURALNETWORKS_TENSOR_QUANT8_ASYMM as well.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 07:00:50 +0000 (16:00 +0900)]
Add sub/broadcast test into pureacl test (#1619)
Add sub/broadcast test into pureacl test
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 06:08:02 +0000 (15:08 +0900)]
Introduce from method in tensor::Shape (#1597)
This commit introduces from method in tensor::Shape which constructs
tensor::Shape object from a string.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 05:43:31 +0000 (14:43 +0900)]
Introduce 'broadcast' method (#1610)
This commit introduces 'broadcast' method which computes the broadcasted
shape from two tensor shapes.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 8 Jun 2018 04:32:40 +0000 (13:32 +0900)]
Update submodule acl for sub broadcasting and reduce_max (#1616)
Added sub broadcasting and reduced max support.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 03:29:45 +0000 (12:29 +0900)]
[Pure CL] Update TensorShape correctly (#1615)
This commit revises asTensorShape to update TensorShape correctly.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 01:11:13 +0000 (10:11 +0900)]
Remove add_cast_ex_params (#1606)
For issue #1431
This patch removes `add_cast_ex_params` and its invocation from
nnapi_delegate.cpp because the type information of input and output is
already included in input and output operands; and the scalar values
added by `add_cast_ex_params` are not used anywhere.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 01:03:26 +0000 (10:03 +0900)]
Add a workaround when scale for TENSOR_QUANT8_ASYMM is zero (#1605)
This patch adds a workaround, which changes `scale` to one when tensor's
scale is zero, because currently zero scale is passed down from TF Lite.
Note that the latest NeuralNetworks.h (see
https://android.googlesource.com/platform/frameworks/ml/+/master/nn/runtime/include/NeuralNetworks.h)
requires `scale` to be greater than zero. Remove this workaround when
the scale value is correctly passed.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
윤현식/동작제어Lab(SR)/Principal Engineer/삼성전자 [Fri, 8 Jun 2018 00:42:11 +0000 (09:42 +0900)]
pb file generator for TOPK (#1590)
`topk_3x3_n.py` contains Tensorflow code to generate pb/pbtxt of TOPK model.
Running topk_3x3_n.py will create four types of files:
1) pb/pbtxt after freezing (`graph_frozen.pb/pbtxt`)
2) pb/pbtxt before freezing (`graph.pb/pbtxt`)
3) Tensorboard files to visually see 1) and 2)
4) checkpoing files
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Fri, 8 Jun 2018 00:32:26 +0000 (09:32 +0900)]
Support other type of operand for setting output of execution (#1580)
This commit support other type of operand for setting output of execution in pureacl.
- enable class VectorSink to use other type.
- enable calss FeatureSink to use other type.
- enable calss TensorSink to use other type
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 00:23:57 +0000 (09:23 +0900)]
Add ok tests to pureacl test list (#1612)
gather, topkv2, div/broadcast, and concat2
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 00:18:37 +0000 (09:18 +0900)]
[tflite_run] Generate uint8_t tensor input (#1604)
For issue #1431
This patch revises tflite_run's main function to also generate uint8_t
tensor input. It also adds assert(), which checks if the tensor type is
kTfLiteFloat32, to the else case where the float tensor input is
generated.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Fri, 8 Jun 2018 00:18:08 +0000 (09:18 +0900)]
Generate uint8_t tensor input in RandomTestRunner::run (#1603)
For issue #1431
This patch adds an initializer that generates uint8_t tensor input in
RandomTestRunner::run.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 11:21:20 +0000 (20:21 +0900)]
[Pure CL] Extract IExecutionBuilder (#1602)
This commit extracts IExecutionBuilder definition from compilation.cc
into a separate file.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 09:56:12 +0000 (18:56 +0900)]
Add a unit test for CAST (#1608)
For issue #1431
This patch adds a unit test for CAST, which tests conversion from
unit8_t tensor to float tensor.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 09:39:20 +0000 (18:39 +0900)]
Add StrVar class (#1599)
This commit adds StrVar class which reads string value from environment
(as it is). Default value will be used if corresponding environment variable
does not exists.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
윤지영/동작제어Lab(SR)/Engineer/삼성전자 [Thu, 7 Jun 2018 09:38:51 +0000 (18:38 +0900)]
Add build requires (#1546)
Add build requires and add T/F Lite model description to help you understand
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 09:30:49 +0000 (18:30 +0900)]
Add 'TensorShapeUtils.h' (#1598)
This commit adds 'TensorShapeUtils.h' which includes as_dims function
which converts tensor::Shape as std::vector<int>.
This function is useful when construction NN model directly with tensorflow
lite interpreter.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 09:26:07 +0000 (18:26 +0900)]
Introdduce tensor shape formatter (#1595)
This commit introduces default tensor shape formatter which makes it
easy to write output messages.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 7 Jun 2018 08:17:12 +0000 (17:17 +0900)]
Add JNI ACL test library (#1600)
This will create a JNI library that uses ACL graph library to test JNI-ACL is working from Android App
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 7 Jun 2018 06:35:44 +0000 (15:35 +0900)]
Fix Werror option for ACL/Android (#1594)
This will fix giving two Werror option to ACL for Android
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 06:23:50 +0000 (15:23 +0900)]
Introduce tensor::append method (#1588)
This commit introduces tensor::append method which allow users to extend
tensor shape.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 7 Jun 2018 04:33:22 +0000 (13:33 +0900)]
Fix indentation of build_android_rootfs script (#1587)
This will fix indentation of build_android_rootfs script from previous change
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 7 Jun 2018 02:17:30 +0000 (11:17 +0900)]
Change of ACL build for Android (#1572)
* Change of ACL build for Android
This will change Makefile to build ACL for Android
ACL build output folders are separated by os-type to hold different os
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* use TARGET_OS
* more fix for android build
박세희/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 7 Jun 2018 02:11:28 +0000 (11:11 +0900)]
Update android roofs build script (#1576)
* Update android roofs build script
This will update android rootfs build script to option-ize inclusion of prebuilt ACL
and add gnustl toolchain folder for ACL build from source
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* remove additional dot
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 02:01:44 +0000 (11:01 +0900)]
Support reduce max operation in Pure ACL runtime (#1579)
Support reduce max operation in Pure ACL runtime
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 01:53:22 +0000 (10:53 +0900)]
[Pure CL] Extract Sink class (#1585)
This commit extracts Sink class from execution.h and moves its
definition into newly introduced 'internal/Sink.h' header.
This commit also updates 'internal/Sinks.h' accordingly.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 01:13:01 +0000 (10:13 +0900)]
Change custom max unittest (#1560)
Change custom max unittest
- Model input: remove axis
- Axis parameter: 1D tensor -> scalar
- Fix data order
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 01:12:34 +0000 (10:12 +0900)]
Introduce initializer map (#1573)
This commit introduces initializer map in RandomTestRunner to make it
easy to extend supported input types.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Thu, 7 Jun 2018 01:10:52 +0000 (10:10 +0900)]
More efficient format checker (#1571)
To reduce runtime by generating file list,
change current path using pushd/popd to subdirectories to check,
and generate file list
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Jun 2018 10:59:14 +0000 (19:59 +0900)]
Fix push-cross-build failure (#1578)
It is an error caused by timing.
A parameter of asTensorInfo() has been changed arm_compute::DataType to int32_t.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
최형규/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Jun 2018 09:41:17 +0000 (18:41 +0900)]
Update STRIDED_SLICE in pureacl (#1539)
- Update external/acl
- Change type of parameters for STRIDED_SLICE of pureacl
, because type of parameters has been changed in ACL
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 5 Jun 2018 08:42:15 +0000 (17:42 +0900)]
Support other type of operand for setting input of execution (#1566)
This commit support other type of operand for setting input of execution in pure runtime.
- enable class VectorSource to use other type.
- enable calss FeatureSource to use other type.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Jun 2018 08:39:43 +0000 (17:39 +0900)]
Add 'static_nnfw_util' (#1568)
This commit adds 'static_nnfw_util' target which provides a static
nnfw_util library (to make it easy to deploy binaries).
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 5 Jun 2018 08:36:37 +0000 (17:36 +0900)]
Bring nn api test for sub.broadcast (#1563)
Related issue: #1338, #1379
NN API test for sub.broadcast is added. (Both of spec and generated c++ sources)
This code is based on Android NN `efd22b6`.
It is modified to test broadcasting of scalar value.
In addition, it fails. So I include it into skip lists.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 5 Jun 2018 07:28:59 +0000 (16:28 +0900)]
Support Cast operation for pureACL (#1569)
This commit supports Cast operation for pureACL.
- support adding Cast operation via API related to model.
- The plan of Cast operation is not yet implemented.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 5 Jun 2018 06:11:24 +0000 (15:11 +0900)]
Support SUB_EX, DIV_EX in pure ACL (#1567)
SUB_EX and DIV_EX are supported in pure ACL.
We decided to put our extensions in extension,
even it is a part of NN API 1.1 and we already brought code.
Related issue: #1485
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Tue, 5 Jun 2018 06:04:42 +0000 (15:04 +0900)]
Support other type of operand in compilation of pure (#1552)
This commit supports other type of operand in compilation of pure.
- Change datatype of TensorInfo to get from model's operand.
- Add a function mapping type of OperandType to DataType of arm_compute.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Jun 2018 05:49:45 +0000 (14:49 +0900)]
Pure CL: rename Max to ReduceMax (#1565)
Rename "Max" in pure cl runtime to "ReduceMax"
Tensorflow uses "reduce_max",
and extended operation "ANEURALNETWORKS_TENSORFLOW_MAX_EX" is translated from Tensorflow's "reduce_max" operation
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 5 Jun 2018 02:52:22 +0000 (11:52 +0900)]
[Topkv2 Op] modify output's order of Topk_v2 operation (#1470)
This commit modifies output's order of Topk_v2 operation in runtime_run_android_nn_test.
-First one is values of output and second one is indexes of output.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 5 Jun 2018 01:53:17 +0000 (10:53 +0900)]
Enable gather operation test for test_driver (#1556)
This commit enables gather operation test for test_driver.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Tue, 5 Jun 2018 01:25:33 +0000 (10:25 +0900)]
Remove unused files to support custom operator (#1557)
Remove unused files in tools/tflite_run to support custom operator
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 5 Jun 2018 00:57:39 +0000 (09:57 +0900)]
Add int32 initialization to tflite_run (#1550)
This commit adds int32 initialization to tflite_run.
-With gather operation, index should be within input coverage.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
최성진/동작제어Lab(SR)/Principal Engineer/삼성전자 [Tue, 5 Jun 2018 00:26:53 +0000 (09:26 +0900)]
[Gather Op-PureACL] add gather operation to pure acl runtime (#1541)
This commits adds gather operation to pure acl runtime.
Signed-off-by: SungJin Choi <lotieye.choi@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 4 Jun 2018 23:22:54 +0000 (08:22 +0900)]
Remove assertion to check data type (#1553)
This commit removes assertion to checkout datatype because it is no longer needed.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
장지섭/동작제어Lab(SR)/Engineer/삼성전자 [Mon, 4 Jun 2018 23:22:03 +0000 (08:22 +0900)]
Add type info of operands to Model in pure (#1551)
This commit adds type info of operands to Model in pure.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 23:19:05 +0000 (08:19 +0900)]
Add a TopK_V2 unit test (#1548)
For issue #1367
This patch adds a unit test for TOPK_V2.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 23:18:32 +0000 (08:18 +0900)]
nnfw_support_tflite as static (#1544)
This commit marks nnfw_support_tflite explicitly as static library
target to make it easy to use this library for android applications.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 09:31:53 +0000 (18:31 +0900)]
[PureCL] Support TopK_V2 for vector input (#1545)
For issue #1367
This patch fills the ACL configuration part in the Pure CL runtime for
TopK_V2 operation. It also revises the order of parameters in the
TopKV2 implementation, so the parameter order matches the argument order
of ACL's configure routine.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
이춘석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 08:42:53 +0000 (17:42 +0900)]
Run framework/verification test from file list (#1537)
* Run framework/verification test from file list
1. Add --frameworktest_list_file option to test_driver.sh
2. Add pureacl_frameworktest_list.txt which contains models for pureacl runtime
test.
Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 08:37:08 +0000 (17:37 +0900)]
Set parameter for reduce max in pure cl (#1542)
Set parameter for reduce max in pure cl compilation step
It can handle special case only: maxtrix input, vector output, one constant axis
Comment out calling arm cl API call: not implemented yet
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 4 Jun 2018 08:28:35 +0000 (17:28 +0900)]
Implement Sub in PureACL runtime (#1540)
Related issue: #1338, #1379
Support sub in pure acl.
It is implementation in pure acl runtime.
nnapi_unittests Sub for same shape works.
But for broadcasting, I need further work in ACL kernel.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 08:08:21 +0000 (17:08 +0900)]
Use custom operator kernel in support (#1536)
tflite_run and nnapi_test use upport/tflite/kernel/CustomOps.h
to support custom operator in tflite interpreter
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>
이상규/동작제어Lab(SR)/Principal Engineer/삼성전자 [Mon, 4 Jun 2018 07:40:37 +0000 (16:40 +0900)]
Add nnapi_unittests for Sub (#1534)
Related issue: #1379, #1338
To verify Sub on pure ACL runtime, Sub nnapi_unittests are added.
sub_1 is for same shape input. sub_2 for broadcasting.
Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
서상민/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 06:38:58 +0000 (15:38 +0900)]
Update the ACL submodule to the latest. (#1532)
This patch updates the hash of ACL submodule to the latest.
Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 06:36:02 +0000 (15:36 +0900)]
[android build] Fix typo and error in CMake (#1533)
This commit fixes typo and errors in Tensorflow Lite build support.
Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 [Mon, 4 Jun 2018 06:00:56 +0000 (15:00 +0900)]
Add ndk default path in gitignore list (#1538)
Ignore ndk default path generated by build_android_rootfs.sh
Signed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com>