platform/upstream/armnn.git
5 years agoIVGCVSW-2353 Ignore control inputs in TensorFlow parser
narpra01 [Fri, 21 Dec 2018 18:30:00 +0000 (18:30 +0000)]
IVGCVSW-2353 Ignore control inputs in TensorFlow parser

 * Allow control inputs from TensorFlow graph but ignore them in ArmNN graph.
 * Add utility function to test ArmNN graph structure.
 * Add ArmNN graph structure tests in TensorFlow paresr to ensure that control inputs
   are ignored in ArmNN graph as well as their inputs that are not used anywhere else.

Change-Id: Ib0ea0d2df85e3fc79b748fa4c9d20e0649352bc1

5 years agoMLCE-80 Remove strong typing from NeonBatchNormalization
Matthew Bentham [Wed, 12 Dec 2018 16:15:59 +0000 (16:15 +0000)]
MLCE-80 Remove strong typing from NeonBatchNormalization

Technical debt work towards adding some new Neon workloads

Change-Id: I08ab6dd14d0e89d4ebc8a878fb69caa5681012bf

5 years agoIVGCVSW-2375 Add ParseAddN function to TfParser
Ferran Balaguer [Fri, 28 Dec 2018 18:15:24 +0000 (18:15 +0000)]
IVGCVSW-2375 Add ParseAddN function to TfParser

* Unit tests in AddN.cpp

Change-Id: Ifb2fa1051d5d92c5d9a5ca751abee4e81ebe39c9

5 years agoUpdate to latest compute library
Matthew Bentham [Mon, 31 Dec 2018 13:40:25 +0000 (13:40 +0000)]
Update to latest compute library

Change-Id: I297aac3c57d201fdbd71119f004a64f57ec5657f

5 years agoIVGCVSW-2389 WorkloadUtils: Add profiling to tensor mapping.
Sadik Armagan [Mon, 24 Dec 2018 09:01:31 +0000 (09:01 +0000)]
IVGCVSW-2389 WorkloadUtils: Add profiling to tensor mapping.

Change-Id: Ibe1b27b268011878c7dce3c96efea01402453027

5 years agoUpdate README.md
Mark O'Connor [Wed, 28 Nov 2018 09:12:45 +0000 (10:12 +0100)]
Update README.md

Change-Id: I74f0d27881fcc42d962fdd61562811a1f53dd0eb

5 years agoIVGCVSW-59 Add documentation to the public API
Conor Kennedy [Fri, 21 Dec 2018 14:38:36 +0000 (14:38 +0000)]
IVGCVSW-59 Add documentation to the public API

        * Add documentation to the Descriptors
        * Add documentation to the layers

Change-Id: I5e0849753903565227fd47d329a600fd90b2feb9

5 years agoIVGCVSW-2380 Add Greater operator to TfParser
jimfly01 [Tue, 18 Dec 2018 16:24:51 +0000 (16:24 +0000)]
IVGCVSW-2380 Add Greater operator to TfParser

* Unit tests in Greater.cpp

Change-Id: Ifb3e4c33be2d6235e33889bb63e6abd78bd7d8b6

5 years agoIVGCVSW-2164 Added ACL implementation of SpaceToBatchNd operation to ArmNN
Sadik Armagan [Thu, 20 Dec 2018 16:19:12 +0000 (16:19 +0000)]
IVGCVSW-2164 Added ACL implementation of SpaceToBatchNd operation to ArmNN

!android-nn-driver:428

Change-Id: I42e59ad96d2c80f46b085182855d34b710a74dfe

5 years agoIVGCVSW-2401 & IVGCVSW-2402 Add end-to-end test for Greater/Equal Operator
FrancisMurtagh [Thu, 20 Dec 2018 16:09:45 +0000 (16:09 +0000)]
IVGCVSW-2401 & IVGCVSW-2402 Add end-to-end test for Greater/Equal Operator

 * Add Arithmetic end-to-end test implementation
 * Enable tests for float, Uint8 and Broadcast

Change-Id: I81c7096e9b6ad29eaa935b74ad5f30f823be2331

5 years agoIVGCVSW-2212 Add Neon support for Maximum operator
Nattapat Chaimanowong [Thu, 20 Dec 2018 14:14:06 +0000 (14:14 +0000)]
IVGCVSW-2212 Add Neon support for Maximum operator

Change-Id: Iddae3486641d2d195827ae4e0a9dfa3f7ccd65e3

5 years agoIVGCVSW-2211 Maximum operator support (CL)
keidav01 [Wed, 19 Dec 2018 10:04:58 +0000 (10:04 +0000)]
IVGCVSW-2211 Maximum operator support (CL)

   * Added CLMaximumWorkload implementation
   * Added CL unit tests

Change-Id: I922c83fe25d17be21a5d0f4e861038463cb09789

5 years agoIVGCVSW-2367 Add Equal Operator to TfParser
jimfly01 [Wed, 19 Dec 2018 13:14:46 +0000 (13:14 +0000)]
IVGCVSW-2367 Add Equal Operator to TfParser

