platform/upstream/armnn.git
5 years agoFix Windows build:
Rob Hughes [Fri, 23 Aug 2019 09:11:58 +0000 (10:11 +0100)]
Fix Windows build:

* CMake "install" commands require a RUNTIME argument for platforms with
DLLs (e.g. Windows).
* Replace use of non-standard variable length array with vector
* Remove unnecessary #include of unistd.h
* Add #ifdefs to dynamic backend code to disable for non-Unix platforms
where you can't use dlopen etc. We could implement this properly for Windows
later using LoadLibrary etc., but for now erroring is fine.
* Add missing #include of <algorithm>

Change-Id: Ic8ef5fd599b37bf8772510157b6e479819f6a1eb

5 years agoIVGCVSW-3670 Fix Vts Tests after adding Ref Import functionality
Ferran Balaguer [Thu, 22 Aug 2019 13:09:44 +0000 (14:09 +0100)]
IVGCVSW-3670 Fix Vts Tests after adding Ref Import functionality

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I87d003ae14575d7d7be67b2a7d00d69ef6201849

5 years agoIVGCVSW-3656 Make the reference backend optional
Matteo Martincigh [Wed, 14 Aug 2019 13:05:46 +0000 (14:05 +0100)]
IVGCVSW-3656 Make the reference backend optional

 * Made the build of the reference backend depend on a new ARMCOMPUTEREF
   macro
 * Made the relevant targets dependent on the ref backend
 * Moved Cl and Neon static registry initializers to separate files
 * Wrapped some of the unit tests into proper ifdefs where necessary

Change-Id: I7f2c42699682630233a4c4b6aed2f005083de189
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3668 Fix Android issue running Ref Import tests
Ferran Balaguer [Wed, 21 Aug 2019 12:59:13 +0000 (13:59 +0100)]
IVGCVSW-3668 Fix Android issue running Ref Import tests

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I64f82c0e3c5cddcaebe0d5001020880a759ec444

5 years agoIVGCVSW-3634 Segmentation fault running UnitTests on Android
Matteo Martincigh [Wed, 21 Aug 2019 13:35:55 +0000 (14:35 +0100)]
IVGCVSW-3634 Segmentation fault running UnitTests on Android

 * Updated the NDK build guide to include instructions on what
   extra files to deploy for running the dynamic backend unit test

Change-Id: I0a77b0bf911cfdd90be62f136dd06c118810d0c8
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3671 Fix validation error msg WorkloadData.cpp
James Conroy [Thu, 22 Aug 2019 10:41:07 +0000 (11:41 +0100)]
IVGCVSW-3671 Fix validation error msg WorkloadData.cpp

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ibfd5a81b2dbf9eeef49f6209885798804adee5a4

5 years agoIVGCVSW-3564 Add optional InputLayerBindingID argument to ImageCSVFileGenerator
FinnWilliamsArm [Mon, 19 Aug 2019 16:17:19 +0000 (17:17 +0100)]
IVGCVSW-3564 Add optional InputLayerBindingID argument to ImageCSVFileGenerator

Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: Ibf2b5ce5e50d72d661a7c720c1f3bb1c0d811700

5 years agoIVGCVSW-3507 Fix error in list of tested networks for Tf and TfLite parsers
Aron Virginas-Tar [Wed, 21 Aug 2019 14:49:27 +0000 (15:49 +0100)]
IVGCVSW-3507 Fix error in list of tested networks for Tf and TfLite parsers

* Move DeepSpeaker, FCRN and FSRCNN from TensorFlowSupport.md
  to TensorFlowLiteSupport.md

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I82d508d3599073eb8f6638994a91f46b4b95c247

5 years agoIVGCVSW-3507 Revise and update readmes for 19.08
Aron Virginas-Tar [Wed, 21 Aug 2019 11:33:12 +0000 (12:33 +0100)]
IVGCVSW-3507 Revise and update readmes for 19.08

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I3da43122240fda7864e0932d47b3efeea8bbed40

5 years agoIVGCVSW-3650 Fix Transpose Convolution inputs in TfLite parser
Matthew Jackson [Tue, 20 Aug 2019 16:18:33 +0000 (17:18 +0100)]
IVGCVSW-3650 Fix Transpose Convolution inputs in TfLite parser

* Reordered and edited inputs in ParseTransposeConv method
* Updated test cases to reflect changes

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Icd090cf6ab340eed4f098ef8641daf7c6e0d0949

5 years agoIVGCVSW-3661 Add multi-channel TransposeConvolution2d unit tests to NEON backend
Aron Virginas-Tar [Tue, 20 Aug 2019 14:30:04 +0000 (15:30 +0100)]
IVGCVSW-3661 Add multi-channel TransposeConvolution2d unit tests to NEON backend

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I9d19ae4559a98b9e740c1d4d05add0c5788093d6

5 years agoIVGCVSW-3642 Fixed VTS Test Failures
Mike Kelly [Wed, 21 Aug 2019 08:36:58 +0000 (09:36 +0100)]
IVGCVSW-3642 Fixed VTS Test Failures

 * Fixed Quant8 VTS test failures where an output value should have been greater than 255 before a negative bias was applied.

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ie0084c1c8c4a4b5f069112d523765ed338277e58

5 years agoIVGCVSW-3163 Support Neon TransposeConv2d
Sadik Armagan [Mon, 12 Aug 2019 13:11:37 +0000 (14:11 +0100)]
IVGCVSW-3163 Support Neon TransposeConv2d

* NEON support for TransposeConolution2d
* Indentation fix on SpaceToDepth LayerSupport method

Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com>
Change-Id: Ie3a01a22e05f62f475f768dfe05ce561d2f3b0ad

