platform/upstream/armnn.git
5 years agoIVGCVSW-2556 Add Layer implementation for Detection PostProcess
Narumol Prangnawarat [Fri, 25 Jan 2019 10:46:40 +0000 (10:46 +0000)]
IVGCVSW-2556 Add Layer implementation for Detection PostProcess

 * Add DetectionPostProcessDescriptor.
 * Add implementation for DetectionPostProcessLayer.
 * Unit test to validate output.

Change-Id: If63e83eb2a2978c549071c7aeb272906e7c35fe9

5 years agoMLCE-84 Add Neon Pad support and unit tests
Éanna Ó Catháin [Fri, 25 Jan 2019 10:01:40 +0000 (10:01 +0000)]
MLCE-84 Add Neon Pad support and unit tests

Change-Id: I0d949a9f23a61af5013efdd18572b29fae585f2a

5 years agoIVGCVSW-2547 Add Accept function to IConnectableLayer
jimfly01 [Thu, 24 Jan 2019 22:29:33 +0000 (22:29 +0000)]
IVGCVSW-2547 Add Accept function to IConnectableLayer

* Layers which callback VisitXXXLayer with ConstTensor
  have been implemented with dummies to speed up implementation
  and unblock IVGCVSW-2531

Change-Id: I49b8035f12ec72d6bd6cee95075692f98c48e193

5 years agoIVGCVSW-2563 Fix bug in TfLiteParser::ParseConcatenation
Nattapat Chaimanowong [Fri, 25 Jan 2019 13:20:39 +0000 (13:20 +0000)]
IVGCVSW-2563 Fix bug in TfLiteParser::ParseConcatenation

Change-Id: I8fbf27b383a821e062f72809cc2e269fcd18851c

5 years agoGithub issue #127 - Use https to check out ComputeLibrary
Matthew Bentham [Wed, 23 Jan 2019 15:23:13 +0000 (15:23 +0000)]
Github issue #127 - Use https to check out ComputeLibrary

Change-Id: I55f2f21b0603055787a174269ed74b99f84ec29c

5 years agoIVGCVSW-2503 Fix end to end test support for Boolean output type
Nattapat Chaimanowong [Thu, 24 Jan 2019 15:25:26 +0000 (15:25 +0000)]
IVGCVSW-2503 Fix end to end test support for Boolean output type

Change-Id: Ie94743c769fc17d976849ba4b22af3a13561ff55

5 years agoIVGCVSW-2554 Update NEON scheduler to output workload names rather than unknown
saoste01 [Thu, 24 Jan 2019 12:31:58 +0000 (12:31 +0000)]
IVGCVSW-2554 Update NEON scheduler to output workload names rather than unknown

Change-Id: I0d14baf9002c894790da171a6d60c0e4ac929078

5 years agoIVGCVSW-2555 Add no-op implementation for Detection PostProcess
Narumol Prangnawarat [Wed, 23 Jan 2019 18:06:26 +0000 (18:06 +0000)]
IVGCVSW-2555 Add no-op implementation for Detection PostProcess

 * Added DetectionPostProcessQueueDescriptor to WorkloadData
 * Added CreateDetectionPostProcess function in WorkloadFactory.hpp
 * Added stub implementation of the CreateDetectionPostProcess
in workload factories
 * Added DetectionPostProcessLayer stub implementation
 * Added AddDetectionPostProcessLayer to Network
 * Added IsDetectionPostProcessSupported to LayerSupportBase

Change-Id: Ifc071b3b6b12877c997bdcc43d769c8f891d5c6c

5 years agoIVGCVSW-2503 Refactor RefElementwiseWorkload around Equal and Greater
kevmay01 [Thu, 24 Jan 2019 14:05:09 +0000 (14:05 +0000)]
IVGCVSW-2503 Refactor RefElementwiseWorkload around Equal and Greater

* Remove Equal and Greater from RefElementwiseWorkload
* Create RefComparisonWorkload and add Equal and Greater
* Update ElementwiseFunction for different input/output types
* Update TfParser to create Equal/Greater with Boolean output
* Update relevant tests to check for Boolean comparison

Change-Id: I299b7f2121769c960ac0c6139764a5f3c89c9c32

5 years agoIVGCVSW-2512 Add Gather operator parser to TfParser
FrancisMurtagh [Thu, 24 Jan 2019 10:53:39 +0000 (10:53 +0000)]
IVGCVSW-2512 Add Gather operator parser to TfParser

 * Add ParseGather to TFParser
 * Add Unit tests for Gather Operator

