platform/upstream/armnn.git
5 years agoIVGCVSW-2102: Fix Pooling2D CpuRef indexing bug
James Conroy [Wed, 31 Oct 2018 11:47:53 +0000 (11:47 +0000)]
IVGCVSW-2102: Fix Pooling2D CpuRef indexing bug

* Fixes bug when calcuating indexes for NHWC in
  Pooling2D CpuRef implementation, it now uses
  TensorBufferArrayView.
* Adds 2-Channel unit tests for Pooling2d on CpuRef,
  Cl and Neon. The single channel tests were not
  properly exercising Pooling2d using NHWC data layout.
* Refactors Pooling2D NHWC tests so that the input and
  output data are permuted to NHWC when necessary,
  instead of hard coding the data in NHWC format.

Change-Id: I5b9d41ed425ff283ea8c8ef6b1266ae0bc80f43b

5 years agoIVGCVSW-2074: Updated the DepthwiseConvolution2dTest for NHWC
jimfly01 [Fri, 26 Oct 2018 11:56:21 +0000 (12:56 +0100)]
IVGCVSW-2074: Updated the DepthwiseConvolution2dTest for NHWC

Change-Id: If2befd3bd75da70c57f924cbe18fa0a47bf7a27f

5 years agoIVGCVSW-1970 TfLite VGG16: Correct number of iterations
Matthew Bentham [Tue, 30 Oct 2018 12:39:50 +0000 (12:39 +0000)]
IVGCVSW-1970 TfLite VGG16: Correct number of iterations

Change-Id: Iaf03755b0d30598f5d09ca36af8eeeb369191950

5 years agoIVGCVSW-1970 TfLite VGG16: Add Validation.txt for continuous integration
Matthew Bentham [Tue, 30 Oct 2018 10:11:23 +0000 (10:11 +0000)]
IVGCVSW-1970 TfLite VGG16: Add Validation.txt for continuous integration

Change-Id: Ib7ea0a0b809bdfe1d705b31a08f42e1b7815b0d2

5 years agoMLCE-67 Fix for Github issue 91
Matthew Bentham [Tue, 30 Oct 2018 09:42:07 +0000 (09:42 +0000)]
MLCE-67 Fix for Github issue 91

Remove incorrect early out from image resize

Change-Id: I58014680f5cbe43dfc6b4af66638db67c070a146

5 years agoIVGCVSW-2029 Tweak results handling for batch size 2 test
Matthew Bentham [Mon, 29 Oct 2018 17:39:49 +0000 (17:39 +0000)]
IVGCVSW-2029 Tweak results handling for batch size 2 test

When looking for the top probability, use the 'first' result not the 'second'.
This avoids an issue where for batched tests the classification index was reported wrongly.

Still doesn't correctly handle multiple results with the exact probabibility, or batched testing,
but it's slightly more correct than before.

Change-Id: I57d33552754667613e222d9d2037e12c87a96854

5 years agoIVGCVSW-2074: Updated DepthwiseConvolution2dAsymmetricTest for NHWC
jimfly01 [Fri, 26 Oct 2018 14:55:50 +0000 (15:55 +0100)]
IVGCVSW-2074: Updated DepthwiseConvolution2dAsymmetricTest for NHWC

Change-Id: I1bc8d2f270d4abfaa62e4843b8d96bcf462c6b09

5 years agoFixed Android32 build error blocking master
Matteo Martincigh [Mon, 29 Oct 2018 13:45:34 +0000 (13:45 +0000)]
Fixed Android32 build error blocking master

 * In ImagePreprocessor, typecasted the number of image elements
   (unsigned int) to a const_iterator::difference_type (int)

Change-Id: Idb8611185f6471751678a0a77d8225bceb204a34

5 years agoFixed backend id argument parsing in ExecuteNetwork
Matteo Martincigh [Mon, 29 Oct 2018 11:01:09 +0000 (11:01 +0000)]
Fixed backend id argument parsing in ExecuteNetwork

Change-Id: I99498a633d75a2b4bdcd059627b07beaa9984890

5 years agoIVGCVSW-2083 - Add DataLayout parameter to calculate the expected output shape in...
narpra01 [Fri, 26 Oct 2018 16:36:32 +0000 (17:36 +0100)]
IVGCVSW-2083 - Add DataLayout parameter to calculate the expected output shape in ValidateTensorShapesFromInputs
 * Convolution2dLayer
 * DepthwiseConvolution2dLayer
 * Pooling2dLayer
 * ResizeBilinearLayer
 * Unittests for ValidateTensorShapesFromInputs

Change-Id: I057caf8a90d822175a7dd7271f960b65c6154bb4

5 years agoIVGCVSW-1896 : SubGraph selector
David Beck [Fri, 26 Oct 2018 15:03:03 +0000 (16:03 +0100)]
IVGCVSW-1896 : SubGraph selector

Change-Id: Iae9a76b10d84d7ba80136b54355f8d37d2df475d

5 years agoIVGCVSW-2069 - Implement NHWC Convolution2D for CpuRef
narpra01 [Fri, 26 Oct 2018 15:24:58 +0000 (16:24 +0100)]
IVGCVSW-2069 - Implement NHWC Convolution2D for CpuRef
 * Calculate index for NHWC to compute Convolution
 * add more unit test for NHWC

