platform/upstream/armnn.git
5 years agoIVGCVSW-2333 Add ParseSub method to TfParser
jimfly01 [Tue, 4 Dec 2018 17:47:22 +0000 (17:47 +0000)]
IVGCVSW-2333 Add ParseSub method to TfParser

* Also added unit test Sub.cpp

Change-Id: I6d23c11ae894ee433cd28ffdf0248b14e01b0131

5 years agoIVGCVSW-2275 Remove swizzling from ParseResizeBilinear
jimfly01 [Thu, 6 Dec 2018 16:19:52 +0000 (16:19 +0000)]
IVGCVSW-2275 Remove swizzling from ParseResizeBilinear

Change-Id: I0d02faf188f441f017967057f16f4661d321978a

5 years agoIVGCVSW-2277 Remove the input swizzling from ParsePooling2d
FrancisMurtagh [Thu, 6 Dec 2018 15:26:04 +0000 (15:26 +0000)]
IVGCVSW-2277 Remove the input swizzling from ParsePooling2d

 * Remove input swizzling from ParsePooling2D and add parameterized
   tests for NCHW, NHWC and Padding="SAME".

Change-Id: I4786fcc31b6ac46bf19d887f007963eb924f0f9f

5 years agoRemoved square kernel in range validation in CaffeParser
Mohamed Nour Abouelseoud [Thu, 6 Dec 2018 14:29:25 +0000 (14:29 +0000)]
Removed square kernel in range validation in CaffeParser
as validation assumptions should not be made and
should be handled by the backend

Change-Id: I1565daeb0abfdc0bb01981eab2a1937a5af7976e

5 years agoIVGCVSW-2193 ExpandDims operation implementation
Matteo Martincigh [Thu, 6 Dec 2018 09:06:29 +0000 (09:06 +0000)]
IVGCVSW-2193 ExpandDims operation implementation

 * Fix for a signedness error in Android 32 builds

Change-Id: Id909ee2d50f376782de3b80aaef503e08f6d1268

5 years agoIVGCVSW-2315 Add descriptor for Debug
Nattapat Chaimanowong [Wed, 5 Dec 2018 15:17:18 +0000 (15:17 +0000)]
IVGCVSW-2315 Add descriptor for Debug

Change-Id: I6b26c681989ef815752186f027a245ef8da7aea2

5 years agoIVGCVSW-2276: Remove the input swizzling in ParseLrn
ruoyan01 [Tue, 4 Dec 2018 18:24:08 +0000 (18:24 +0000)]
IVGCVSW-2276: Remove the input swizzling in ParseLrn

Change-Id: If5ef3dc426bd6fa5aab342dcece6e99f86e65dba

5 years agoIVGCVSW-2267 Remove the input swizzling from ParseFusedBatchNorm
Matteo Martincigh [Wed, 5 Dec 2018 13:10:45 +0000 (13:10 +0000)]
IVGCVSW-2267 Remove the input swizzling from ParseFusedBatchNorm

 * Removed the input swizzling when the data layout is NHWC
 * Split the unit test into NHWC and NCHW cases

Change-Id: I6b9fef70bc4ba5e01d14cbfaea3c842a289b0a0e

5 years agoIVGCVSW-2264 Remove input swizzling from ParseConv2D in the TF parser
Matteo Martincigh [Wed, 28 Nov 2018 16:22:36 +0000 (16:22 +0000)]
IVGCVSW-2264 Remove input swizzling from ParseConv2D in the TF parser

 * Removed the input swizzling when the data layout is NHWC
 * Permuting weights depending on the data layout used
 * Added getter methods to ParsedConstTfOperation to get the tensor
   info and the storage memory area, needed for swizzling the weights
 * Added unit tests for both NHWC and NCHW data layouts

Change-Id: I6543900c594417df630b2663d8551158b93b7836

5 years agoIVGCVSW-2193 ExpandDims operation implementation
Conor Kennedy [Wed, 5 Dec 2018 11:05:54 +0000 (11:05 +0000)]
IVGCVSW-2193 ExpandDims operation implementation

* Add ExpandDims operation to TfParser.cpp

Change-Id: Ifa756ae0667c11e3b6daec8f6dd4e54cac88d16a

5 years agoIVGCVSW-2296 Add ParsePad method to TfParser
jimfly01 [Tue, 4 Dec 2018 10:09:52 +0000 (10:09 +0000)]
IVGCVSW-2296 Add ParsePad method to TfParser

