platform/upstream/armnn.git
5 years agoFix for Github issue #103
Matthew Bentham [Mon, 19 Nov 2018 11:28:58 +0000 (11:28 +0000)]
Fix for Github issue #103

Use CMAKE_THREAD_LIBS_INIT instead of pthread in sample_app.
The separate pthread library doesn't exist on Android.

Change-Id: I9a363ba7d29d2673359349f5f4288844f0550946

5 years agoChanged the mode of generate_tensorflow_protobuf.sh to executable
Matteo Martincigh [Mon, 19 Nov 2018 09:39:16 +0000 (09:39 +0000)]
Changed the mode of generate_tensorflow_protobuf.sh to executable

Change-Id: I0042395b46906f70d09a16b4122af3d911f5a53d

5 years agoIVGCVSW-2115: Updated README.md
jimfly01 [Mon, 19 Nov 2018 11:00:42 +0000 (11:00 +0000)]
IVGCVSW-2115: Updated README.md

* Added line to README.md explaining the function of the get_compute_library.sh script

Change-Id: If6be1c64443dcd6d0a08a12485de3d38614542f0

5 years agoIVGCVSW-2115: Script to clone/fetch correct clframework
jimfly01 [Thu, 15 Nov 2018 15:46:11 +0000 (15:46 +0000)]
IVGCVSW-2115: Script to clone/fetch correct clframework

* Script designed to be invoked from anywhere clones clframework
  relative to where the script source is located in armnn/scripts
* Allows user to specify GITHUB_USERNAME on command line with -g option
  otherwise will set this value to $USER

Change-Id: I34ee0d936152e94ff16b9bd7751c3da7248c9150

5 years agoIVGCVSW-2155 - Always call NEConvolutionLayer in NeonConvolution2dWorkload
narpra01 [Fri, 16 Nov 2018 12:38:41 +0000 (12:38 +0000)]
IVGCVSW-2155 - Always call NEConvolutionLayer in NeonConvolution2dWorkload
 * Remove check for preferDirectConvolution
 * Remove IsNeonDirectConvolutionPreferred
 * Remove unused tests and functions

Change-Id: I3f0868f41403ec5fa740889e7bdcb4415ad77bda

5 years agoIVGCVSW-2017: CLWorkload to use L2Normalization
FrancisMurtagh [Fri, 16 Nov 2018 12:26:20 +0000 (12:26 +0000)]
IVGCVSW-2017: CLWorkload to use L2Normalization

* Changed ClL2Normalisation from using CLNormalizationLayer
  to use CLL2NormalizeLayer to normalise along the channel axis
  in either NCHW or NHWC format.

Change-Id: I399cbee408a277d1ef8c6c85ebcbd86d6c3e407b

5 years agoIVGCVSW-2158 BuildGuideCrossCompilation.md wrong protobuf version
Ferran Balaguer [Fri, 16 Nov 2018 11:56:01 +0000 (11:56 +0000)]
IVGCVSW-2158 BuildGuideCrossCompilation.md wrong protobuf version

Change-Id: Ibe826db4412c54aba42c45c155e7e5329861bdb1

5 years agoIVGCVSW-2162: Remove conditional compilation directives from ArmComputeUtils
Aron Virginas-Tar [Fri, 16 Nov 2018 11:00:48 +0000 (11:00 +0000)]
IVGCVSW-2162: Remove conditional compilation directives from ArmComputeUtils

Change-Id: Ie2f134fd51de919c50fa9d8d82bbb4ed4ee46469

5 years agoIVGCVSW-2157: Remove conditional compilation directives from ClBackendContext
Aron Virginas-Tar [Fri, 16 Nov 2018 10:26:23 +0000 (10:26 +0000)]
IVGCVSW-2157: Remove conditional compilation directives from ClBackendContext

Change-Id: I0b9818c3bc09101aa6563ea8e4a886483d3b09d1

5 years agoIVGCVSW-2092 Port LSTMCell::Eval to ArmNN
Matteo Martincigh [Wed, 14 Nov 2018 12:39:55 +0000 (12:39 +0000)]
IVGCVSW-2092 Port LSTMCell::Eval to ArmNN

 * Ported Google's LSTM implementation to RefLstmFloat32Workload
 * Fixed the code throughout because of an error in the docs around the
   scratch buffer size
 * Updated IsLstmSupported
 * Added the unit tests