* Unit tests in Equal.cpp
* Fixed error in Network::AddEqualLayer
* Refactored TfParser::Minimum/Equal to get rid of duplicate code

Change-Id: I0ed6f888eb391c995b88be20dc0c1b916dd14c3c

5 years agoUpdate CL pin to the latest master
Nattapat Chaimanowong [Wed, 19 Dec 2018 11:48:59 +0000 (11:48 +0000)]
Update CL pin to the latest master

Change-Id: I045bc90124ea1303dffb0532e10b36ee107f9ee3

5 years agoIVGCVSW-2379 Add Greater Ref workload implementation
FrancisMurtagh [Wed, 19 Dec 2018 10:56:15 +0000 (10:56 +0000)]
IVGCVSW-2379 Add Greater Ref workload implementation

 * Added the Greater operation as an element-wise workload
 * Added the unit tests

Change-Id: Ie00ee30e47a5f5e17a728032eeb11a085d06c8f2

5 years agoIVGCVSW-2365 Add Reference Equal Workload Implementation
FrancisMurtagh [Tue, 18 Dec 2018 12:57:35 +0000 (12:57 +0000)]
IVGCVSW-2365 Add Reference Equal Workload Implementation

 * Add reference equal workload
 * Add Reference Workload Unit Test

Change-Id: If2848e7dde4248566b99d91726d08143c40ff80d

5 years agoIVGCVSW-2131 Implementation of StridedSlice operation
keidav01 [Mon, 10 Dec 2018 18:16:07 +0000 (18:16 +0000)]
IVGCVSW-2131 Implementation of StridedSlice operation
   * Added ACl Implementation to ArmNN
   * Added helper function for setting CL Strided Slice arguments

Change-Id: Ie10d387fdb054027ea9b8782743d270bb72949c1

5 years agoIVGCVSW-2398 Add no-op factory implementations for all backends for the
FrancisMurtagh [Mon, 17 Dec 2018 12:11:36 +0000 (12:11 +0000)]
IVGCVSW-2398 Add no-op factory implementations for all backends for the
Equal operation

 * Add QueueDescriptor in WorkloadData.hpp
 * Add CreateEqual function in WorkloadFactory.hpp
 * Added stub implementation of the CreateEqual function in RefWorkloadFactory,
   NeonWorkloadFactory and ClWorkloadFactory

Change-Id: Iec6dc2f989c67fa6f0c32cfb93508995c8580783

5 years agoIVGCVSW-2399 Margin of error too severe for ValidateBiasTensorQuantisation
kevmay01 [Mon, 17 Dec 2018 15:32:45 +0000 (15:32 +0000)]
IVGCVSW-2399 Margin of error too severe for ValidateBiasTensorQuantisation

Change-Id: I56f56398e7c2c2ac57a96952237e7f1bc0ced208

5 years agoIVGCVSW-2395 TfLiteParse::ParseReshape doesn't support reshape input
kevmay01 [Mon, 17 Dec 2018 14:28:03 +0000 (14:28 +0000)]
IVGCVSW-2395 TfLiteParse::ParseReshape doesn't support reshape input

Change-Id: If2a31a49df3701877ce0287a81c569334a24cd20

5 years agoUpdate the CL pin to the latest master
Matteo Martincigh [Fri, 14 Dec 2018 13:12:13 +0000 (13:12 +0000)]
Update the CL pin to the latest master

Change-Id: Ib3c7cfccbe8933a0c2423f37c363926571968d9e

5 years agoIVGCVSW-2386 Work around Compute Library Arm v7 issue
Matthew Bentham [Mon, 17 Dec 2018 09:23:36 +0000 (09:23 +0000)]
IVGCVSW-2386 Work around Compute Library Arm v7 issue

per COMPMID-1818 change to using Blob-based memory manager.
Will change back when COMPMID-1848 is fixed.

Change-Id: I6e22c2edf422202410faa717b330a2c96c3ebbe5

5 years agoIVGCVSW-2377 Add no-op factory implementations for all backends for the
Matteo Martincigh [Thu, 13 Dec 2018 12:48:25 +0000 (12:48 +0000)]
IVGCVSW-2377 Add no-op factory implementations for all backends for the
Greater operation

 * Added QueueDescriptor in WorkloadData.hpp
 * Added CreateGreater function in WorkloadFactory.hpp
 * Added stub implementation of the CreateGreater function in RefWorkloadFactory,
   NeonWorkloadFactory and ClWorkloadFactory
 * Added GreaterLayer stub implementation
 * Renamed ArithmeticBaseLayer to ElementwiseBaseLayer

Change-Id: I7e38c2936de905da921a92ba3f918478169ec7f5

5 years agoIVGCVSW-2348 Support boolean data type
ruoyan01 [Wed, 12 Dec 2018 18:11:25 +0000 (18:11 +0000)]
IVGCVSW-2348 Support boolean data type

Change-Id: Ifd28e049192e6f5fe5c0f5d358afb2b530eef882

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