* Also added unit test armnnTfParser/test/Pad.cpp
* Added missing 'Pad' entry to GetLayerTypeAsCString(LayerType)
* Fixed the RefLayerSupport.IsPadSupported, now it returns true
* Small fix in Optimize. Only resolve stringstream to string once

Change-Id: Ieaa1886858a48cd761ac5f30454f73e44bdd4b8f

5 years agoIVGCVSW-2264 Move DataLayoutIndexed to armnnUtils
Matteo Martincigh [Wed, 28 Nov 2018 16:22:22 +0000 (16:22 +0000)]
IVGCVSW-2264 Move DataLayoutIndexed to armnnUtils

 * Since DataLayoutIndexed is now required in the TF parser, this
   changes move it to the armnnUtils library so that it'll be
   accessible by the armnnTfParser
 * Modified CMake files and Android.mk files accordingly

Change-Id: Ie2620359ef288aeff64cb9e9bec068a466eee0e9

5 years agoIVGCVSW-2251 Add support for Minimum operator in TfParser
Nattapat Chaimanowong [Tue, 4 Dec 2018 13:47:02 +0000 (13:47 +0000)]
IVGCVSW-2251 Add support for Minimum operator in TfParser

Change-Id: Ib84e5bde39d706c5125e0f84577195fc61107a4a

5 years agoIVGCVSW-2247 Adding a min Elementwise Workload and tests
Éanna Ó Catháin [Tue, 4 Dec 2018 10:29:06 +0000 (10:29 +0000)]
IVGCVSW-2247 Adding a min Elementwise Workload and tests

Change-Id: I017ca6c23b62a8978982de0ca4ad204cb8cf7c67

5 years agoIVGCVSW-2256 Add parser function in TensorFlow Parser (Maximum)
Sadik Armagan [Tue, 4 Dec 2018 10:02:08 +0000 (10:02 +0000)]
IVGCVSW-2256 Add parser function in TensorFlow Parser (Maximum)

 * Extended Maximum operator support in TF Parser
 * Added extra unit tests for Maximum operator in TF Parser

Change-Id: I68edb43b2a3105507f2f5f028ff0e35206965dca

5 years agoIVGCVSW-2315 Add DebugLayer and no-op factory method
Nattapat Chaimanowong [Mon, 3 Dec 2018 16:06:49 +0000 (16:06 +0000)]
IVGCVSW-2315 Add DebugLayer and no-op factory method

Change-Id: I5455b720565248ff94278e76887d63f8434a7b58

5 years agoIVGCVSW-2255 Add unit test for maximum reference workload
Éanna Ó Catháin [Mon, 3 Dec 2018 13:04:22 +0000 (13:04 +0000)]
IVGCVSW-2255 Add unit test for maximum reference workload
* Enable Maximum workload

Change-Id: I5f7786ff66f135f0c74935dbf5861e5a4239bcc8

5 years agoIVGCVSW-2118 L2Normalization ACL function used for Neon
FrancisMurtagh [Thu, 29 Nov 2018 17:13:36 +0000 (17:13 +0000)]
IVGCVSW-2118 L2Normalization ACL function used for Neon

* Changed NeonL2Normalisation to use NEL2NormalizeLayer to
  normalise along the channel axis in either NCHW or NHWC format

Change-Id: Ibaf119b6a3de3c0f80f94b1c5fe9a356cf1fbd0e

5 years agoIVGCVSW-2312 Update CL pin to include their L2Normalization Neon changes
FrancisMurtagh [Fri, 30 Nov 2018 17:18:55 +0000 (17:18 +0000)]
IVGCVSW-2312 Update CL pin to include their L2Normalization Neon changes

* Updated Revision number in the get_compute_library.sh to after the
  implementation of COMPMID-1645 NEL2Normalization for FP32/FP16 & NHWC

Change-Id: Id9f437e833aafdb83c76bec1ba3fe79fdbab1a69

5 years agoIVGCVSW-2254 Add Reference workload for Maximum
saoste01 [Wed, 28 Nov 2018 16:57:20 +0000 (16:57 +0000)]
IVGCVSW-2254 Add Reference workload for Maximum

Change-Id: Id7302c6b1df995ebe6eb8eb94bab38bee1b31b0b