!android-nn-driver:127

Change-Id: I5577b7e39ca52df1a7f102a9b437df6aa99520b6

5 years agoIVGCVSW-2156: Remove conditional compilation directives from ClContextControl
Aron Virginas-Tar [Thu, 15 Nov 2018 17:44:36 +0000 (17:44 +0000)]
IVGCVSW-2156: Remove conditional compilation directives from ClContextControl

Change-Id: I812d09a869fe7c45ce71108fb675f3e2d974e2d9

5 years agoIVGCVSW-2134: Updating version number to 18.11
keidav01 [Thu, 15 Nov 2018 14:43:23 +0000 (14:43 +0000)]
IVGCVSW-2134: Updating version number to 18.11

Change-Id: I7cbfd5a6ab0746e0351b64a45617ed089992c1a9

5 years agoAdedd load/unload warm-up before the memory lek test to put the runtime into a
Matteo Martincigh [Thu, 15 Nov 2018 10:54:54 +0000 (10:54 +0000)]
Adedd load/unload warm-up before the memory lek test to put the runtime into a
stable test (memory-wise)
This prevents false-positives when running the tests on Master

Change-Id: I4348378f3689cb3ec98686a93315d2b88bb7bcc7

5 years agoIVGCVSW-2086: Add StridedSlice layer & corresponding no-op factory implementations
Conor Kennedy [Wed, 14 Nov 2018 15:28:28 +0000 (15:28 +0000)]
IVGCVSW-2086: Add StridedSlice layer & corresponding no-op factory implementations

Change-Id: I906dcb8b4c9b491bf3a661f208c09d0ea1c0fa35

5 years agoIVGCVSW-2136: Remove memory management methods from workload factories
Aron Virginas-Tar [Wed, 14 Nov 2018 18:35:18 +0000 (18:35 +0000)]
IVGCVSW-2136: Remove memory management methods from workload factories

Change-Id: Idc0f94590566ac362f7e1d1999361d025cc2f67a

5 years agoIVGCVSW-2064 + IVGCVSW-2066 + IVGCVSW-2125 + IVGCVSW-2128 backend docs update
David Beck [Wed, 14 Nov 2018 11:33:30 +0000 (11:33 +0000)]
IVGCVSW-2064 + IVGCVSW-2066 + IVGCVSW-2125 + IVGCVSW-2128 backend docs update

Change-Id: Iccc1272e59bd71c59f810a54d6d3742859789212

5 years agoFixed minor typos in BuildGuideCrossCompilation.md
Matteo Martincigh [Wed, 14 Nov 2018 15:34:14 +0000 (15:34 +0000)]
Fixed minor typos in BuildGuideCrossCompilation.md

Change-Id: I4d02a6cca8e99d70a389ca3b0ce47fb7f15ed21f

5 years agoIVGCVSW-2152: Convert TfLiteParser to NHWC
jimfly01 [Wed, 14 Nov 2018 17:47:22 +0000 (17:47 +0000)]
IVGCVSW-2152: Convert TfLiteParser to NHWC

* Removed the convertFromTfToArmnnFormat flag from the
  CreateConstTensor and CreateConstTensorImpl functions
* Removed the SwizzleInDeswizzleOut function and its invocations
  in the ParseConv2D, ParseDepthwiseConv2D and ParsePool functions.

Change-Id: Id935e28ab6eff4731f838af9490d016e108f6df6

5 years agoIVGCVSW-2125 : Consolidate backend registries into one
jimfly01 [Wed, 14 Nov 2018 14:52:40 +0000 (14:52 +0000)]
IVGCVSW-2125 : Consolidate backend registries into one

* adding missing include <functional> into BackendRegistry.hpp

Change-Id: I7a4ba867a856c90a3099a782ff41b8a5fb9a9efb

5 years agoIVGCVSW-2054: Fixing issue with InferOutputShape implementation in BatchToSpaceNdLayer.
Éanna Ó Catháin [Wed, 14 Nov 2018 11:26:23 +0000 (11:26 +0000)]
IVGCVSW-2054: Fixing issue with InferOutputShape implementation in BatchToSpaceNdLayer.
    * added Unit test