5 years agoIVGCVSW-3606 Support memory import for Reference backend
Ferran Balaguer [Wed, 7 Aug 2019 14:14:56 +0000 (15:14 +0100)]
IVGCVSW-3606 Support memory import for Reference backend

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I94bd191f88e0911ad4e4727610e81cd7afa95512

5 years agoIVGCVSW-3640 Add multi-channel TransposeConvolution2d unit tests to CL backend
Aron Virginas-Tar [Wed, 14 Aug 2019 13:37:42 +0000 (14:37 +0100)]
IVGCVSW-3640 Add multi-channel TransposeConvolution2d unit tests to CL backend

* Fixed bug in multi-channel test and reference workload implementation
* Enabled multi-channel tests on CL backend

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I08bb523bc68d9c93a1012b4f487a5bce36a085b1

5 years agoIVGCVSW-3650 Add TfLite Parser support for Transpose Convolution layer
Matthew Jackson [Fri, 16 Aug 2019 15:51:42 +0000 (16:51 +0100)]
IVGCVSW-3650 Add TfLite Parser support for Transpose Convolution layer

* Added ParseTransposeConv to TfLite Parser
* New TransposeConv test file
* Updated documentation for supported Transpose Convolution

Change-Id: Id7356d8525556805c164af693ae2b16f6a8492fa
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
5 years agoIVGCVSW-3506 Update version number for 19.08
Aron Virginas-Tar [Tue, 20 Aug 2019 10:38:00 +0000 (11:38 +0100)]
IVGCVSW-3506 Update version number for 19.08

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I43a46a9ec4adef35736af8de67916bfda967da0a

5 years agoIVGCVSW-3617 Add CL TensorHandleFactory
Jan Eilers [Fri, 16 Aug 2019 09:28:37 +0000 (10:28 +0100)]
IVGCVSW-3617 Add CL TensorHandleFactory

* Adds ClTensorHandleFactory
* Includes some refactoring of NeonTensorHandleFactory

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I9f0874b1945050267c5ece970e6d9b200ed8a865

5 years agoIVGCVSW-3545 Update the device specs with the dynamic backend ids
Matteo Martincigh [Thu, 15 Aug 2019 11:08:06 +0000 (12:08 +0100)]
IVGCVSW-3545 Update the device specs with the dynamic backend ids

 * Now the utility function RegisterDynamicBackends returns a list of
   the backend ids that have been registered
 * The list of registered ids is added to the list of supported backends
   in the Runtime
 * Added unit tests

Change-Id: I97bbe1f680920358f5baba5a4666e4983b849cac
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3653 Fix memory initialization bug in TransposeConvolution2dTestImpl
Aron Virginas-Tar [Fri, 16 Aug 2019 16:49:42 +0000 (17:49 +0100)]
IVGCVSW-3653 Fix memory initialization bug in TransposeConvolution2dTestImpl

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Idebe0c3f956ccac39ef8bf139d693b76e839af7a

5 years agoIVGCVSW-3429 Add a utility Version class
Nikhil Raj [Mon, 19 Aug 2019 09:04:23 +0000 (10:04 +0100)]
IVGCVSW-3429 Add a utility Version class

Change-Id: Id429f7d9176c775953c1261c5a3e9f1d565927c1
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
5 years agoIVGCVSW-3550 Create Command Handler Registry
Francis Murtagh [Fri, 16 Aug 2019 16:45:07 +0000 (17:45 +0100)]
IVGCVSW-3550 Create Command Handler Registry

Change-Id: I51e34068d79ba660ae2f16b22ad2bb8191d473fa
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3625 Updated ACL pin to the 19.08 release branch
Sadik Armagan [Fri, 16 Aug 2019 14:06:13 +0000 (15:06 +0100)]
IVGCVSW-3625 Updated ACL pin to the 19.08 release branch

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I442913dc5e8ac8b53c00feef430a77991e700556

5 years agoIVGCVSW-3620 Fix Hal 1.2 Softmax test failures on GpuAcc and CpuAcc
Colm Donelan [Thu, 15 Aug 2019 15:03:17 +0000 (16:03 +0100)]
IVGCVSW-3620 Fix Hal 1.2 Softmax test failures on GpuAcc and CpuAcc

The following NeuralNetworkTests tests were failing on GpuAcc and CpuAcc:

GeneratedTests.softmax_v1_2_relaxed
GeneratedTests.softmax_v1_2_quant8
GeneratedTests.softmax_v1_2_2
GeneratedTests.softmax_v1_2_relaxed_2
GeneratedTests.softmax_v1_2_quant8_2

The default value for Softmax axis parameter in Android is -1 but is 1 in ACL.
Detect and handle this in ArmComputeUtils.ComputeSoftmaxAclAxis.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Ibb0660e4cb0dc6bd4c804c4397fbd61f38acdd9c

5 years agoIVGCVSW-3639 Add 5d tensor support
Matthew Jackson [Thu, 15 Aug 2019 14:14:18 +0000 (15:14 +0100)]
IVGCVSW-3639 Add 5d tensor support

* Increased MaxNumOfTensorDimensions and fixed issues related to its use
* Fixed issues caused by assuming 5d tensors are invalid
* Updated ArmComputeTensorUtils for 5d tensors
* Added 5d tensor unit tests for add, mul, stack and reshape (needed by IVGCVSW-3527)

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I5bcd64942d0d04efcc6c5acb240ad4b88e010743