5 years agoIVGCVSW-2245 Add Minimum Layer and no-op Factory implementation
kevmay01 [Thu, 29 Nov 2018 08:40:19 +0000 (08:40 +0000)]
IVGCVSW-2245 Add Minimum Layer and no-op Factory implementation

Change-Id: I03fa374fd9692d98257de709f8c3ad0a49c88b95

5 years agoIVGCVSW-2202 Refactoring Arithmetic* names to Elementwise* names for workloads and...
Éanna Ó Catháin [Wed, 28 Nov 2018 16:24:38 +0000 (16:24 +0000)]
IVGCVSW-2202 Refactoring Arithmetic* names to Elementwise* names for workloads and workload functions

Change-Id: I6f3fce12a55f7d38ceafcdfcd6b5181bf56e2c09

5 years agoIVGCVSW-2253 Add maximum layer and corresponding no-op factory implementation
Nattapat Chaimanowong [Wed, 28 Nov 2018 10:44:37 +0000 (10:44 +0000)]
IVGCVSW-2253 Add maximum layer and corresponding no-op factory implementation

Change-Id: I8964f5e8978c2d2a07734a381e3f7c656c22456a

5 years agoIVGCVSW-1199: BATCH_TO_SPACE_ND integrate Arm Compute CL
Mike Kelly [Wed, 28 Nov 2018 11:52:08 +0000 (11:52 +0000)]
IVGCVSW-1199: BATCH_TO_SPACE_ND integrate Arm Compute CL

Change-Id: Ic772acf481caed6e8a6b99f68a63dfc2a34c24dc

5 years agoIVGCVSW-2205 Fixed a bug in DepthWiseConv workload where NCHW layout was assumed
Mohamed Nour Abouelseoud [Tue, 27 Nov 2018 17:35:35 +0000 (17:35 +0000)]
IVGCVSW-2205 Fixed a bug in DepthWiseConv workload where NCHW layout was assumed

Includes a temporary workaround for COMPMID-1813

Change-Id: I3e5217281be072d5b61788ab8a75e818bbc5d247

5 years agoIVGCVSW-2087 Reference implementation and unit tests for StridedSlice
Nattapat Chaimanowong [Fri, 23 Nov 2018 15:33:41 +0000 (15:33 +0000)]
IVGCVSW-2087 Reference implementation and unit tests for StridedSlice

Change-Id: Ifeacc0adb4547c72537b9ea7a61bf3c4ec3673fa

5 years agoFix documentation for depthwise convolution
Rob Hughes [Wed, 21 Nov 2018 13:34:24 +0000 (13:34 +0000)]
Fix documentation for depthwise convolution

Change-Id: Ib2bf543fc4f855da94eb1d34a91637f7868321cd

5 years agoFix compile errors on Windows
Rob Hughes [Wed, 21 Nov 2018 09:55:52 +0000 (09:55 +0000)]
Fix compile errors on Windows

Change-Id: I40acb42360bfcda09485efb2a54144d8e35bdafb

5 years agoIVGCVSW-2199 Call Resize only if H and/or W changes
James Conroy [Mon, 26 Nov 2018 09:48:30 +0000 (09:48 +0000)]
IVGCVSW-2199 Call Resize only if H and/or W changes

* Wrap Resize function call with conditional checking
  if height and/or width need to be changed.

Change-Id: Ic33c3ed29cc985c147d29db8e9dd237ab9c741d1

5 years agoIVGCVSW-2141 BuildGuideCrossCompilation.md Documentation update
surmeh01 [Fri, 23 Nov 2018 14:10:54 +0000 (14:10 +0000)]
IVGCVSW-2141 BuildGuideCrossCompilation.md Documentation update
* Removed the usage of g++-5 as we can build it using later versions

Change-Id: I073c84868c8619aeb5e4bd3006b87d10b7fec37e

5 years agoIVGCVSW-2183 BuildGuideCrossCompilation.md Documentation update
FrancisMurtagh [Wed, 21 Nov 2018 16:44:12 +0000 (16:44 +0000)]
IVGCVSW-2183 BuildGuideCrossCompilation.md Documentation update

 * Removed confusing mention of Anaconda and CuDNN and reworded

Change-Id: I2e4d86704c6564b2d18cec191246edd15cde0905