Change-Id: I80f55e8c7afb39d96006c8dd027fc9683ea8182e

5 years agoIVGCVSW-2017: Refactored L2Normalisation Tests
jimfly01 [Mon, 12 Nov 2018 13:32:08 +0000 (13:32 +0000)]
IVGCVSW-2017: Refactored L2Normalisation Tests

* L2Normalisation Tests now take the layout as an argument.

Change-Id: Ib393889eedb3a81c9a500da91593e90a18549c33

5 years agoIVGCVSW-2066: Add IMemoryManager and integrate into the backends framework
Aron Virginas-Tar [Mon, 12 Nov 2018 18:10:43 +0000 (18:10 +0000)]
IVGCVSW-2066: Add IMemoryManager and integrate into the backends framework

Change-Id: I93223c8678165cbc3d39f461c36bb8610dc81c05

5 years agoTidying up multiple issues
Éanna Ó Catháin [Mon, 12 Nov 2018 17:14:43 +0000 (17:14 +0000)]
Tidying up multiple issues

* Fixed error in InferOutputShape implementation
* Added better error checking to the BatchToSpace implementation.
* Added defaults to the batchToSpace descriptors.
* Changed crops to be a vector of pairs to align with the SpaceToBatch implementation

Change-Id: Ib1c16d871f0898a1caeb6629c1fee6380a773e14

5 years agoIVGCVSW-2125 : Consolidate backend registries into one
David Beck [Mon, 12 Nov 2018 14:59:37 +0000 (14:59 +0000)]
IVGCVSW-2125 : Consolidate backend registries into one

Change-Id: I56da4780f8f5fcef7ff01d232d5d61bf299364bf

5 years agoIVGCVSW-2054: BATCH_TO_SPACE_ND Reference implementation and Unit tests.
Éanna Ó Catháin [Mon, 12 Nov 2018 11:36:34 +0000 (11:36 +0000)]
IVGCVSW-2054: BATCH_TO_SPACE_ND Reference implementation and Unit tests.

Change-Id: I13c6728dbb60643d0e086d171225c5d802987f92

5 years agoIVGCVSW-2082 - add SimpleConvolution2dAsymmetricPaddingNhwc to CL test after ACL...
narpra01 [Fri, 9 Nov 2018 09:27:31 +0000 (09:27 +0000)]
IVGCVSW-2082 - add SimpleConvolution2dAsymmetricPaddingNhwc to CL test after ACL fix the convolution issue.

Change-Id: If72f6f4e32567bcfa4af13836e411a3199ede010

5 years agoIVGCVSW-2125 : backends now can return optimizations
David Beck [Fri, 9 Nov 2018 14:46:40 +0000 (14:46 +0000)]
IVGCVSW-2125 : backends now can return optimizations

Change-Id: Ieec34224b433e1d2f3bbe66632cd6016cac5498c

5 years agoIVGCVSW-2095 Add reference implementation and unit tests for SpaceToBatchNd
Nattapat Chaimanowong [Fri, 9 Nov 2018 14:10:38 +0000 (14:10 +0000)]
IVGCVSW-2095 Add reference implementation and unit tests for SpaceToBatchNd

Change-Id: I27ffebdece6e68460931a44c15b9b029f9fce638

5 years agoIVGCVSW-2056+IVGCVSW-2064 : move ClContextControl to the ClBackend
David Beck [Thu, 8 Nov 2018 09:19:14 +0000 (09:19 +0000)]
IVGCVSW-2056+IVGCVSW-2064 : move ClContextControl to the ClBackend

* add IBackendContext interface
* add ClBackendContext implementation

Change-Id: I13e4d12b73d4c7775069587675276f7cee7d630b

5 years agoIVGCVSW-1709: Clean up memory manager bodge
Aron Virginas-Tar [Wed, 31 Oct 2018 11:04:01 +0000 (11:04 +0000)]
IVGCVSW-1709: Clean up memory manager bodge

 * Added quick workaround for the memory management errors in the
   CL/Neon unit tests

Change-Id: I56250db462cdbdc1acc0a5824807d288fb0c1d11

5 years agoIVGCVSW-2037 : Documenting pluggable backends
David Beck [Tue, 6 Nov 2018 13:40:29 +0000 (13:40 +0000)]
IVGCVSW-2037 : Documenting pluggable backends