!armnn:562

Change-Id: Idff45c2d3d8d683aa9eb2c4a63123c8d6054609e

5 years agoIVGCVSW-2546 Add ILayerVisitor to the public API
jimfly01 [Wed, 23 Jan 2019 16:10:17 +0000 (16:10 +0000)]
IVGCVSW-2546 Add ILayerVisitor to the public API

Change-Id: I803de435a538856de2daa7872e27d3f5beabba4f

5 years agoIVGCVSW-2430 Add logistic parser to tf-lite
Finn Williams [Tue, 22 Jan 2019 14:18:11 +0000 (14:18 +0000)]
IVGCVSW-2430 Add logistic parser to tf-lite

 * Added implementation and unit tests for
   sigmoid function for tf-lite parser

 * Refactored relu, relu6 and logisitc parser
   to reduce code duplication

Change-Id: I00a2bd90bbc9144a2f84981f63b2cd1756b68a16

5 years agoIVGCVSW-2511 Add end to end Gather layer test
narpra01 [Wed, 23 Jan 2019 15:23:11 +0000 (15:23 +0000)]
IVGCVSW-2511 Add end to end Gather layer test

 * Add end to end test for Gather operator
 * Add Support for int32 to Constant layer for Ref
 * Add Int32Workload
 * Add RefConstantWorkload as template for float, uint8, int32
 * Remove unused RefBaseConstantWorkload
 * Remove unused RefConstantFloat32Workload
 * Remove unused RefConstantUint8Workload
 * Add support check for int32 in LayerSupport functions

Change-Id: Ic970588a49ebe2aafb12be8adef52371feacaa7b

5 years agoIVGCVSW-1048 RESIZE_BILINEAR NEON operator
Sadik Armagan [Mon, 17 Dec 2018 11:32:16 +0000 (11:32 +0000)]
IVGCVSW-1048 RESIZE_BILINEAR NEON operator

 * Implemented NeonResizeBilinearWorkload
 * Enable ResizeBilinear Operator unit tests for Neon

!android-nn-driver:405

Change-Id: Iec3100ccaf7d246e8eaf683d1f3ec9191df5241e

5 years agoIVGCVSW-2534 Fix bug TfLiteParser::ParseReshape()
Aron Virginas-Tar [Wed, 23 Jan 2019 14:00:00 +0000 (14:00 +0000)]
IVGCVSW-2534 Fix bug TfLiteParser::ParseReshape()

Change-Id: I44d63552d2552842f02b2c870466851581f65b1a

5 years agoIVGCVSW-2545 Update CL pin to latest master
saoste01 [Tue, 22 Jan 2019 16:43:51 +0000 (16:43 +0000)]
IVGCVSW-2545 Update CL pin to latest master

Change-Id: If6a211ce8a25cf95bb8b02851694e9502d25e671

5 years agoIVGCVSW-2455 Move the extra backend code to a new git repo
Matteo Martincigh [Tue, 15 Jan 2019 16:11:44 +0000 (16:11 +0000)]
IVGCVSW-2455 Move the extra backend code to a new git repo

 * Refactored all the workload factories to use "virtual" properly
 * Removed the precompiled layer support from the optimizer
 * Disabled compiler optimization for debug build to ease debugging

Change-Id: I6ab83abd78f422771359295e25b79bb9be613cfd

5 years agoIVGCVSW-2467 Update Boolean type support
Nattapat Chaimanowong [Wed, 23 Jan 2019 09:59:14 +0000 (09:59 +0000)]
IVGCVSW-2467 Update Boolean type support

Change-Id: I0ab3339e8803a3e4e700d8fec9883eccc524b31e

5 years agoIVGCVSW-2515 Fix compilation when TfParser is disabled
Matthew Bentham [Mon, 21 Jan 2019 15:45:51 +0000 (15:45 +0000)]
IVGCVSW-2515 Fix compilation when TfParser is disabled

Change-Id: Ia0019134f76764cd4fe6ed9dc1423b8aba411d33

5 years agoIVGCVSW-2510 Ref workload implementation for Gather operator
narpra01 [Fri, 18 Jan 2019 16:53:53 +0000 (16:53 +0000)]
IVGCVSW-2510 Ref workload implementation for Gather operator
 * add implemenentation for GatherQueueDescriptor validate function
 * add FirstInputTypedWorkload to allow type check on the first input tensor only
 * add ref workload implemenentation for float and uint8
 * add Gather layer support in Ref
 * unit tests