Change-Id: I800d649b9b42be2758c445e3b3e76142888c1377

5 years agoIVGCVSW-2081: Move generic backend tests to the backend related CMake files
Aron Virginas-Tar [Fri, 26 Oct 2018 14:37:23 +0000 (15:37 +0100)]
IVGCVSW-2081: Move generic backend tests to the backend related CMake files

Change-Id: Ib642b0c983fed21cf38be8233bd13d86f4bf413d

5 years agoIVGCVSW-2029 Fix fully connected layer support in TfLite Parser and implement test...
Nattapat Chaimanowong [Fri, 26 Oct 2018 09:24:14 +0000 (10:24 +0100)]
IVGCVSW-2029 Fix fully connected layer support in TfLite Parser and implement test for TfLite VGG16 quantized

Change-Id: I2061f62f62684b963fa0f090718f1dcffe5c93ce

5 years agoIVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend
David Beck [Wed, 24 Oct 2018 16:09:46 +0000 (17:09 +0100)]
IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend

Change-Id: Ice19d3f763298bc14585267df389e99df846320d

5 years agoIVGCVSW-2074: SimpleConvolution2dTestImpl updated for NHWC
jimfly01 [Thu, 25 Oct 2018 16:05:05 +0000 (17:05 +0100)]
IVGCVSW-2074: SimpleConvolution2dTestImpl updated for NHWC

* Added a defaulted DataLayoutIndexed argument to the SimpleConvolution2dTestImpl
* Permute test data tensors just before use if necessary
* Add DataLayout to descriptor
* Added a DataLayoutIndexed argument to SimpleConvolution2d3x5TestCommon
* Added NHWC versions of the SimpleConvolution2d3x5Test for Neon and CL

Change-Id: I10e3ece42a50108baeabe4d8b0f0ac3e6d532261

5 years agoIVGCVSW-2051 Fixed the dynamic allocation of the dimSizes array in MeanLayer
Matteo Martincigh [Thu, 25 Oct 2018 15:19:34 +0000 (16:19 +0100)]
IVGCVSW-2051 Fixed the dynamic allocation of the dimSizes array in MeanLayer

Change-Id: I6e39f1e1bc32c0c2c1953da00016edd68c48d4e0

5 years agoIVGCVSW-2057: Remove ARMCOMPUTE(CL/NEON)_ENABLED and ARMCOMPUTENEON_ENABLED from...
Aron Virginas-Tar [Thu, 25 Oct 2018 10:47:31 +0000 (11:47 +0100)]
IVGCVSW-2057: Remove ARMCOMPUTE(CL/NEON)_ENABLED and ARMCOMPUTENEON_ENABLED from src/armnnTfliteParser/test/ParserFlatBufferFixture.hpp

Change-Id: I85c720d37097e0c9a53dc473a7eac09f21deb847

5 years agoIVGCVSW-2058: Remove ARMCOMPUTE(CL/NEON)_ENABLED and ARMCOMPUTENEON_ENABLED from...
Aron Virginas-Tar [Thu, 25 Oct 2018 10:10:49 +0000 (11:10 +0100)]
IVGCVSW-2058: Remove ARMCOMPUTE(CL/NEON)_ENABLED and ARMCOMPUTENEON_ENABLED from src/armnnUtils/ParserPrototxtFixture.hpp

Change-Id: Ief836fb80c4c966f1b76c9429d4a7fb644ceb73d

5 years agoIVGCVSW-2059: Remove CL-specific code from Profiler
Aron Virginas-Tar [Wed, 24 Oct 2018 16:26:17 +0000 (17:26 +0100)]
IVGCVSW-2059: Remove CL-specific code from Profiler

Change-Id: I279986b83c7a38b6d395f8a496382ffaebb9ed08

5 years agoIVGCVSW-2049 + IVGCVSW-2051 Create the CL Mean Float workload and add
Matteo Martincigh [Fri, 19 Oct 2018 15:40:03 +0000 (16:40 +0100)]
IVGCVSW-2049 + IVGCVSW-2051 Create the CL Mean Float workload and add
the unit tests

 * Created the ClFloatWorkload class
 * Added ClMeanValidate validation function
 * Added helper function to convert the reduction axes from the ArmNN
   format to ACL's
 * Added workload tests
 * Added some unit tests
 * These changes need the CL pin to be pointing at least to revision
   88d871028eeae57f9e4536d0329110eccb5e2890 (COMPMID-1574 Implement
   ReduceMean in OpenCL)

!android-nn-driver:155033

Change-Id: I694fd36be0458c90e158172afde045fcc88c32ae

5 years agoIVGCVSW-2073: Move remaining backend-specific tests from armnn to backends
Aron Virginas-Tar [Wed, 24 Oct 2018 14:33:28 +0000 (15:33 +0100)]
IVGCVSW-2073: Move remaining backend-specific tests from armnn to backends

Change-Id: I45fd5b6dd32c435b78a54dc377a623e60978ce13

5 years agoIVGCVSW-1007 Support Inception-V3 and V4 in CaffeParser
Mohamed Nour Abouelseoud [Wed, 24 Oct 2018 10:48:14 +0000 (11:48 +0100)]
IVGCVSW-1007 Support Inception-V3 and V4 in CaffeParser