also in IVGCVSW-2019 + IVGCVSW-2005 + IVGCVSW-1987 IVGCVSW-1642

Change-Id: I33809fd2f30aac248ec45f070f717b8dcf5de3cf

5 years agoIVGCVSW-1949 : Refactor ITensorHandle and move backend specifics to their place
David Beck [Tue, 30 Oct 2018 11:38:41 +0000 (11:38 +0000)]
IVGCVSW-1949 : Refactor ITensorHandle and move backend specifics to their place

Change-Id: I48242425c6a6856e13ebcee1b140cbd2af94a3aa

5 years agoRevert "IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend"
David Beck [Mon, 5 Nov 2018 13:40:33 +0000 (13:40 +0000)]
Revert "IVGCVSW-2056 + IVGCVSW-2064 : move ClContextControl to the ClBackend"

This reverts commit d4dfa684941a21314b70593d01b0fc2167eebad4.

Change-Id: Id61ce69215505c3cf5d30ec2a7ec9127fb2554fc

6 years agoIVGCVSW-2113: Update ClDepthWiseConvolutionWOrkload to suit NCHW/NHWC DataLayout...
saoste01 [Mon, 5 Nov 2018 12:30:23 +0000 (12:30 +0000)]
IVGCVSW-2113: Update ClDepthWiseConvolutionWOrkload to suit NCHW/NHWC DataLayout (3*3 Optimization)

Change-Id: Icfc137201c52e2c856076b7795572cc4ba75cc95

6 years agoIVGCVSW-1946: Remove armnn/src from the include paths
Aron Virginas-Tar [Thu, 1 Nov 2018 16:15:57 +0000 (16:15 +0000)]
IVGCVSW-1946: Remove armnn/src from the include paths

Change-Id: I663a0a0fccb43ee960ec070121a59df9db0bb04e

6 years agoIVGCVSW-2093 Add SpaceToBatchNd layer and corresponding no-op factory implementations
Nattapat Chaimanowong [Fri, 2 Nov 2018 10:57:25 +0000 (10:57 +0000)]
IVGCVSW-2093 Add SpaceToBatchNd layer and corresponding no-op factory implementations

Change-Id: Ibd457f3a2d4342c4d6335bd3c471282a14ab6b14

6 years agoIVGCVSW-2103: Add 2-Channel unit tests ResizeBilinear
James Conroy [Thu, 1 Nov 2018 11:33:09 +0000 (11:33 +0000)]
IVGCVSW-2103: Add 2-Channel unit tests ResizeBilinear

* Modifies ResizeBilinear unit tests to use 2-Channel
  tensor shapes for input and output data, to improve
  test coverage when exercising NHWC data layout.
* Refactors unit tests to permute input and output
  data when exercising NHWC data layout.

Change-Id: Ib7fb438cac23e78ff0104c895c3b7596bf7c3aa7

6 years agoIVGCVSW-2074: Updated the DepthwiseConvolution2dDepthMul1 for NHWC
jimfly01 [Fri, 26 Oct 2018 15:50:13 +0000 (16:50 +0100)]
IVGCVSW-2074: Updated the DepthwiseConvolution2dDepthMul1 for NHWC

Change-Id: Ibaa0b909680a6f2a155e4ca6fa24e1144d6e6e73

6 years agoIVGCVSW-2074: Updated CompareDepthwiseConvolution2dTest for NHWC
jimfly01 [Wed, 31 Oct 2018 14:43:53 +0000 (14:43 +0000)]
IVGCVSW-2074: Updated CompareDepthwiseConvolution2dTest for NHWC

Change-Id: Ib0568024b4f43ae17e6c75ac35d31cf103ce3482

6 years agoIVGCVSW-1970 TfLite VGG16: Use same number of iterations as other tests
Matthew Bentham [Tue, 30 Oct 2018 17:33:19 +0000 (17:33 +0000)]
IVGCVSW-1970 TfLite VGG16: Use same number of iterations as other tests

I had forgotten that as a workaround for the testing using a different
number of test cases for different hardware backends, we repeat
the expected test results an arbitrary number of times

Change-Id: I4d1ea8daa1cbfd63ebcd7ac93ac30acb5806fafe

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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