5 years agoRefactor JSON printer test implementation
Aron Virginas-Tar [Thu, 22 Nov 2018 15:04:42 +0000 (15:04 +0000)]
Refactor JSON printer test implementation

Change-Id: Icc1de9b69d7bb74b6bf5a6a6f315cf07fe2c5223

5 years agoRefactor inlined utility functions in NetworkUtils
Aron Virginas-Tar [Wed, 21 Nov 2018 13:14:42 +0000 (13:14 +0000)]
Refactor inlined utility functions in NetworkUtils

Change-Id: I26fb13717f64c942b2648702c52be18be856042d

5 years agoIVGCVSW-2135: Update Readme to include links to new ONNX and TensorFlow Lite guides
Brian Joyce [Thu, 22 Nov 2018 09:58:27 +0000 (09:58 +0000)]
IVGCVSW-2135: Update Readme to include links to new ONNX and TensorFlow Lite guides

Change-Id: Ia040a6accb4ae07156b2e1ad0ebef12423f647ed

5 years agoIVGCVSW-2086 Update StridedSliceLayer and StridedSliceDescriptor
Nattapat Chaimanowong [Wed, 21 Nov 2018 16:48:17 +0000 (16:48 +0000)]
IVGCVSW-2086 Update StridedSliceLayer and StridedSliceDescriptor

Change-Id: Ifa88a879dd239f60ab27330d6b73859393828ef0

5 years agoIVGCVSW-1837: Enable broadcast tests for SUB CL/NEON Workload
Mohamed Nour Abouelseoud [Wed, 21 Nov 2018 10:35:17 +0000 (10:35 +0000)]
IVGCVSW-1837: Enable broadcast tests for SUB CL/NEON Workload

Enabled subtraction broadcasting tests for CL/NEON
Enabled Uint8 subtraction tests for CL

Change-Id: Id36c1530f967c77f5633616e8f491cac9547724b

6 years agoRemove leftover header from backendsCommon test
David Beck [Tue, 20 Nov 2018 16:52:31 +0000 (16:52 +0000)]
Remove leftover header from backendsCommon test

Change-Id: I3a6077ad9ded9002aea9c888daab68b6452bd235

6 years agoUpdated the CL pin to take in the fix for CLBatchToSpace
Matteo Martincigh [Tue, 20 Nov 2018 16:40:24 +0000 (16:40 +0000)]
Updated the CL pin to take in the fix for CLBatchToSpace

Change-Id: I2d5f017917b1c773ff3da96ab28de415c1e77c0d

6 years agoIVGCVSW-2173 - Add end to end layer test implementation and example usage
narpra01 [Tue, 20 Nov 2018 15:21:28 +0000 (15:21 +0000)]
IVGCVSW-2173 - Add end to end layer test implementation and example usage
 * Add CommonTestUtils
 * Add end to end layer test implementation
 * Add example usage for Merger layer on Ref, Cl, Neon

Change-Id: I8931136288cd68b80bcdad8f5ae087ae1a70a60a

6 years agoIVGCVSW-2179 : ArmNN Contirbutor Guide
David Beck [Tue, 20 Nov 2018 13:57:09 +0000 (13:57 +0000)]
IVGCVSW-2179 : ArmNN Contirbutor Guide

Change-Id: I4887e3509a7f406c80f7eb55c04bdf62395c6cf6

6 years agoIVGCVSW-1199 Disable auto-flattening of Compute Library tensors
Matthew Bentham [Tue, 20 Nov 2018 14:33:33 +0000 (14:33 +0000)]
IVGCVSW-1199 Disable auto-flattening of Compute Library tensors

This is one of the reasons why the tests in https://review.mlplatform.org/#/c/ml/armnn/+/237/
are failing (but not the only reason).

Change-Id: If485bade2a6dd013cba826cec71d748fc7747249

6 years agoIVGCVSW-2117 - BuildGuideCrossCompilation.md Documentation update
FrancisMurtagh [Tue, 20 Nov 2018 14:42:46 +0000 (14:42 +0000)]
IVGCVSW-2117 - BuildGuideCrossCompilation.md Documentation update

* Updated build guide to include instruction to copy
          libprotobuf.so.15 into the build folder before moving
          to arm64 machine.

Change-Id: Ia20691edc79ff59fa4147eafbbfd3997b2531317