Change-Id: I4578a3211f11d24aa29d15bcf7f45b0445bcd1ee

5 years agoFix compilation wrt IVGCVSW-2467
Matthew Bentham [Tue, 22 Jan 2019 17:26:59 +0000 (17:26 +0000)]
Fix compilation wrt IVGCVSW-2467

Change-Id: I073473774e302c2d77e717e1ad718594ce1b5feb

5 years agoAdded AddBroadcastReshapeLayer method to TfLiteParser
Bruno Goncalves [Thu, 27 Dec 2018 16:20:35 +0000 (14:20 -0200)]
Added AddBroadcastReshapeLayer method to TfLiteParser

Change-Id: I6027f6dcdb3ed23505f0a9c780bd3e3d45d3daff

5 years agoIVGCVSW-2509 Add GatherLayer implementation
narpra01 [Wed, 16 Jan 2019 17:22:19 +0000 (17:22 +0000)]
IVGCVSW-2509 Add GatherLayer implementation
 * implementation of ValidateTensorShapesFromInputs
 * unit tests

Change-Id: I1ed88f8ba0ea20329a259c5f36caea4b1fbeb013

5 years agoIVGCVSW-2467 Remove GetDataType<T> function
Nattapat Chaimanowong [Tue, 22 Jan 2019 16:10:44 +0000 (16:10 +0000)]
IVGCVSW-2467 Remove GetDataType<T> function

Change-Id: I7359617a307b9abb4c30b3d5f2364dc6d0f828f0

5 years agoIVGCVSW-2535 Fix crash in ExecuteNetwork when no compute device is specified
Aron Virginas-Tar [Tue, 22 Jan 2019 14:10:39 +0000 (14:10 +0000)]
IVGCVSW-2535 Fix crash in ExecuteNetwork when no compute device is specified

Change-Id: If8d6516286557a6381561805cd53b5659b38f6a6

5 years agoAdded ParsePad method to TfLiteParser
Bruno Goncalves [Wed, 19 Dec 2018 14:52:01 +0000 (12:52 -0200)]
Added ParsePad method to TfLiteParser

Change-Id: I2e671f66cf1b0a24b4ca9e96b554dc7db3af9655

5 years agoAdded ParseMean method to TfLiteParser
Bruno Goncalves [Wed, 19 Dec 2018 14:51:45 +0000 (12:51 -0200)]
Added ParseMean method to TfLiteParser

Change-Id: Idfedf82479fb3d4bb2962fc3cfc6c76e57331943

5 years agoAdded ParseMul method to TfLiteParser
Bruno Goncalves [Tue, 18 Dec 2018 15:40:30 +0000 (13:40 -0200)]
Added ParseMul method to TfLiteParser

Change-Id: I72e61a5ece52d69b289a1559907e2fb3084bfa4a

5 years agoAdded ParseAdd method to TfLiteParser
Bruno Goncalves [Tue, 18 Dec 2018 14:56:22 +0000 (12:56 -0200)]
Added ParseAdd method to TfLiteParser

Change-Id: I24d916eca8ef1efb70d08b5c4f5123bb56a76c3e

5 years agoIVGCVSW-2508 Add no-op factory implementations and layer for Gather operator
narpra01 [Wed, 16 Jan 2019 09:53:09 +0000 (09:53 +0000)]
IVGCVSW-2508 Add no-op factory implementations and layer for Gather operator
 * Added GatherQueueDescriptor to WorkloadData
 * Added CreateGather function in WorkloadFactory.hpp
 * Added stub implementation of the CreateGreater function in workload factories
 * Added GatherLayer stub implementation
 * Added AddGatherLayer to Network
 * Added IsGatherSupported to LayerSupportBase

Change-Id: I0408fd54e88a7d4e3d9e1c2811a9323f0da52a04

5 years agoGithub issue #120 - Embed TfLite schema
Matthew Bentham [Tue, 15 Jan 2019 17:57:00 +0000 (17:57 +0000)]
Github issue #120 - Embed TfLite schema

Change-Id: I57375375b2f3f59b89dbf45750f733bf25b5eb90