5 years agoIVGCVSW-3425 Create the Command Handler Functor base class
Francis Murtagh [Fri, 16 Aug 2019 10:28:52 +0000 (11:28 +0100)]
IVGCVSW-3425 Create the Command Handler Functor base class

Change-Id: I59ac9b32ac594161bdc5e1de2cdee02d79fc1992
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3415 Create the Packet Class
Nikhil Raj [Thu, 15 Aug 2019 14:49:45 +0000 (15:49 +0100)]
IVGCVSW-3415 Create the Packet Class

Change-Id: Ie59e82e7f87f5ba6496aa8579bc9d40360d90999
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
5 years agoIVGCVSW-3622 Add Neon TensorHandleFactory
Narumol Prangnawarat [Wed, 14 Aug 2019 11:25:50 +0000 (12:25 +0100)]
IVGCVSW-3622 Add Neon TensorHandleFactory

Signed-off-by: James Conroy <james.conroy@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I9f24f7d97c1e7d37ee7d58ff85c6c3f8496e52ec

5 years agoIVGCVSW-3633 Fixed possible driver crash
Mike Kelly [Wed, 14 Aug 2019 10:33:11 +0000 (11:33 +0100)]
IVGCVSW-3633 Fixed possible driver crash

 * Fixed possible driver crash due to supportedTypes arrays with the wrong size.

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I52702b84089d02d3c63ff7aa5923a9f5628bec91

5 years agoIVGCVSW-3636 Fix Graph and WorkloaData to support backend Import functionality
Ferran Balaguer [Wed, 14 Aug 2019 11:11:27 +0000 (12:11 +0100)]
IVGCVSW-3636 Fix Graph and WorkloaData to support backend Import functionality

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I634aa3b1d609ca33b196fd68ce7fb7881be73e6e

5 years agoMLCE-126 Delete unused Protobuf header import
James Conroy [Tue, 13 Aug 2019 15:13:15 +0000 (16:13 +0100)]
MLCE-126 Delete unused Protobuf header import

 * Removed wire_format_lite_inl.h header import
   as it is not used by ArmNN.
 * In Protobuf==3.8.0, the contents of this header
   are in wire_format_lite.h.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ie3d80f49e79aedf4932a0a090635b541a11ba0f9

5 years agoIVGCVSW-3610 Remove unused leftover variable from TransposeConvolution2dImpl
Aron Virginas-Tar [Wed, 14 Aug 2019 10:39:50 +0000 (11:39 +0100)]
IVGCVSW-3610 Remove unused leftover variable from TransposeConvolution2dImpl

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I496f95ab464f3a38e0601799a6ff6ba5ffe3a776

5 years agoIVGCVSW-3474 Refactor Lstm and QuantizedLstm Param Getters
Francis Murtagh [Wed, 14 Aug 2019 08:51:36 +0000 (09:51 +0100)]
IVGCVSW-3474 Refactor Lstm and QuantizedLstm Param Getters

 * Change Getter Signatures to follow coding guidelines

Change-Id: Ic02621e834dbf79b9df63f8b4c6339f71651e944
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3546 Extend the backend docs
Matteo Martincigh [Thu, 8 Aug 2019 11:53:17 +0000 (12:53 +0100)]
IVGCVSW-3546 Extend the backend docs

 * Mentioned the TestDynamicBackend source files
 * Added the RefDynamicBackend example

Change-Id: I395c9f6c3107a5a5b16f658327d6048ff2ae68d8
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3416 Create Command Handler Key class
Francis Murtagh [Wed, 14 Aug 2019 08:49:34 +0000 (09:49 +0100)]
IVGCVSW-3416 Create Command Handler Key class

 * Add CommandHandlerKey class with all comparison operators
 * Add UnitTests to check key sorting in collection

Change-Id: Icbd493d1e51e681cbe22a9e70ab9428a8a2ad107
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3635 Remove temporary check from RefLayerSupport::IsTransposeConvolution2dSup...
Aron Virginas-Tar [Tue, 13 Aug 2019 16:41:01 +0000 (17:41 +0100)]
IVGCVSW-3635 Remove temporary check from RefLayerSupport::IsTransposeConvolution2dSupported()

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I85a9563e2d12a5eb9dbcac1b70563a303905b67b

5 years agoIVGCVSW-3616 Add multi-channel unit test for TransposeConvolution2d
Aron Virginas-Tar [Mon, 12 Aug 2019 13:29:59 +0000 (14:29 +0100)]
IVGCVSW-3616 Add multi-channel unit test for TransposeConvolution2d

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ib9271920b39fb9d730006c79a322e32008096b56

5 years agoIVGCVSW-3615 Update Transpose Convolution algorithm
Mike Kelly [Tue, 13 Aug 2019 09:06:25 +0000 (10:06 +0100)]
IVGCVSW-3615 Update Transpose Convolution algorithm

 * Now supports channel multiplier != 1 in Ref TransposeConvolution2d

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ice95444025311b8b952c8f7f5fa0f1ecf483df41

5 years agoIVGCVSW-3620 Fix VTS CpuRef failures
Sadik Armagan [Fri, 9 Aug 2019 15:44:10 +0000 (16:44 +0100)]
IVGCVSW-3620 Fix VTS CpuRef failures

 * Fixed Max and Min VTS test failures.

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I133f5ff43774f74ad6e1c698a3570066ad45527c

5 years agoIVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistry
Narumol Prangnawarat [Tue, 13 Aug 2019 09:26:53 +0000 (10:26 +0100)]
IVGCVSW-3607 Add CreateWorkloadFactory with TensorHandleFactoryRegistry
in IBackendInternal

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id40b825649d0447058273b8bc4f7133a3ac3c96c

