platform/upstream/armnn.git
5 years agoIVGCVSW-2363 Remove swizzling option from GetConstTensor in TfParser.cpp
Matteo Martincigh [Wed, 12 Dec 2018 09:20:55 +0000 (09:20 +0000)]
IVGCVSW-2363 Remove swizzling option from GetConstTensor in TfParser.cpp

Change-Id: I9f9852766e4c51151d6ccf34976c4860a83dfe5c

5 years agoIVGCVSW-1434 Add debug mode to Optimizer
keidav01 [Tue, 11 Dec 2018 16:14:20 +0000 (16:14 +0000)]
IVGCVSW-1434 Add debug mode to Optimizer
    * Modified optimizer to support debug mode via DebugLayer

Change-Id: Ic8f313778e55540c182cf99876c44a0823be04c6

5 years agoFix the ONNX parser tests issues due to a change in the latest ONNx master
Matteo Martincigh [Tue, 11 Dec 2018 13:46:52 +0000 (13:46 +0000)]
Fix the ONNX parser tests issues due to a change in the latest ONNx master

 * A recent change in ONNX now forces the data types to be indicated by the
   integer corresponding to their original enum value
 * The new values are taken from the TensorProto_DataType enum at onnx.pb.h:153

Change-Id: I6054611795a7edb11463396eaefc4dd7e27261a0

5 years agoIVGCVSW-2266 Remove the input swizzling from ParseDepthwiseConv2D
Ferran Balaguer [Tue, 11 Dec 2018 10:29:05 +0000 (10:29 +0000)]
IVGCVSW-2266 Remove the input swizzling from ParseDepthwiseConv2D

Change-Id: I72d94fff4cdad2c62dff98c8fd52eba78a1908f0

5 years agoFix the ONNX parser build
Matteo Martincigh [Mon, 10 Dec 2018 13:45:27 +0000 (13:45 +0000)]
Fix the ONNX parser build

 * Fixed invalid conversion issues to onnx::TensorProto::DataType

Change-Id: If8f1cef1d02a22cfecf24135a960923d3ad0e14c

5 years agoIVGCVSW-2346 Fix test wrt NEFillBorderKernel index
Matthew Bentham [Mon, 10 Dec 2018 17:05:25 +0000 (17:05 +0000)]
IVGCVSW-2346 Fix test wrt NEFillBorderKernel index

Kernel position within the layer is part of the kernel name

Change-Id: I3b9ee870fbd0db025f1515c81245f917189ae884

5 years agoIVGCVSW-2354 Remove dimension validation from softmax
Mohamed Nour Abouelseoud [Mon, 10 Dec 2018 14:19:41 +0000 (14:19 +0000)]
IVGCVSW-2354 Remove dimension validation from softmax

Change-Id: I0d69a72df9e348cbeca690926485c050499d1051

5 years agoMLCE-79 NEON QASYMM8 Addition Support
Matthew Bentham [Mon, 10 Dec 2018 10:48:52 +0000 (10:48 +0000)]
MLCE-79 NEON QASYMM8 Addition Support

Unit tests not yet added as need Compute Library a84faffd.

Change-Id: Ica16df493e8d6a76da9d1f74bf43b8403f9dff62

5 years agoIVGCVSW-2346 Fix test wrt NEFillBorderKernel
Matthew Bentham [Mon, 10 Dec 2018 13:14:37 +0000 (13:14 +0000)]
IVGCVSW-2346 Fix test wrt NEFillBorderKernel

NEFillBorderKernel may not be issued for some activation workloads
depending on the version of the Compute Library.

Change-Id: I01b8960f9eb7a0192cd351eddbb416ac05248b34

5 years agoIVGCVSW-2268 Remove the input swizzling from ParseConcat
Matteo Martincigh [Thu, 6 Dec 2018 12:03:17 +0000 (12:03 +0000)]
IVGCVSW-2268 Remove the input swizzling from ParseConcat

 * Removed the input swizzling when the concatenation dimension is 3
   in ParseConcat in the TF parser
 * No longer using the helper ProcessConcatInputTensorInfo, where
   the input was being swizzled if the concatenation dimension was 3
 * Added a new convenience constuctor to TensorShape that initializes
   a shape to all zeros given only the number of dimensions

Change-Id: I82a207e41bddc5fea21a0b5a38eafa24ad75d1c2

5 years agoIVGCVSW-836 Remove 2D validation in Softmax
Mohamed Nour Abouelseoud [Thu, 6 Dec 2018 16:48:39 +0000 (16:48 +0000)]
IVGCVSW-836 Remove 2D validation in Softmax

Change-Id: I87c53c78dd033871dbc543550a61d2d535e752ac

5 years agoIVGCVSW-2316 Add reference implementation and unit tests for Debug
Nattapat Chaimanowong [Thu, 6 Dec 2018 11:54:33 +0000 (11:54 +0000)]
IVGCVSW-2316 Add reference implementation and unit tests for Debug

Change-Id: Ib2e5de2a057da57ef77a9f5c4367d699d4773294

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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

5 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

5 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