Removed the kernel dimension/range validation from CaffeParser

Change-Id: I9e63c01fecbaea1448aa203e7212cd4aac854c3d

5 years agoIVGCVSW-2071 : remove GetCompute() from the WorkloadFactory interface
David Beck [Tue, 23 Oct 2018 15:09:36 +0000 (16:09 +0100)]
IVGCVSW-2071 : remove GetCompute() from the WorkloadFactory interface

Change-Id: I44a9d26d1a5d876d381aee4c6450af62811d0dbb

5 years agoIVGCVSW-2067 : dynamically create workload factories based on the backends in the...
David Beck [Tue, 23 Oct 2018 12:35:58 +0000 (13:35 +0100)]
IVGCVSW-2067 : dynamically create workload factories based on the backends in the network

Change-Id: Ide594db8c79ff67642721d8bad47624b88621fbd

5 years agoIVGCVSW-2053: Validate BackendId parameters for the InferenceTest (EndToEnd tests...
Aron Virginas-Tar [Tue, 23 Oct 2018 14:14:46 +0000 (15:14 +0100)]
IVGCVSW-2053: Validate BackendId parameters for the InferenceTest (EndToEnd tests) / ExecuteNetwork

!referencetests:154790

Change-Id: Iaf9608ae1e66460079f2546b30d7fbc9b55bb7dd

5 years agoIVGCVSW-2026 + IVGCVSW-2027 Add FullyConnected Support to TfLiteParser
Sadik Armagan [Mon, 22 Oct 2018 08:04:18 +0000 (09:04 +0100)]
IVGCVSW-2026 + IVGCVSW-2027 Add FullyConnected Support to TfLiteParser

Change-Id: Id48f97ee33e2fd650a1ee3365ef66bdfc514a586

5 years agoIVGCVSW-1823 *Free working mem only when network changes
Derek Lamberti [Tue, 2 Oct 2018 14:52:46 +0000 (15:52 +0100)]
IVGCVSW-1823 *Free working mem only when network changes

Change-Id: I62b34713f8ebd96b9d4369f25cc8ba474aad8bb4

5 years agoIVGCVSW-2060: Separate and move backend specific unit tests from the src/armnn/test...
Aron Virginas-Tar [Mon, 22 Oct 2018 12:32:01 +0000 (13:32 +0100)]
IVGCVSW-2060: Separate and move backend specific unit tests from the src/armnn/test folder to the backends

* Moved backend-specific memory leak checking tests from RuntimeTests.cpp to
  the corresponding backend test folder

Change-Id: I0a7f4ef52c5350c3cebca23b2b4e61a9446ca11f

5 years agoIVGCVSW-2063 Documentation for new operations in TfLite Parser
Sadik Armagan [Mon, 22 Oct 2018 11:32:39 +0000 (12:32 +0100)]
IVGCVSW-2063 Documentation for new operations in TfLite Parser
 * Updated TfLite Parser read me file for new operations added

Change-Id: Idd4dcbe03ee8cd8c65377e03b6e52f3766312b70

5 years agoIVGCVSW-1991 : refactor m_SupportedComputes in DeviceSpecs
David Beck [Mon, 22 Oct 2018 12:16:00 +0000 (13:16 +0100)]
IVGCVSW-1991 : refactor m_SupportedComputes in DeviceSpecs

Change-Id: Ied3d54dc356f5e4f87aeb59f66423ac1f893dd01

5 years agoIVGCVSW-1955: Unify backend exceptions (wrap cl::Error)
Aron Virginas-Tar [Fri, 19 Oct 2018 15:46:15 +0000 (16:46 +0100)]
IVGCVSW-1955: Unify backend exceptions (wrap cl::Error)

* Added wrapper function around arm_compute::IFunction::run() that catches
  cl::Error and wraps it into an armnn::RuntimeException
* Added MakeWorkload template inside ClWorkloadFactory that catches
  cl::Error and wraps it into an armnn::RuntimeException
* Replaced cl::Error with armnn::RuntimeException in catch statements inside
  LoadedNetwork

Change-Id: I2340f41ae02b8db1d7ef5157824a50e7410854e3

5 years agoIVGCVSW-2019 : replace Compute enum in the backend preferences list
David Beck [Fri, 19 Oct 2018 14:20:56 +0000 (15:20 +0100)]
IVGCVSW-2019 : replace Compute enum in the backend preferences list

Change-Id: Ie7549fd27378acfa97e68d098e338b8c9d4ea5d2

5 years agoIVGCVSW-2061: Add ARMNN_SCOPED_PROFILING_EVENT_CL inside ClLstmFloatWorkload::Execute()
Aron Virginas-Tar [Fri, 19 Oct 2018 15:58:08 +0000 (16:58 +0100)]
IVGCVSW-2061: Add ARMNN_SCOPED_PROFILING_EVENT_CL inside ClLstmFloatWorkload::Execute()

Change-Id: Ia3f895474b54e73711feb9795e7d47cbd61f13a3

5 years agoIVGCVSW-2024: Support NHWC for Pooling2D CpuRef
James Conroy [Fri, 19 Oct 2018 09:41:35 +0000 (10:41 +0100)]
IVGCVSW-2024: Support NHWC for Pooling2D CpuRef

* Adds implementation to plumb DataLayout parameter
  for Pooling2D on CpuRef.
* Adds unit tests to execute Pooling2D on CpuRef
  using NHWC data layout.
* Refactors original tests to use DataLayoutIndexed
  and removes duplicate code.

Change-Id: Ife7e0861a886cf58a2042e5be20e5b27af4528c9

5 years agoIVGCVSW-2013 Add a UInt8 Reference Implementation for the PAD Operator
Mohamed Nour Abouelseoud [Thu, 18 Oct 2018 11:26:19 +0000 (12:26 +0100)]
IVGCVSW-2013 Add a UInt8 Reference Implementation for the PAD Operator

Change-Id: I41f3606198db1fda8d72aaf5169594ba9156eb38

5 years agoIVGCVSW-2023 CL and Neon implementation of BatchNorm with NHWC
Nikhil Raj [Thu, 18 Oct 2018 13:27:50 +0000 (14:27 +0100)]
IVGCVSW-2023 CL and Neon implementation of BatchNorm with NHWC

Change-Id: I962e986607e5d045cd97b9eaeaea2f5ae624db35

5 years agoIVGCVSW-2019 : replace Compute enum in the Layer object
David Beck [Thu, 18 Oct 2018 14:13:56 +0000 (15:13 +0100)]
IVGCVSW-2019 : replace Compute enum in the Layer object

Change-Id: I76551d511ef718eac36e5b8e5fe426ec3a402855

5 years agoIVGCVSW-2005: Pull in backend specific unit tests into Android.mk similarly as backen...
Aron Virginas-Tar [Thu, 18 Oct 2018 09:39:38 +0000 (10:39 +0100)]
IVGCVSW-2005: Pull in backend specific unit tests into Android.mk similarly as backend sources

Change-Id: Icafc644b64c591f4dc0e1560d02b806bf053a2da

5 years agoIVGCVSW-2030 and IVGCVSW-2031 Add MaxPooling support and unit test to TfLite Parser
Nattapat Chaimanowong [Wed, 17 Oct 2018 14:19:14 +0000 (15:19 +0100)]
IVGCVSW-2030 and IVGCVSW-2031 Add MaxPooling support and unit test to TfLite Parser

Change-Id: I3aea8ea6d018900682d278f28a50e40cf2f963fe

5 years agoIVGCVSW-2040 Add unit tests for the newly implemented NHWC support in
Matteo Martincigh [Thu, 18 Oct 2018 09:55:19 +0000 (10:55 +0100)]
IVGCVSW-2040 Add unit tests for the newly implemented NHWC support in
ref BatchNormalization

 * Added create workload unit tests for the NHWC data layout

Change-Id: I03d66c88dc9b0340302b85012cb0152f0ec6fa72

5 years agoIVGCVSW-2033 Add unit tests for the newly implemented NHWC support in
Matteo Martincigh [Thu, 18 Oct 2018 09:33:23 +0000 (10:33 +0100)]
IVGCVSW-2033 Add unit tests for the newly implemented NHWC support in
ref Normalization

 * Added create workload unit tests for the NHWC data layout

Change-Id: Id4813105c027a26e277de64fecea1845fea39fd9

5 years agoIVGCVSW-1865 - Support NHWC for Convolution2D (CpuRef)
Nikhil Raj [Thu, 18 Oct 2018 09:11:04 +0000 (10:11 +0100)]
IVGCVSW-1865 - Support NHWC for Convolution2D (CpuRef)

* Updated the ConvImpl.hpp to use DataLayoutIndex
* Enabled unit test for CpuRef
* Update CreateWorkload Tests for ref with NHWC

Change-Id: Id309b7ef677489d63dcb5e09bd48ab9624b5ebfb

5 years agoIVGCVSW-2037 : separate registry for layer support intrefaces
David Beck [Wed, 17 Oct 2018 13:17:50 +0000 (14:17 +0100)]
IVGCVSW-2037 : separate registry for layer support intrefaces

* because their lifetime is different from backends

Change-Id: I9ba525e7e503b148cde1294933f3954b8bad3d68

5 years agoIVGCVSW-2032 + IVGCVSW-2033 Add NHWC implementation to the reference
Matteo Martincigh [Thu, 18 Oct 2018 07:45:39 +0000 (08:45 +0100)]
IVGCVSW-2032 + IVGCVSW-2033 Add NHWC implementation to the reference
Normalization workload

 * Enabled NHWC support in RefNormalizationFloat32Workload for
   Across normalization
 * Added unit test for the reference implementation

Change-Id: I0e1f319e76491d43b83b121c273fadb5b259d1a0

5 years agoIVGCVSW-2038 + IVGCVSW-2039 + IVGCVSW-2040 Add NHWC support to the Float32 and UInt8
Matteo Martincigh [Wed, 17 Oct 2018 13:43:29 +0000 (14:43 +0100)]
IVGCVSW-2038 + IVGCVSW-2039 + IVGCVSW-2040 Add NHWC support to the Float32 and UInt8
BatchNormalization workloads

 * Enabled NHWC support in RefBatchNormalizationFloat32Workload
 * Added NHWC unit tests for both FP32 and U8
 * Refactored the existing unit tests

Change-Id: I6aa18f1dcc0666b80a17a7ed229cf53607bae147

5 years agoIVGCVSW-2012: Remove check for DataType::QuantisedAsymm8 in NeonLayerSupport
Aron Virginas-Tar [Mon, 15 Oct 2018 15:08:20 +0000 (16:08 +0100)]
IVGCVSW-2012: Remove check for DataType::QuantisedAsymm8 in NeonLayerSupport

Change-Id: Ifeabb8c6aa02b5209245d863fc0d7aeceb25cb30

5 years agoAdded missing pragma directive to TensorBufferArrayView.hpp
Matteo Martincigh [Wed, 17 Oct 2018 13:45:07 +0000 (14:45 +0100)]
Added missing pragma directive to TensorBufferArrayView.hpp

Change-Id: Ic7882cb415ccb7a899f5fb353fb96a1f19d03346

5 years agoIVGCVSW-1951 Remove type templating from NeonDepthwiseConvolutionWorkload
Nattapat Chaimanowong [Wed, 17 Oct 2018 10:12:19 +0000 (11:12 +0100)]
IVGCVSW-1951 Remove type templating from NeonDepthwiseConvolutionWorkload

Change-Id: I411d02949524eb802672d83ee281300c34b007c8

5 years agoIVGCVSW-1951 Remove type templating from NeonConvolution2dWorkload
Nattapat Chaimanowong [Mon, 15 Oct 2018 14:07:34 +0000 (15:07 +0100)]
IVGCVSW-1951 Remove type templating from NeonConvolution2dWorkload

Change-Id: Id3d8137d60b14e93863ad5b6db752a7f6ef9b7fb

5 years agoIVGCVSW-2022 : fix for backend cmake files to respect BUILD_UNIT_TESTS variable
David Beck [Tue, 16 Oct 2018 11:58:49 +0000 (12:58 +0100)]
IVGCVSW-2022 : fix for backend cmake files to respect BUILD_UNIT_TESTS variable

Change-Id: I8d34419742152edd50f1ec438e32d3ccc4f38351

5 years agoFixed unsigned to signed conversion warning
Kohei Takahashi [Fri, 31 Aug 2018 08:53:11 +0000 (17:53 +0900)]
Fixed unsigned to signed conversion warning

Change-Id: I6ff147e4418e8d0252bedfd1cf4a3bc3bc38ada7

5 years agoIVGCVSW-2018 Support NHWC in the current ref implementation
Matteo Martincigh [Tue, 16 Oct 2018 15:23:33 +0000 (16:23 +0100)]
IVGCVSW-2018 Support NHWC in the current ref implementation

 * Enabled the now supported ref layer tests
 * Re-enabled the failing test now that the bug has been fixed in
   ACL 1903a9976ae24f40cb2203364211ed62fcfbb985
 * Added CreateWorkload test for ref L2Normalization NHWC
 * Refactoring the ref L2Normalization for clarity

!armnn:153723

Change-Id: Id0067e49072b3e057ffe3ae3b70d928be6091c0f

5 years agoIVGCVSW-1951 Update NeonWorkloadUtils
Nattapat Chaimanowong [Tue, 16 Oct 2018 12:21:27 +0000 (13:21 +0100)]
IVGCVSW-1951 Update NeonWorkloadUtils

Change-Id: I147dbf6811f84ec4588264d636a36efc8ec56f72

5 years agoIVGCVSW-2018 Support NHWC in the current ref implementation
Matteo Martincigh [Tue, 16 Oct 2018 15:17:34 +0000 (16:17 +0100)]
IVGCVSW-2018 Support NHWC in the current ref implementation

 * Added NHWC support to TensorBufferArrayView class

Change-Id: I41e1d0acd226a471ec834e380389631d9236cb00

5 years agoIVGCVSW-1998 : indicate deprecated functions and types in the public API
David Beck [Tue, 16 Oct 2018 10:32:20 +0000 (11:32 +0100)]
IVGCVSW-1998 : indicate deprecated functions and types in the public API

Change-Id: I60644cead5087c2012b663512fb9448dd31523af

5 years agoRestored test that was commented out when working on LSTM
Matteo Martincigh [Tue, 16 Oct 2018 08:45:08 +0000 (09:45 +0100)]
Restored test that was commented out when working on LSTM

Change-Id: I161a832e4e53cf014a3d57784bd2f0bffbd633b5

5 years agoIVGCVSW-2003: Get rid of IsLayerSupportedNeon functions in favor of ILayerSupport...
Aron Virginas-Tar [Mon, 15 Oct 2018 14:00:13 +0000 (15:00 +0100)]
IVGCVSW-2003: Get rid of IsLayerSupportedNeon functions in favor of ILayerSupport interface

Change-Id: I03985ff678acf9393680340638a2e1f425b9966f

5 years agoIVGCVSW-2002: Get rid of IsLayerSupportedCl functions in favor of ILayerSupport interface
Aron Virginas-Tar [Mon, 15 Oct 2018 10:47:37 +0000 (11:47 +0100)]
IVGCVSW-2002: Get rid of IsLayerSupportedCl functions in favor of ILayerSupport interface

Change-Id: Ic9172a5534eb243f3467996dd30c4400bc06224e

5 years agoIVGCVSW-1885 add RefPadWorkload implementation and associated unit tests
Mohamed Nour Abouelseoud [Fri, 12 Oct 2018 11:26:24 +0000 (12:26 +0100)]
IVGCVSW-1885 add RefPadWorkload implementation and associated unit tests

 * Added RefPadWorkload implementation
 * Added unit tests and applied them to CL and Ref backends
 * Fixed a bug in ClPadWorkload

Change-Id: I8cb76bc9d60ae8a39b08d40f05d628e3b72f6410

5 years agoIVGCVSW-2004: Get rid of IsLayerSupportedRef functions in favor of ILayerSupport...
Aron Virginas-Tar [Mon, 15 Oct 2018 10:11:51 +0000 (11:11 +0100)]
IVGCVSW-2004: Get rid of IsLayerSupportedRef functions in favor of ILayerSupport interface

Change-Id: Ia147a0b408b2ca951c214963432d6e0f9b27b973

5 years agoIVGCVSW-1998 : replace Compute enum in LayerSupport free functions
David Beck [Fri, 12 Oct 2018 09:38:31 +0000 (10:38 +0100)]
IVGCVSW-1998 : replace Compute enum in LayerSupport free functions

!android-nn-driver:153490

Change-Id: I1c2a5f942e3a1c3626e093c90545ca27c64ba5e8

5 years agoIVGCVSW-1951 Remove type templating from NeonConstantWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 11:02:18 +0000 (12:02 +0100)]
IVGCVSW-1951 Remove type templating from NeonConstantWorkload