5 years agoIVGCVSW-3541 Treat an empty list of backend paths as a special case
Matteo Martincigh [Mon, 12 Aug 2019 13:07:59 +0000 (14:07 +0100)]
IVGCVSW-3541 Treat an empty list of backend paths as a special case

 * Silently considering the dynamic backend loading feature as
   disabled if an empty list of paths is passed to ArmNN
 * This was causing problems during testing as ArmNN's output
   was containing extra unnecessary warning messages

Change-Id: I4ebda412004179817cd54494ccddc964b04b8232
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3546 Create a reference dynamic backend to use for testing and as
Matteo Martincigh [Thu, 8 Aug 2019 12:46:32 +0000 (13:46 +0100)]
IVGCVSW-3546 Create a reference dynamic backend to use for testing and as
an example in the docs

 * Wrapped the reference backend into a dynamic backend
 * Moved the static registration code to a separate file, so that
   it is possible to create the reference dynamic backend that does not
   register statically into armnn
 * Added unit test

Change-Id: I1074d21b020820f9ac8c7178388be773b447555a
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3598 Add Neon backend support for Strided_Slice
FinnWilliamsArm [Fri, 2 Aug 2019 16:26:31 +0000 (17:26 +0100)]
IVGCVSW-3598 Add Neon backend support for Strided_Slice

Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: Ia9bf55ca93e36ad7fa052b70e477cd46078e0a30

5 years agoIVGCVSW-3474 Add end to end tests for Quantized_LSTM
Francis Murtagh [Fri, 9 Aug 2019 12:20:50 +0000 (13:20 +0100)]
IVGCVSW-3474 Add end to end tests for Quantized_LSTM

Change-Id: Iaec6956b5c459308d77d29f699ae4558bee66cd5
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3603 *Json printer prints full profiling hierarchy
Derek Lamberti [Wed, 7 Aug 2019 16:01:57 +0000 (17:01 +0100)]
IVGCVSW-3603 *Json printer prints full profiling hierarchy

Change-Id: Ide5acbf993c2bcff5265b72fc979caa6f183bb22
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-3597 Add complete test suite for the dynamic backends
Matteo Martincigh [Thu, 8 Aug 2019 09:49:03 +0000 (10:49 +0100)]
IVGCVSW-3597 Add complete test suite for the dynamic backends

 * Added Runtime tests with dynamic backends
 * All other unit tests have already implemented in previous stories

Change-Id: I0167b3b45dd00c1956514e2df051e4445727f014
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3596 Register the dynamic backends in the BackendRegistry
Matteo Martincigh [Mon, 5 Aug 2019 13:12:11 +0000 (14:12 +0100)]
IVGCVSW-3596 Register the dynamic backends in the BackendRegistry

 * Added getter for the factory function in the DynamicBackend class
 * Added new RegisterDynamicBackends method in utils class
 * Added dynamic backend registration process in the Runtime class
 * Added new dummy dynamic backend objects for testing
 * Added unit tests for dynamic backend registration
 * Added convenience methods to BackendId

Change-Id: I01e147d1d6f01bf56747ad946f73f867af5770c4
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3595 Implement the LoadDynamicBackends function in the Runtime class
Matteo Martincigh [Mon, 5 Aug 2019 13:12:11 +0000 (14:12 +0100)]
IVGCVSW-3595 Implement the LoadDynamicBackends function in the Runtime class

 * Changed the way the handle is acquired, loaded symbols are now kept local
 * Updated the makefiles to add more test files for the dynamic backends
 * Fixed the GetSharedObjects method so that the files are parsed in
   alphabetical order
 * Updated the unit tests to make them more strict wrt the order of the
   files
 * Created a new CreateDynamicBackends method in the utils class
 * Added new unit tests for the new function
 * Added LoadDynamicBackends in the Runtime class

!android-nn-driver:1707

Change-Id: I1ef9ff3d5455ca6a7fd51cb7cfb3819686234f70
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3608 Fix Neon depthwise convolution 5x5 failure
Matthew Jackson [Fri, 2 Aug 2019 13:53:10 +0000 (14:53 +0100)]
IVGCVSW-3608 Fix Neon depthwise convolution 5x5 failure

* Fix issued caused by layers with 5x5 filters and depth multipliers > 1

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I58435a1f0e3c7e69861dc130fad525a01e2a849d

5 years agoIVGCVSW-3614 Remove limitation of axis=1 support for Softmax in Cl and Neon
Narumol Prangnawarat [Tue, 6 Aug 2019 16:34:22 +0000 (17:34 +0100)]
IVGCVSW-3614 Remove limitation of axis=1 support for Softmax in Cl and Neon

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id990ae7445080f6b4d5a0e6f942f871879a52f75

5 years agoGitHub #240 Fix bias shape in CreatePreCompiledWorkloadTest()
Aron Virginas-Tar [Tue, 6 Aug 2019 10:01:53 +0000 (11:01 +0100)]
GitHub #240 Fix bias shape in CreatePreCompiledWorkloadTest()

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I10b8d5e2e95eb8f48a6be29005136459c3da2957

5 years agoIVGCVSW-3600 Update the docs with the naming convention for dynamic
Matteo Martincigh [Thu, 1 Aug 2019 10:47:01 +0000 (11:47 +0100)]
IVGCVSW-3600 Update the docs with the naming convention for dynamic
backend files

 * Added a section to the backends' README file to detail the
   dynamic backend file naming scheme
 * Added table with examples of valid/not valid filenames

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I59b88b96292a189056b9fceb155aedd07ee27225