5 years agoIVGCVSW-1656 Add Mean support to Tf Parser
Ferran Balaguer [Wed, 16 Jan 2019 11:21:56 +0000 (11:21 +0000)]
IVGCVSW-1656 Add Mean support to Tf Parser

 * Update TensorFlowSupport.md

Change-Id: I6fb7f4a4b32397901e0c8b44477a8238879e5917

5 years agoIVGCVSW-2454 Merge together the pluggable backends work (was in a
Matteo Martincigh [Fri, 11 Jan 2019 13:25:59 +0000 (13:25 +0000)]
IVGCVSW-2454 Merge together the pluggable backends work (was in a
separate branch) and master

 * Brings in all the changes done for the pluggable backends
 * Added sub-graph support and tests
 * Added precompiled layer support and tests
 * Moved BackendSettings to a separate file
 * Removed the backend-specific code
 * Ported DebugLayer and associated functionality
 * Included fixes to make those changes work with master

Change-Id: Id7028fa7917527b844628d5aff5732e3d94c0488

5 years agoMLCE-86 Reversing the pad list in the ClPadValidate function similarly to whats done...
Éanna Ó Catháin [Mon, 14 Jan 2019 15:50:08 +0000 (15:50 +0000)]
MLCE-86 Reversing the pad list in the ClPadValidate function similarly to whats done in the constructor.

Change-Id: I9488cebd63767c0c51d9ee6333d5aaf0e4a85847

5 years agoIVGCVSW-1656 Add Mean support to Tf Parser
Ferran Balaguer [Fri, 11 Jan 2019 19:29:18 +0000 (19:29 +0000)]
IVGCVSW-1656 Add Mean support to Tf Parser

Change-Id: I3d31d6b72be1984acdb51fd9e7b5488a7aa5d832

5 years agoIVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separate
Matteo Martincigh [Thu, 10 Jan 2019 17:34:20 +0000 (17:34 +0000)]
IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separate
code base

 * Made the virtual functions in ILayerSupport.hpp pure
 * Created a LayerSupportBase class with the default implementation of
   the interface
 * Made the backend layer support classes inherit from the base
   class, instead of directly from the interface
 * Refactored the profiler and the profiling event classes to use
   the BackendId instead of the Compute
 * Implemented a proper MemCopy support method
 * Changed Compute to BackendId in the profiling API and objects
 * Removed static references to pluggable backends

!android-nn-driver:492

Change-Id: Id6332b5f48c980819e0a09adc818d1effd057296

5 years agoMLCE-82 Add IsLayerSupported tests for MEAN
Matthew Bentham [Wed, 2 Jan 2019 13:26:31 +0000 (13:26 +0000)]
MLCE-82 Add IsLayerSupported tests for MEAN

Change-Id: I43be451f490db0154021f47a2fd49d1269cf5b95

5 years agoIVGCVSW-2466 Update compute library pin
Matthew Bentham [Thu, 10 Jan 2019 12:52:31 +0000 (12:52 +0000)]
IVGCVSW-2466 Update compute library pin

Change-Id: I349f663e5e2d404930a5f9289d311e67a5a409ea

5 years agoIVGCVSW-2345 Add Rsqrt support in Tensorflow Parser
Mohamed Nour Abouelseoud [Wed, 9 Jan 2019 14:19:58 +0000 (14:19 +0000)]
IVGCVSW-2345 Add Rsqrt support in Tensorflow Parser

Change-Id: I7c7b65bd77b06925efdaf2c9c98c30994a12de42

5 years agoIVGCVSW-2438 Add Minimum operator support (CL)
saoste01 [Tue, 8 Jan 2019 13:55:59 +0000 (13:55 +0000)]
IVGCVSW-2438 Add Minimum operator support (CL)
* Added CL unit tests

Change-Id: Ia4af49b133774141384a177f5b042e65764bf682

5 years agoIVGCVSW-2441 Add Minimum operator support (NEON)
Conor Kennedy [Wed, 9 Jan 2019 07:57:38 +0000 (07:57 +0000)]
IVGCVSW-2441 Add Minimum operator support (NEON)

Change-Id: I0bc48f118aba419abb659657b83224401fac0715

5 years agoRefactor: Don't include all ComputeLibrary function definitions everywhere.
Matthew Bentham [Tue, 8 Jan 2019 17:52:37 +0000 (17:52 +0000)]
Refactor: Don't include all ComputeLibrary function definitions everywhere.

Just include the function definition that is specifically needed for each workload.
Also, tighten up the scope where Compute Library functions are available.

Knocks about 30seconds off a 4m30s single-threaded compile of the Neon workloads.

Change-Id: Idac438f3bc77ff978295fbc9505cb42447def145

5 years agoIVGCVSW-2371 Add Rsqrt Ref implementation
Mohamed Nour Abouelseoud [Thu, 27 Dec 2018 12:39:16 +0000 (12:39 +0000)]
IVGCVSW-2371 Add Rsqrt Ref implementation

*Added Unit Tests

Change-Id: I6cceb8e6dcda35ce08415f8e5ca86019a64d26e3

5 years agoIVGCVSW-2421 Remove the template-based version of armnnUtils::Permute
Matteo Martincigh [Fri, 4 Jan 2019 18:01:21 +0000 (18:01 +0000)]
IVGCVSW-2421 Remove the template-based version of armnnUtils::Permute
in favor of a type-indepent implementation that takes void-pointers

 * The new implementation requires the size of the type to be passed
   to the function
 * Updated all the usages accordingly
 * Removed the old implementation no longer used

!android-nn-driver:469

Change-Id: I37f4e6d62a38fbb8ec8c39bb559a2c54c83365d4

5 years agoIVGCVSW-2384 Add Split parser function to Tensor flow parser
Sadik Armagan [Thu, 27 Dec 2018 11:23:44 +0000 (11:23 +0000)]
IVGCVSW-2384 Add Split parser function to Tensor flow parser

  * Added Unit test
  * Updated TensorFlowSupport.md file

Change-Id: I5f07de5e91ffb681c0ad17c7c73ee0326e7f1e0a

5 years agoMLCE-77 Depthwise Convolution with depth multiplier > 1 doesn't work
Matteo Martincigh [Tue, 18 Dec 2018 09:26:39 +0000 (09:26 +0000)]
MLCE-77 Depthwise Convolution with depth multiplier > 1 doesn't work

 * Unified ArmNN's weight format to [ M, I, H, W ] for the depthwise convolution
 * Added conversion utilities to permute/reshape the weights as appropriate
   when using CL and Neon backends
 * Updated the reference implementation of the convolution
 * Updated the relevant unit tests accordingly

!android-nn-driver:459

Change-Id: I07d0818efa9d1ca1e5dad82983aac1fe78eadb18

5 years agoIVGCVSW-2383: code cleanup, remove unnecessary isSupported implementations,
Nina Drozd [Fri, 4 Jan 2019 09:34:21 +0000 (09:34 +0000)]
IVGCVSW-2383: code cleanup, remove unnecessary isSupported implementations,
default cases are handled by DefaultLayerSupport

Change-Id: I31942a5e8515d6fdce9a0adf20906eaabc2b9aa6

5 years agoIVGCVSW-2370 Code clean up after Equal operator implementation where necessary
ruoyan01 [Thu, 3 Jan 2019 15:10:00 +0000 (15:10 +0000)]
IVGCVSW-2370 Code clean up after Equal operator implementation where necessary

StringMapping was located in the backendsCommon

Change-Id: I1c4a0bfca986722c721fcb2b460c03d6e1cd4568

5 years agoIVGCVSW-2205 Reversed workaround for COMPMID-1813
Mohamed Nour Abouelseoud [Wed, 2 Jan 2019 14:32:24 +0000 (14:32 +0000)]
IVGCVSW-2205 Reversed workaround for COMPMID-1813

Change-Id: Icf7ef88a2eaef80ec32cc718b0ca9d26e830ed07

5 years agoIVGCVSW-2308 Add Conv2d tests where stride > 1
Mike Kelly [Thu, 20 Dec 2018 17:03:06 +0000 (17:03 +0000)]
IVGCVSW-2308 Add Conv2d tests where stride > 1

Change-Id: Iae6a3bfad06cb669ef0abea465d03163bb8316f5

5 years agoMLCE-82 Add Neon Mean support and unit tests
Matthew Bentham [Mon, 31 Dec 2018 15:49:42 +0000 (15:49 +0000)]
MLCE-82 Add Neon Mean support and unit tests

Factor out new BuildArmComputeReductionCoordinates function
from CL backend into ArmComputeTensorUtils.

Update NEON LayerSupport and WorkloadFactory objects

Change-Id: Icc975ec699199bffafbdb207323df509d35e1e04

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