Change-Id: Ib831f02ab6b5d96f1a959187d8f3e694e6257ae5

5 years agoIVGCVSW-2006: Move ACL memory manager source code under aclCommon
Aron Virginas-Tar [Fri, 12 Oct 2018 14:18:03 +0000 (15:18 +0100)]
IVGCVSW-2006: Move ACL memory manager source code under aclCommon

Change-Id: Ie1c74a18de5c3dd1cd5285c222bd6327489c1508

5 years agoIVGCVSW-1938: Move backend-specific source files to the corresponding backend
Aron Virginas-Tar [Fri, 12 Oct 2018 12:00:55 +0000 (13:00 +0100)]
IVGCVSW-1938: Move backend-specific source files to the corresponding backend

Change-Id: I558a9a007604afc55e536d877f8da7d0215cc9c3

5 years agoIVGCVSW-1998: fix missing file from common.cmake
David Beck [Mon, 15 Oct 2018 09:33:33 +0000 (10:33 +0100)]
IVGCVSW-1998: fix missing file from common.cmake

Change-Id: I47d9b3a3d77ca2d789c82e57579470c09a662416

5 years agoMLCE-51 MaxPool + Add Unit test
Éanna Ó Catháin [Fri, 12 Oct 2018 13:24:13 +0000 (14:24 +0100)]
MLCE-51 MaxPool + Add Unit test