5 years agoIVGCVSW-3612 Update the docs to include description of dynamic
Matteo Martincigh [Mon, 5 Aug 2019 11:19:22 +0000 (12:19 +0100)]
IVGCVSW-3612 Update the docs to include description of dynamic
backend loading paths

 * Described the DYNAMIC_BACKEND_PATHS macro usage
 * Described the override in the CreationOptions class

Change-Id: I1ec17fa586acb5c1e3d2f0dfb6c954532d594830
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3599 Create the GetSharedObjects method in DynamicBackendUtils
Jan Eilers [Thu, 25 Jul 2019 16:08:37 +0000 (17:08 +0100)]
IVGCVSW-3599 Create the GetSharedObjects method in DynamicBackendUtils

 * Added GetSharedObjects to DynamicBackendUtils
 * Goes through the given paths and returns a list of files that
   match the naming scheme for dynamic backends
 * Added unit test
 * Update the cmake file to generate the test files/symlinks

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ibfc0bad740b72696714d343eb32a593c2ec1f8c6

5 years agoIVGCVSW-3541 Get the paths where to load the dynamic backends from
Matteo Martincigh [Mon, 5 Aug 2019 11:16:47 +0000 (12:16 +0100)]
IVGCVSW-3541 Get the paths where to load the dynamic backends from

 * Adds GetBackendPaths and IsPathValid to DynamicBackendUtils
 * Adds related unit tests

Change-Id: I94e377d92a88a4b5d48026f6ad5b4d5387d20c21
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3341 Add Neon backend support for Quantized_LSTM (16bit cell state)
Francis Murtagh [Fri, 2 Aug 2019 12:20:54 +0000 (13:20 +0100)]
IVGCVSW-3341 Add Neon backend support for Quantized_LSTM (16bit cell state)

 * Add Neon Workload
 * Update NeonWorkloads.hpp
 * Update NeonWorkloadFactory
 * Update NeonLayerSupport
 * Update backends.mk and CMakeLists.txt
 * Add NeonCreateWorkload test
 * Enable LayerTest

!android-nn-driver:1685

Change-Id: Idd799bbf039acf0d59084d02c3b57766ce3691b5
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
5 years agoIVGCVSW-3541 Change the makefiles to generate the necessary test files
Matteo Martincigh [Mon, 5 Aug 2019 14:27:55 +0000 (15:27 +0100)]
IVGCVSW-3541 Change the makefiles to generate the necessary test files
for dynamic backends

 * Added dummy files and directories to use for the dynamic backend
   unit tests
 * Created a combination of valid/invalid files, valid/invalid directories
   and valid/invalid symlinks to cover all the use cases
 * Provides a base on top of which to rebase further changes for the
   developemnt of the dynamic backend feature

Change-Id: I6e157d8ba035d7931c9ea20f70ffd5b76d03334e
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3277 Mem export/import suppor for Tensors
Derek Lamberti [Thu, 1 Aug 2019 14:56:25 +0000 (15:56 +0100)]
IVGCVSW-3277 Mem export/import suppor for Tensors

* Rename MemoryStrategy to EdgeStrategy
* Add MemImportLayer
* Import memory rather than copy when possible

Change-Id: I1d3a9414f2cbe517dc2aae9bbd4fdd92712b38ef
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
5 years agoIVGCVSW-3342 Add CL backend support for Quantized_LSTM (16bit cell state)
Ferran Balaguer [Thu, 1 Aug 2019 08:58:08 +0000 (09:58 +0100)]
IVGCVSW-3342 Add CL backend support for Quantized_LSTM (16bit cell state)

!android-nn-driver:1685

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I17278562f72d4b77e22c3af25bf7199b9150a765

5 years agoIVGCVSW-3611 Report TransposeConvolution2d as unsupported on CpuRef when channel...
Aron Virginas-Tar [Mon, 5 Aug 2019 10:52:05 +0000 (11:52 +0100)]
IVGCVSW-3611 Report TransposeConvolution2d as unsupported on CpuRef when channel multiplier != 1

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I784bbff3f7b6650881d3f70ba7cd1891171195b1

5 years agoIVGCVSW-3609 Fix decoding and encoding of INT32 tensors
Aron Virginas-Tar [Fri, 2 Aug 2019 17:54:28 +0000 (18:54 +0100)]
IVGCVSW-3609 Fix decoding and encoding of INT32 tensors

* Added Int32Decoder and Int32Encoder to decode INT32 tensors
* Changed MakeDecoder to return ScaledInt32Decoder only
  if the scale is different from 0, i.e. for quantized bias
  tensors

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I278061d445d1c549c7ace11f51aa172ce7c691ae

5 years agoIVGCVSW-3561 Fix the linker issues of the test shared objects in
Matteo Martincigh [Thu, 1 Aug 2019 16:09:03 +0000 (17:09 +0100)]
IVGCVSW-3561 Fix the linker issues of the test shared objects in
the Android builds

 * Changed the test libs from SHARED to MODULE
 * Added IBackendInternal.cpp to separate the default
   implementation of OptimizeSubgraphView from the header file
 * Linked the modules against armnn to get the missing symbols
 * Renamed the test modules to avoid name clashing in the CI system
 * Moved the test shared objects to separate folders to keep the
   filesystem tidy

Change-Id: I987c56d2d66bdb86f7b391a83c602d0dadf4c674
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
5 years agoIVGCVSW-3604 Fix channel shape calculation in TransposeConvolution2dLayer::InferOutpu...
Narumol Prangnawarat [Fri, 2 Aug 2019 14:08:59 +0000 (15:08 +0100)]
IVGCVSW-3604 Fix channel shape calculation in TransposeConvolution2dLayer::InferOutputShapes

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I2e3d5922bb89c8f3b84ff5458fda981ff177c3ce