6 years agoMinor improvements and changes in backends/README.md
Aron Virginas-Tar [Tue, 20 Nov 2018 14:31:13 +0000 (14:31 +0000)]
Minor improvements and changes in backends/README.md

Change-Id: I55e27c50953c5e3f0b43bcd7aa8643015480181d

6 years agoIVGCVSW-2144: Adding TensorUtils class
Nina Drozd [Mon, 19 Nov 2018 13:03:36 +0000 (13:03 +0000)]
IVGCVSW-2144: Adding TensorUtils class

* helper methods for creating TensorShape and TensorInfo objects

Change-Id: I371fc7aea08ca6bbb9c205a143ce36e8353a1c48

6 years agoIVGCVSW-2175 - Add support for uint8 Concatenation on CL
narpra01 [Tue, 20 Nov 2018 11:29:12 +0000 (11:29 +0000)]
IVGCVSW-2175 - Add support for uint8 Concatenation on CL

Change-Id: I9bc46e17e11d73ee1a3bc4f9ec07d46be77fcbcb

6 years agoMLCE-64: Updating BuildGuideAndroidNDK.md for Ubuntu 18.04
saoste01 [Mon, 19 Nov 2018 19:41:52 +0000 (19:41 +0000)]
MLCE-64: Updating BuildGuideAndroidNDK.md for Ubuntu 18.04

Change-Id: Iab9c4952f5478d4805dba56e838f9c33d2b598ee

6 years agoIVGCVSW-2043 Merger using ACL for innermost concat axis
Matteo Martincigh [Tue, 20 Nov 2018 09:34:27 +0000 (09:34 +0000)]
IVGCVSW-2043 Merger using ACL for innermost concat axis

 * Fixed unsigned to signed conversion error that was
   breaking master

Change-Id: I08d79d9bf131eb46ea0495371160698ab59c1721

6 years agoIVGCVSW-2115: Fix for unset USERNAME
jimfly01 [Mon, 19 Nov 2018 13:42:45 +0000 (13:42 +0000)]
IVGCVSW-2115: Fix for unset USERNAME

* When running the script standalone USERNAME can be unset causing failure

Change-Id: Idb1752117c319c8946426efe8882f03034b2bbbf

6 years agoIVGCVSW-2169 Remove DataLayoutIndexed from public API
Matthew Bentham [Mon, 19 Nov 2018 13:19:28 +0000 (13:19 +0000)]
IVGCVSW-2169 Remove DataLayoutIndexed from public API

Change-Id: If8d8087d9d365e467d3ca9bf9c40d7219cb75cfd

6 years agoIVGCVSW-2105 - Unit tests for merger
narpra01 [Mon, 19 Nov 2018 15:30:27 +0000 (15:30 +0000)]
IVGCVSW-2105 - Unit tests for merger
 * Add LayerTests
 * Add WorkloadTests

!android-nn-driver:166

Change-Id: I903461002879f60fc9f8ae929f18784e2d9b1fc1

6 years agoIVGCVSW-2168: Remove DataLayout from Layer
Aron Virginas-Tar [Mon, 19 Nov 2018 13:06:49 +0000 (13:06 +0000)]
IVGCVSW-2168: Remove DataLayout from Layer

Change-Id: Iab6ad04e5c786e4e639578f7b1d1537dd1196e2f

6 years agoIVGCVSW-2043 - Merger using ACL for innermost concat axis
Nikhil Raj [Mon, 19 Nov 2018 14:51:07 +0000 (14:51 +0000)]
IVGCVSW-2043 - Merger using ACL for innermost concat axis
     * Add ClMergerWorkload and NeonMergerWorkload to call ACL for innermost concat axis
     * Modify layer support to call ClMergerWorkloadValidate and NeonMergerWorkloadValidate when concat axis is inner most
     * Add m_ConcatAxis to MergerDescriptor
     * Modify MergerQueueDescriptor::Validate to check sub tensor only when using subtensor

!android-nn-driver:166

Change-Id: I56676b43964c8d6d726387b41b3cc34a512c0f0a

6 years agoIVGCVSW-2167: Run parser unit tests on the reference backend only
Aron Virginas-Tar [Mon, 19 Nov 2018 10:58:30 +0000 (10:58 +0000)]
IVGCVSW-2167: Run parser unit tests on the reference backend only

Change-Id: Ib11c3d36c7109198da7266955414580e8fb916b5

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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