Change-Id: Id1619ce72a862841439b68e51113febfb0e38fcc

5 years agoIVGCVSW-1951 Remove type templating from NeonPermuteWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 13:14:44 +0000 (14:14 +0100)]
IVGCVSW-1951 Remove type templating from NeonPermuteWorkload

Change-Id: I4b3247fc7c5eb1c0cec5cf22c56d4c7a3f36d51a

5 years agoIVGCVSW-1951 Remove type templating from NeonPooling2dWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 15:03:56 +0000 (16:03 +0100)]
IVGCVSW-1951 Remove type templating from NeonPooling2dWorkload

Change-Id: I65129a72d7585776797cfe0947a2a0f1f483b72f

5 years agoIVGCVSW-1951 Remove type templating from NeonSplitterWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 14:09:53 +0000 (15:09 +0100)]
IVGCVSW-1951 Remove type templating from NeonSplitterWorkload

Change-Id: Iace26e575d8eca50cc81a881b7bb5be46b00f1dc

5 years agoIVGCVSW-1951 Remove type templating from NeonReshapeWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 15:30:56 +0000 (16:30 +0100)]
IVGCVSW-1951 Remove type templating from NeonReshapeWorkload

Change-Id: I90bf3baaad725d121ca864b7a7bb0c74abb69daf