5 years agoIVGCVSW-3539 Add Neon support and tests for Stack
Matthew Jackson [Thu, 1 Aug 2019 09:01:34 +0000 (10:01 +0100)]
IVGCVSW-3539 Add Neon support and tests for Stack

* Added Neon backend support for Stack
* Added unit tests for Stack on the Neon backend

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I21379966a6303285f8b65418d0d4ac7982cc9f04

5 years agoIVGCVSW-3470 Add Quantized_LSTM tests
James Conroy [Thu, 1 Aug 2019 15:01:48 +0000 (16:01 +0100)]
IVGCVSW-3470 Add Quantized_LSTM tests

  * Added Layer and Create Workload tests
    for the new Quantized LSTM layer.
  * Tests to be enabled on NEON and CL in
    their respective patches.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I7e9e9768dd63010ab58367c45fffcff452377cfb

5 years agoIVGCVSW-3577 Update ACL pin to include NEON convolution output multiplier fix
Aron Virginas-Tar [Fri, 2 Aug 2019 09:29:28 +0000 (10:29 +0100)]
IVGCVSW-3577 Update ACL pin to include NEON convolution output multiplier fix

!android-nn-driver:1668

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I33de31d35fa9c7d76f1738e343c5d28270e9a2c1

5 years agoIVGCVSW-3571 Fix VTS Test Skips
Mike Kelly [Thu, 1 Aug 2019 07:43:57 +0000 (08:43 +0100)]
IVGCVSW-3571 Fix VTS Test Skips

 * Fixed FP16 failures on Max, Min, BatchToSpace on Gpu
 * Fixed Signed32 skips on Maximum and Minimum

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I4bea19af1a0ae4c8950af8c6d5d68622cdd9b674

5 years agoIVGCVSW-3539 Add CL support and tests for Stack
Matthew Jackson [Wed, 31 Jul 2019 13:06:28 +0000 (14:06 +0100)]
IVGCVSW-3539 Add CL support and tests for Stack

* Added CL backend support for Stack
* Added unit tests for Stack on the CL backend
* Refactored unit tests to support generic data types

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I38ee3e9d8947ea98a3104c982698001e704d7d89

5 years agoIVGCVSW-3571 Add Gpu backend to CI tests for Android Q
Sadik Armagan [Wed, 31 Jul 2019 15:36:27 +0000 (16:36 +0100)]
IVGCVSW-3571 Add Gpu backend to CI tests for Android Q

 * Fixed Quantized FP16 failures on GpuAcc

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ia6372da1305c3e826f56ba537e11acf7875c2d74

5 years agoIVGCVSW-3561 Use absolute path of unit tests
Matteo Martincigh [Wed, 31 Jul 2019 10:05:16 +0000 (11:05 +0100)]
IVGCVSW-3561 Use absolute path of unit tests

 * Using the absolute path of the unit tests executable so that
   the unit tests can be run from anywhere and the relative path
   to the test shared objects would still work

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I57401daa162570e9ab1717d28a54a19f421afb0e

5 years agoIVGCVSW-3581 Fix AddCopyLayers and associated tests
Matthew Bentham [Tue, 30 Jul 2019 08:24:12 +0000 (08:24 +0000)]
IVGCVSW-3581 Fix AddCopyLayers and associated tests

Take a copy of the MemoryStrategies for a layer before inserting
new connections. Use the copy when looking up the original MemoryStrategies
during the graph transformation.

Fix the unit tests for AddCopyLayers to have cases where copies are needed.
Fix the validation for clarity and correctness - was previously comparing
Layers by pointer when it should have been by name (as it was comparing
with a cloned graph).

Change-Id: Ie282dc11913e977b8151ce1ad8bfba5e11617d40
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
5 years agoIVGCVSW-3561 Test the DynamicBackend class
Matteo Martincigh [Wed, 24 Jul 2019 13:56:13 +0000 (14:56 +0100)]
IVGCVSW-3561 Test the DynamicBackend class

 * Added unit test for valid dynamic backends
 * Added unit tests for various cases of invalid dynamic backends
   (invalid handle, malformed backends, incompatible version, etc.)

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I4c3b33702bb0faac2bbebe224f69908639b4fc54

5 years agoIVGCVSW-3555 Add unit tests for the dynamic backend utility functions
Matteo Martincigh [Fri, 26 Jul 2019 14:12:47 +0000 (15:12 +0100)]
IVGCVSW-3555 Add unit tests for the dynamic backend utility functions

 * Added a test library to exercise the utility functions that
   handle the shared objects

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ic8095febca2a46050831eb42f55a714f3ae3bfe3

5 years agoIVGCVSW-3592 Add Support for Quantize to HAL 1.2 Driver
Sadik Armagan [Mon, 29 Jul 2019 16:16:40 +0000 (17:16 +0100)]
IVGCVSW-3592 Add Support for Quantize to HAL 1.2 Driver

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ib93c94a15fe15495664d509630cce373a69e1612

5 years agoIVGCVSW-3471 Add Serialization support for Quantized_LSTM
Jan Eilers [Tue, 23 Jul 2019 08:47:43 +0000 (09:47 +0100)]
IVGCVSW-3471 Add Serialization support for Quantized_LSTM

* Adds serialization/deserialization support
* Adds related Unit test

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Iaf271aa7d848bc3a69dbbf182389f2241c0ced5f

5 years agoIVGCVSW-3574 Update the docs with the backend versioning info
Matteo Martincigh [Fri, 26 Jul 2019 08:54:26 +0000 (09:54 +0100)]
IVGCVSW-3574 Update the docs with the backend versioning info

 * Added new Dynamic Backends section
 * Added new sub-section for the dynamic backends base interface
 * Added new sub-section for the backend versioning rules

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Icf8ce9573b13004eac5a238a259e79936f2d26fb

5 years agoIVGCVSW-3556 Create the DynamicBackend class
Matteo Martincigh [Wed, 24 Jul 2019 08:54:26 +0000 (09:54 +0100)]
IVGCVSW-3556 Create the DynamicBackend class

 * Created the new DynamicBackend class with all the necessary
   getters/utility functions
 * Created function types to mirror the backend interface functions

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I80a29e6e8a8d0b0655caba63d12cf62e0d8fc832

5 years agoMLCE-130: Enabled optimized path for DepthwiseConv 5x5
Pablo Tello [Fri, 26 Jul 2019 12:45:48 +0000 (13:45 +0100)]
MLCE-130:  Enabled optimized path for DepthwiseConv 5x5

Change-Id: I5cd90121e5fe1b49b394ee6f5a87e86520a30119
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
5 years agoIVGCVSW-3554 Update workloads to pass Softmax Axis Parameter to Backends
Francis Murtagh [Fri, 26 Jul 2019 14:44:17 +0000 (15:44 +0100)]
IVGCVSW-3554 Update workloads to pass Softmax Axis Parameter to Backends

 * Add check in CL and Neon to ensure axis is 1 otherwise
   return unsupported.
 * Edit CreateWorkload test and JsonPrinter test to ensure axis of 1.

Change-Id: I499b405532e26fefc2dd1c18b6dc6005813b5604
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3537 Add support for L2 Normalization with < 4 dimensional tensors
Matthew Jackson [Thu, 25 Jul 2019 15:14:30 +0000 (16:14 +0100)]
IVGCVSW-3537 Add support for L2 Normalization with < 4 dimensional tensors

* Fix reference L2 Normalization workload to support < 4 dimensional tensors
* Add unit test for L2 Normalization with 2d tensor to Reference, Neon and CL test suites
* Fix typo in StackLayer

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I48a6a1289bcb02955b24f261bc70b467bd1abc23

5 years agoIVGCVSW-3368 Add Neon and CL unit tests for depth multiplier = 64
Matthew Jackson [Thu, 25 Jul 2019 11:58:56 +0000 (12:58 +0100)]
IVGCVSW-3368  Add Neon and CL unit tests for depth multiplier = 64

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Icd89230d0698f32a5ebe36ec5012a0fcc19e1565

5 years agoIVGCVSW-3566 Fix LSTM with normalization and Cifg WorkloadFactory
Ferran Balaguer [Wed, 24 Jul 2019 16:03:45 +0000 (17:03 +0100)]
IVGCVSW-3566 Fix LSTM with normalization and Cifg WorkloadFactory

Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: I586415357d0f0d315c7174ad385167effa66b195

5 years agoFix ModelAccuracyTool and ImageTensorGenerator's command line option typo
SiCong Li [Thu, 25 Jul 2019 13:54:39 +0000 (14:54 +0100)]
Fix ModelAccuracyTool and ImageTensorGenerator's command line option typo

Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: Id753fa1ea7a0aabc95b319cb78492f4220b701a4

5 years agoIVGCVSW-3543 Implement the backend versioning algorithm
Matteo Martincigh [Thu, 25 Jul 2019 14:25:44 +0000 (15:25 +0100)]
IVGCVSW-3543 Implement the backend versioning algorithm

 * Added version structure for backends, with comparisons operators
 * Added version to IBackendInternal
 * Added version utility function to DynamicBackendUtils class

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I3697469675c27f79f7cfb296cfa69ec7e06375e5

5 years agoIVGCVSW-3555 Fix string formatting in DynamicBackendUtils
Matteo Martincigh [Thu, 25 Jul 2019 13:04:40 +0000 (14:04 +0100)]
IVGCVSW-3555 Fix string formatting in DynamicBackendUtils

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I97d5fe93e1448778fc020fd6fbd5a47a3f5e7235

5 years agoIVGCVSW-3521 CpuAcc V1.2 pad Failures
Mike Kelly [Thu, 25 Jul 2019 07:39:31 +0000 (08:39 +0100)]
IVGCVSW-3521 CpuAcc V1.2 pad Failures

 * Pad value for QASYMM8 is no longer stored in quantized form.

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I048e1d233353c0560ae03a7cc1ed5199295352bc

5 years agoIVGCVSW-3563 + IVGCVSW-3555 Create new utility functions for dynamic backends
Matteo Martincigh [Wed, 24 Jul 2019 08:15:00 +0000 (09:15 +0100)]
IVGCVSW-3563 + IVGCVSW-3555 Create new utility functions for dynamic backends

 * Created new DynamicBackendUtils class
 * Added OpenHandle, CloseHandle, GetEntryPoint and GetDlError methods to it

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I88c683b2c5d37968a9ebdf335be932ae2d9061e5

5 years agoIVGCVSW-3469 Add front end for Quantized LSTM layer
James Conroy [Wed, 17 Jul 2019 10:27:46 +0000 (11:27 +0100)]
IVGCVSW-3469 Add front end for Quantized LSTM layer

 * Added new layer QuantizedLstm (Android Q)
 * Made necessary changes to APIs
 * Added unit tests