5 years agoIVGCVSW-1922 Unit test for DepthwiseConvolution with NHWC
Nikhil Raj [Fri, 12 Oct 2018 12:51:57 +0000 (13:51 +0100)]
IVGCVSW-1922 Unit test for DepthwiseConvolution with NHWC

Change-Id: I3e6e5b9a62f30d03c05bd7178adea8f4c8275da8

5 years agoIVGCVSW-1951 Remove type templating from NeonMergerWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 12:54:09 +0000 (13:54 +0100)]
IVGCVSW-1951 Remove type templating from NeonMergerWorkload

Change-Id: I284a9aa6865cdbd6975c54b011d2cec15a174e79

5 years agoIVGCVSW-1951 Remove type templating from NeonActivationWorkload
Nattapat Chaimanowong [Fri, 12 Oct 2018 10:21:49 +0000 (11:21 +0100)]
IVGCVSW-1951 Remove type templating from NeonActivationWorkload

Change-Id: I564a743b4d90ae5364c5958eed3fbfba97782b80

5 years agoIVGCVSW-1951 Remove type templating from ClReshapeWorkload
Nattapat Chaimanowong [Thu, 11 Oct 2018 09:29:15 +0000 (10:29 +0100)]
IVGCVSW-1951 Remove type templating from ClReshapeWorkload