Change-Id: I3b9f16b0e7e49f51932cf204c87cb7118798123a
Signed-off-by: James Conroy <james.conroy@arm.com>
5 years agoIVGCVSW-3476 Add InferOutputShapes unit tests for convolution workloads
Teresa Charlin [Thu, 18 Jul 2019 15:23:58 +0000 (16:23 +0100)]
IVGCVSW-3476 Add InferOutputShapes unit tests for convolution workloads

* Convolution2d, DepthwiseConvolution2d & TransposeConvolution2d

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I2490c684765d8c7349183572f46e86c201b8eefd

5 years agoFix various uses of non-standard C++:
Rob Hughes [Tue, 23 Jul 2019 14:37:19 +0000 (15:37 +0100)]
Fix various uses of non-standard C++:

* Replace u_int32_t with uint32_t
* Replace size_t with uint32_t for initializer list of TensorInfo
* Replace variable size arrays with std::vector
* Replace reference to local variable during its initialisation

Change-Id: I298b3995f1525f90a1ab2416d7e270315698fae3

5 years agoAdd DLL copy commands for armnnTfLiteParser.dll
Rob Hughes [Tue, 23 Jul 2019 14:34:01 +0000 (15:34 +0100)]
Add DLL copy commands for armnnTfLiteParser.dll

Change-Id: Ibf4448bc898d2265ddba1be038d8ebc757bcdc2e

5 years agoNNXSW-1697 Remove use of SubgraphView that may become invalid.
Rob Hughes [Tue, 23 Jul 2019 14:33:39 +0000 (15:33 +0100)]
NNXSW-1697 Remove use of SubgraphView that may become invalid.

The mainSubgraph variable held references to layers in the optimised
graph that become invalid when a graph substitution is made.

The fix is to always use the optimised graph itself rather than a
view of it. The view served no purpose anyway.

Change-Id: Iad75f5829597ec43a774cfd7f2e5e7dede09dfa4

5 years agoFix and clean up ImageTensorGenerator
SiCong Li [Thu, 18 Jul 2019 15:33:42 +0000 (16:33 +0100)]
Fix and clean up ImageTensorGenerator

* Fix the issue that uint8_t image tensors are written out as
characters.
* Add doxygen comments.

Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: Ic5b3af489f405abcc1ed1e7dd76f56c5ae7ffbf4

5 years agoIVGCVSW-3526 Add layer norm support for lstm serialization
Jan Eilers [Wed, 17 Jul 2019 10:07:49 +0000 (11:07 +0100)]
IVGCVSW-3526 Add layer norm support for lstm serialization

* Adds layer norm support for serialization/deserialization
* Adds related unit tests

Change-Id: If80b668accc8b0754a93d18ab3a243284cb383d1
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
5 years agoIVGCVSW-3536 Add Axis parameter to reference Softmax implementation
Francis Murtagh [Tue, 23 Jul 2019 08:50:50 +0000 (09:50 +0100)]
IVGCVSW-3536 Add Axis parameter to reference Softmax implementation

 * Add Axis parameter to Softmax Descriptor
 * Add new reference implementation for Softmax using Axis parameter
 * Add unit tests to cover each Axis

Change-Id: Iafac2275d2212337456f2b1b56b0f76f77fb9543
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
5 years agoIVGCVSW-3548 Use BuildArmComputePadStrideInfo() in CL and NEON convolution workloads
Aron Virginas-Tar [Mon, 22 Jul 2019 14:30:22 +0000 (15:30 +0100)]
IVGCVSW-3548 Use BuildArmComputePadStrideInfo() in CL and NEON convolution workloads

* Refactoring: use existing utility function for creating arm_compute::PadStrideInfo
  objects in CL and NEON convolution workloads instead of duplicating code

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id5e5a0f264e20af99dabce8dd8c6b782dedb94e6

5 years agoGithub #229 Remove unused include
Mike Kelly [Mon, 22 Jul 2019 13:55:51 +0000 (14:55 +0100)]
Github #229 Remove unused include

 * experimental/filesystem is unavailable in some versions of LLVM

Change-Id: I0136bc911f2607561e8000fe9fa7c07f480554b6
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
5 years agoIVGCVSW-3368 Add reference support for depthwise multiplier > 3
Matthew Jackson [Mon, 22 Jul 2019 12:53:24 +0000 (13:53 +0100)]
IVGCVSW-3368 Add reference support for depthwise multiplier > 3

* Remove multiplier check in TfLite parser
* Add reference unit test for depthwise multipler of 64, as in DeepSpeaker

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I787339ab4c4d269333985353d191202d070906ba

5 years agoIVGCVSW-3383 - Add TfLite Parser support for L2 Normalization layer
Matthew Jackson [Thu, 18 Jul 2019 09:47:03 +0000 (10:47 +0100)]
IVGCVSW-3383 - Add TfLite Parser support for L2 Normalization layer

* Added ParseL2Normalization in TfLiteParser
* Added new unit tests L2Normalization.cpp
* Added documentation for supported L2 Normalization to TensorflorLiteSupport.md

Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I83ea75d1791ac8a00390aed3e5d0a7b337fcd46d

5 years agoIVGCVSW-3311 Refactor Validate() methods in WorkloadData.cpp
Aron Virginas-Tar [Fri, 19 Jul 2019 10:37:10 +0000 (11:37 +0100)]
IVGCVSW-3311 Refactor Validate() methods in WorkloadData.cpp

* Use ValidateTensorDataTypesMatch() instead of ValidateDataTypes() to
  check whether two tensors have the same DataType
* Use const TensorInfo& aliases for tensor infos checked in multiple
  places
* Use a const std::string& alias for the descriptorName instead of
  using string literals throughout the code

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ie59db29b74d8b75bf07c5a6944f65f5e186cf8db