Change-Id: I5349629bc5b36e5b5029a158bf888c09c3bda4b0

5 years agoIVGCVSW-1951 Remove type templating from ClPooling2dWorkload
Nattapat Chaimanowong [Wed, 10 Oct 2018 16:18:35 +0000 (17:18 +0100)]
IVGCVSW-1951 Remove type templating from ClPooling2dWorkload

Change-Id: Iaa3158487b58964d8a3b98acadde7c10172a3860

5 years agoIVGCVSW-1951 Remove type templating from ClMergerWorkload
Nattapat Chaimanowong [Thu, 11 Oct 2018 15:16:17 +0000 (16:16 +0100)]
IVGCVSW-1951 Remove type templating from ClMergerWorkload

Change-Id: I8580f5d1612567a3b02cfccfd1f8d0f196eeda93

5 years agoIVGCVSW-1951 Remove type templating from ClActivationWorkload
Nattapat Chaimanowong [Thu, 11 Oct 2018 14:39:18 +0000 (15:39 +0100)]
IVGCVSW-1951 Remove type templating from ClActivationWorkload

Change-Id: I200adcef35b861a412e7beef8043d5c7dddba443

5 years agoIVGCVSW-1978: Support NHWC for ResizeBilinear CpuRef
James Conroy [Thu, 11 Oct 2018 11:39:05 +0000 (12:39 +0100)]
IVGCVSW-1978: Support NHWC for ResizeBilinear CpuRef

* Adds implementation to plumb DataLayout parameter
  for ResizeBilinear on CpuRef.
* Adds unit tests to execute ResizeBilinear on CpuRef
  using the NHWC data layout.
* Adds DataLayoutIndexed API, allowing easy access to
  the Channels, Height and Width of a tensor based on
  its data layout. This reduces code duplication.
* Refactors original ResizeBilinear implementation and
  tests to use the DataLayoutIndexed API when required.

Change-Id: Ic2b8916cdd2e370d070175547079d774daf6d7bf

5 years agoIVGCVSW-1996: Implement CreateWorkloadFactory() across all internal backends
arovir01 [Thu, 11 Oct 2018 14:00:58 +0000 (15:00 +0100)]
IVGCVSW-1996: Implement CreateWorkloadFactory() across all internal backends

Change-Id: If0a2f010a7a45735ea37c07a5ee1f2398afb9b8b

5 years agoIVGCVSW-1951 Remove type templating from ClConstantWorkload
Nattapat Chaimanowong [Wed, 10 Oct 2018 13:51:27 +0000 (14:51 +0100)]
IVGCVSW-1951 Remove type templating from ClConstantWorkload

Change-Id: Ib2c9fe56c59aedabeff899a81a0afe260bd57c9f

5 years agoIVGCVSW-1969 : remove boost::optional compatibility from ArmNN Optional
David Beck [Thu, 11 Oct 2018 14:47:00 +0000 (15:47 +0100)]
IVGCVSW-1969 : remove boost::optional compatibility from ArmNN Optional

* because it was added by mistake, assuming it was released in 18.08
  which is not the case

Change-Id: I9c288eba56f3f6192007f79db884b255a14456e4

5 years agoIVGCVSW-2000: (Fix) Backend-specific unit tests not being executed
Matteo Martincigh [Thu, 11 Oct 2018 16:39:30 +0000 (17:39 +0100)]
IVGCVSW-2000: (Fix) Backend-specific unit tests not being executed

 * Also disabled the Compute_ArmComputeCl/L2Normalization1dNhwc test as it
   fails due to a bug in ACL

Change-Id: If1e36bc04f606e6568e6a13cc77f8f51f5834997

5 years agoIVGCVSW-1914 Investigate CONV_2D failure on FP16 on Android
Sadik Armagan [Thu, 11 Oct 2018 14:26:57 +0000 (15:26 +0100)]
IVGCVSW-1914 Investigate CONV_2D failure on FP16 on Android
 * Round to nearest instead of round to intermediate (default)
 * Compute Library also round to nearest

Change-Id: I0c71e2ffd28e4e662188fd47d26ec8b538d4ba21

5 years agoIVGCVSW-1951 Remove type templating from ClPermuteWorkload
Nattapat Chaimanowong [Wed, 10 Oct 2018 14:47:15 +0000 (15:47 +0100)]
IVGCVSW-1951 Remove type templating from ClPermuteWorkload

Change-Id: Ibd12e04abe71015f31ee36a7f0a2416cb625cdad

5 years agoIVGCVSW-1951 remove type templating from ClPadWorkload
Nattapat Chaimanowong [Tue, 9 Oct 2018 16:05:24 +0000 (17:05 +0100)]
IVGCVSW-1951 remove type templating from ClPadWorkload

Change-Id: I8182f781369956ca96562777f170ef677f831e4e

5 years agoIVGCVSW-1967 Fix L2Norm NHWC unit test
Matteo Martincigh [Tue, 9 Oct 2018 17:19:20 +0000 (18:19 +0100)]
IVGCVSW-1967 Fix L2Norm NHWC unit test

 * Applying the proper tensor shape during the tests depending on
   the specific data layout used

Change-Id: I9c6c1e077236e84cecc1e10d7b2d0bd901df3ebd

5 years agoIVGCVSW-1952 : add BackendId class to prepare for the replacement of Compute enum
David Beck [Wed, 10 Oct 2018 14:11:44 +0000 (15:11 +0100)]
IVGCVSW-1952 : add BackendId class to prepare for the replacement of Compute enum

!armnn:152674

Change-Id: I1bcdfdfbfb73e502d58f35717e2558e24651013c

5 years agoIVGCVSW-1989 : implement backend creation and registry for Ref,Cl and Neon
David Beck [Tue, 9 Oct 2018 16:20:21 +0000 (17:20 +0100)]
IVGCVSW-1989 : implement backend creation and registry for Ref,Cl and Neon

!armnn:152557

Change-Id: Ic6b99cddee1597c85de76034d9332fe1bf3aceb1

5 years agoIVGCVSW-1987 : registry for backend creation functions (factories)
David Beck [Tue, 9 Oct 2018 14:46:08 +0000 (15:46 +0100)]
IVGCVSW-1987 : registry for backend creation functions (factories)

Change-Id: I13d2d3dc763e1d05dffddb34472bd4f9e632c776

5 years agoIVGCVSW-1988: Refactor backend-specific unit tests
arovir01 [Tue, 9 Oct 2018 17:04:24 +0000 (18:04 +0100)]
IVGCVSW-1988: Refactor backend-specific unit tests

Change-Id: I8eca81d2e0780390eaa837c186ffe1c7d41fdebe

5 years agoFix for Github issue #78
Matthew Bentham [Thu, 11 Oct 2018 08:47:01 +0000 (09:47 +0100)]
Fix for Github issue #78

Always use the Compute Library OpenCL stubs for linking,
but do not add the location to the runtime library path.

Change-Id: Ifc2fbec20183af1babf1167a8711e6709ad33210

5 years agoIVGCVSW-1951-Remove type templating from ClAdditionWorkload
Nattapat Chaimanowong [Wed, 10 Oct 2018 11:11:50 +0000 (12:11 +0100)]
IVGCVSW-1951-Remove type templating from ClAdditionWorkload

Change-Id: Ic16c4505bac9c9025856aa4eac1127ad957c9d75

5 years agoIVGCVSW-1929: Fix for this defect (QASYM8 no scale)
jimfly01 [Mon, 8 Oct 2018 13:43:01 +0000 (14:43 +0100)]
IVGCVSW-1929: Fix for this defect (QASYM8 no scale)

* Now hand in an optional vector of strings to Optimize
  function in which errors/warning messages are placed.
* Optimize function changed to check outputs of each
  layer. If they are Quantized 8 bit but the scale has
  not been set an error message is added for each such output.
* Unit test modelled on defect report added to exercise the fix.

!android-nn-driver:152483

Change-Id: If9901f5324a516f1ab62858266b38f98dae16201

5 years agoIVGCVSW-1974 - Update CreateWorkload test CL and Neon
Francis Murtagh [Tue, 9 Oct 2018 15:22:33 +0000 (16:22 +0100)]
IVGCVSW-1974 - Update CreateWorkload test CL and Neon

Change-Id: Ie02ccbd5945cbacd609b3b5d8d746c202c8e9c69

5 years agoIVGCVSW-1982 - add create workload test for 2D Pooling (NHWC data layout)
Nina Drozd [Tue, 9 Oct 2018 11:09:56 +0000 (12:09 +0100)]
IVGCVSW-1982 - add create workload test for 2D Pooling (NHWC data layout)

Change-Id: Ief0c91ba9abc2578944860ddbd3c19e2bad465bd

5 years agoIVGCVSW-1860 Support NHWC for Pooling2D
Francis Murtagh [Fri, 5 Oct 2018 13:08:48 +0000 (14:08 +0100)]
IVGCVSW-1860 Support NHWC for Pooling2D

Change-Id: I9059a292e47867df82a5efbba5808fd264949ec9

5 years agoIVGCVSW-1964: Cl implementation for the ILayerSupport interface
arovir01 [Tue, 9 Oct 2018 10:16:46 +0000 (11:16 +0100)]
IVGCVSW-1964: Cl implementation for the ILayerSupport interface

Change-Id: I04bd5e069b220712adbeaebdaede2061ba8c0eb4

5 years agoIVGCVSW-1965: Neon implementation for the ILayerSupport interface
arovir01 [Tue, 9 Oct 2018 08:40:58 +0000 (09:40 +0100)]
IVGCVSW-1965: Neon implementation for the ILayerSupport interface

Change-Id: I52f4b44cf3959f49d1066ff7f4b3c1f7682894c9

5 years agoIVGCVSW-1985: Replace std::string* reasonIfNotSupported with Optional<std::string...
arovir01 [Mon, 8 Oct 2018 13:48:19 +0000 (14:48 +0100)]
IVGCVSW-1985: Replace std::string* reasonIfNotSupported with Optional<std::string&> in IsLayerSupported implementations

Change-Id: I2f054f0dcff9bdc86ee90c55b3e94c6b4ae25085