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
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
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
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
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
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
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>
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>
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
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
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
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
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
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
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
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
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>
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
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
Rob Hughes [Tue, 23 Jul 2019 14:34:01 +0000 (15:34 +0100)]
Add DLL copy commands for armnnTfLiteParser.dll
Change-Id: Ibf4448bc898d2265ddba1be038d8ebc757bcdc2e
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
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
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>
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>
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
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>
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
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
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
Nikhil Raj [Mon, 22 Jul 2019 10:27:29 +0000 (11:27 +0100)]
IVGCVSW-3481 Add End to End test for Prelu in the Neon backend
Change-Id: I3061fa980fccdfb358ebfaf2870b57b110ed182e
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Nikhil Raj [Mon, 22 Jul 2019 09:13:22 +0000 (10:13 +0100)]
IVGCVSW-3480 Add End to End test for Prelu in the CL backend
Change-Id: Iefa78dc4c3f9d3075a8b91794eb4cf469268d946
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Nikhil Raj [Fri, 19 Jul 2019 14:15:23 +0000 (15:15 +0100)]
IVGCVSW-3479 Add End to End test for Prelu
Change-Id: I041bdf9e721a4384ea3c2be0184787dd1f4ea08e
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
FinnWilliamsArm [Thu, 18 Jul 2019 10:15:42 +0000 (11:15 +0100)]
IVGCVSW-3453 Fix VTS quant_output_multiplier_gt_1 test failures
* Remove ValidateTensorQuantizationMultiplier
* Update CL pin to COMPMID-2336
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: Iaece5b564134f7ec91f82cb246bcb10ad455999d
Ellen Norris-Thompson [Mon, 15 Jul 2019 13:23:30 +0000 (14:23 +0100)]
IVGCVSW-3297 Add Neon backend support for ResizeNearestNeighbour
* Renamed NeonResizeBilinearWorkload.* to NeonResizeWorkload.* and added support for ResizeNearestNeighbour
* Added CreateWorkload and LayerTests for Neon backend
Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
Change-Id: I72f5340608a0928f8b32a41d1915ee2c35849f18
Matthew Jackson [Tue, 16 Jul 2019 10:39:21 +0000 (11:39 +0100)]
IVGCVSW-3423 Add TfLite parser support for Stack (Pack) layer
* Added ParsePack method
* New unit test Pack.cpp
* Updated TensorFlowLiteSupport.md with new supported operator
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I2310b33ee26959b036bb4452a25c90cc1d4cbf20
Matthew Jackson [Thu, 11 Jul 2019 11:07:09 +0000 (12:07 +0100)]
IVGCVSW-3419 Add reference workload support for the new Stack layer
* Added reference workload for the Stack layer
* Added factory methods
* Added validation support
* Added unit tests
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Ib14b72c15f53a2a2ca152afc357ce2aa405ccc88
Aron Virginas-Tar [Tue, 16 Jul 2019 15:34:10 +0000 (16:34 +0100)]
Remove unnecessary include from ClResizeWorkload.cpp
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I5c8f6d08653646d99f839ceca11931e3be0467d8
SiCong Li [Thu, 11 Jul 2019 11:02:45 +0000 (12:02 +0100)]
MLCE-103 Clean up ModelAccuracyTool and ImageTensorGenerator
* Fix ImageTensorGenerator command line options
* Update ModelAccuracyTool README
* Update ImageTensorGenerator README
Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: I19e573f2b4aa0d7ecab63dc3886a66aa9d8724bc
Ferran Balaguer [Wed, 10 Jul 2019 11:43:58 +0000 (12:43 +0100)]
IVGCVSW-3478 Refactor armnn to make new Lstm parameters available in android-nn-driver through ILayerSupport.h
!android-nn-driver:1506
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: Ia9904bd355c72a84f07d0a26faf143a4d6aead9c
Matthew Jackson [Thu, 11 Jul 2019 14:54:20 +0000 (15:54 +0100)]
IVGCVSW-3420 Add Serialization support for the new Stack layer
* Adds serialization/deserialization support
* Adds related unit test
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I69deb5397b8a06c679715e24971e9bb1c282140d
Nikhil Raj [Mon, 15 Jul 2019 12:38:37 +0000 (13:38 +0100)]
IVGCVSW-3513 Update CL pin that fixes impl_base.hpp not found issue
!android-nn-driver:1546
Change-Id: I2b6ca7843aa66cafcbdbf7acd9b2ab9b306c75eb
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Nikhil Raj [Mon, 15 Jul 2019 14:08:22 +0000 (15:08 +0100)]
IVGCVSW-3519 Refactor TransposeConvolution2dWorkload for CL backed
Change-Id: I2c458499b05b16f71decd09e6b642ce3725623fc
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Matthew Bentham [Fri, 12 Jul 2019 16:26:57 +0000 (17:26 +0100)]
Github #226 Use correct paths returned by FindBoost.cmake
According to the documentation in FindBoost.cmake these
are the correct output variables.
Change-Id: If56874aaafe1577888f73719f0a493088d1ac531
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Jan Eilers [Fri, 12 Jul 2019 09:46:33 +0000 (10:46 +0100)]
IVGCVSW-3495 Refactor names of convolution2d unit tests
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Idb1325cba730dbf62b4742e4078220ef97d4b526
SiCong Li [Mon, 24 Jun 2019 15:03:33 +0000 (16:03 +0100)]
MLCE-103 Add necessary enhancements to ModelAccuracyTool
* Evaluate model accuracy using category names instead of numerical
labels.
* Add blacklist support
* Add range selection support
Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: I7b1d2d298cfcaa56a27a028147169404b73580bb
Matthew Jackson [Fri, 12 Jul 2019 08:37:18 +0000 (09:37 +0100)]
IVGCVSW-3421 Add Quantizer support for the new Stack layer
* Implemented VisitStackLayer
* Added unit test for Stack layer quantization
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I6f708543711c3600fa6c78d6d1f41ef14bbb90bb
Matthew Bentham [Fri, 12 Jul 2019 15:44:29 +0000 (16:44 +0100)]
Github #227 Remove unnecessary includes
Change-Id: I08640891a206b40da478fdaa7634e7a2f76784af
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Aron Virginas-Tar [Tue, 2 Jul 2019 16:25:47 +0000 (17:25 +0100)]
IVGCVSW-3296 Add CL backend support for ResizeNearestNeighbour
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I7f4c722141837939fd8904c52e75704a15c8a5e3
Jan Eilers [Thu, 11 Jul 2019 09:22:36 +0000 (10:22 +0100)]
IVGCVSW-3300 Add Neon backend support for dilated Convolution2d
* Update NeonConvolution2dWorkload
* Enable unit tests
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I1709e71e4944c5cbdcc99a003479c1fce45a612a
Aron Virginas-Tar [Thu, 11 Jul 2019 13:57:01 +0000 (14:57 +0100)]
Update ACL pin to
d473386e4d5e0edcf55e13a2bf3c422a23fac0de
* Includes fixes for ResizeNearestNeighbor on CL and NEON
!android-nn-driver:1523
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I959e43cab21dce10a9072320fada11fcb57d41f2
Mike Kelly [Thu, 11 Jul 2019 10:46:21 +0000 (11:46 +0100)]
IVGCVSW-3454 Fix VTS dilated conv2d test failures
* Updated InferOutputShapes to take dilation into account
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I84e999dc037fa47ce5290e9baa0df94bc9e7ce4d
Jan Eilers [Thu, 11 Jul 2019 08:19:35 +0000 (09:19 +0100)]
IVGCVSW-3298 Add CL backend support for dilated Convolution2d
* Update ClConvolution2dWorkload
* Enable unit tests
Change-Id: Id07bae220a35a0cadcacebe615f156622ae5f196
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Kevin May [Thu, 11 Jul 2019 08:50:15 +0000 (09:50 +0100)]
IVGCVSW-3492 - Fix for Array must be initialized error
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ic4177278bb8fb9e6e7e3c03ff8f49bfa99f5efdd
Teresa Charlin [Tue, 9 Jul 2019 14:45:35 +0000 (15:45 +0100)]
IVGCVSW-3468 Add Unit test for Conv2D that combines
strides, dilation and padding
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Iea99a162e1f0c823cd0f8bc0ae2fb5f461778515
Matthew Jackson [Thu, 4 Jul 2019 13:59:16 +0000 (14:59 +0100)]
IVGCVSW-3418 Add Arm NN front end support for the new Stack layer
* Added new StackLayer class
* Made necessary changes to Descriptors, ILayerSupport, ILayerVisitor, etc.
* Added unit tests
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Ieb97a928a342ffe1901c6058eb895711c358fd3d
Jan Eilers [Mon, 8 Jul 2019 08:57:55 +0000 (09:57 +0100)]
IVGCVSW-3337 Add Neon backend support for LSTM layer normalisation
* Update neon lstm workload
* Add unit tests
* Add isLstmSupported
Change-Id: I493c159137f6544b0f2532d16d4fafd7a7e587e5
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
FinnWilliamsArm [Tue, 9 Jul 2019 15:01:41 +0000 (16:01 +0100)]
IVGCVSW-3465 Add Customizable padding QSymm16 Unit Test to Neon
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I327187b007e1aa18f3385766f4a82e113301a2f3
FinnWilliamsArm [Tue, 9 Jul 2019 13:46:28 +0000 (14:46 +0100)]
IVGCVSW-3467 Add CL Backend support for Pad_v2 with Unit Test
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I4c51e49ef57065e9fb0038175e67290c59d5f396
Jan Eilers [Mon, 8 Jul 2019 14:56:59 +0000 (15:56 +0100)]
IVGCVSW-3338 Add CL backend support for LSTM normalization
* Enable calls to LSTM normalization unit tests on CL backend.
* Update CL workload to set the layer normalization parameters.
!android-nn-driver:1461
Change-Id: Ia5a29918961c391c1f1d8f331add377a38822ddd
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
SiCong Li [Fri, 21 Jun 2019 15:02:40 +0000 (16:02 +0100)]
MLCE-103 Remove hardcoded output shape in ModelAccuracyTool
We can obtain the output tensor shape from the model provided by
the user.
Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: I5074734315174c1b5dc8eea1eff18a4a1c566f2a
Ellen Norris-Thompson [Wed, 26 Jun 2019 15:40:36 +0000 (16:40 +0100)]
IVGCVSW-3355 Add NeonSpaceToDepthWorkload
* Add Neon backend support for SpaceToDepth
* Enabled Neon Unit, CreateWorkload and
EndToEnd tests for SpaceToDepth.
* Added QSymm16 support to NeonTensorHandle.
Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
Change-Id: Ibbb0bce5ad77dace2bf4c4c111006d2fadf844e8
SiCong Li [Fri, 21 Jun 2019 11:00:04 +0000 (12:00 +0100)]
MLCE-103 Use ImageTensorGenerator in ModelAccuracyTool
* Refactor ImageTensorGenerator into a header so that it can be used
inside ModelAccuracyTool. ModelAccuracyTool now can accept image files
instead of tensor text files as input. ImageTensorGenerator remains a
standalone tool for converting images into tensors text files.
* Inside the ImageTensorGenerator, use the existing image preprocessing
method InferenceTestImage::Resize which has the correct image normalization
techniques and other resize utilities.
Change-Id: Ia662fed4752fb81c5cfa6d15967c6aae4aaf1155
Signed-off-by: SiCong Li <sicong.li@arm.com>
Jan Eilers [Wed, 3 Jul 2019 17:20:40 +0000 (18:20 +0100)]
IVGCVSW-3397 Join lstm parameter infos in a struct for isLstmSupported
!android-nn-driver:1461
Change-Id: I9d8fe7adf13832ed0cbcfe98b2353c2f37011d22
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Narumol Prangnawarat [Mon, 8 Jul 2019 07:57:17 +0000 (08:57 +0100)]
IVGCVSW-3399 Add support of QuantisedSymm16 to Pad
* Add support of QuantisedSymm16 to Pad
* Fix custom padding tests
* Add unit tests for Pad QuantisedSymm16
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ieb9a4492760b13fa030a42eb4d38fd9ffd7a8c76
James Conroy [Tue, 2 Jul 2019 09:57:56 +0000 (10:57 +0100)]
IVGCVSW-3391 Add SpaceToDepth CreateWorkload and EndToEnd tests
* Refactored existing EndToEnd tests, moved
tests in reference to backendsCommon.
* Enabled EndToEnd tests for CL.
* Added new Ref/CL CreateWorkload tests.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I0a5e52961a8aca540d43241a3805d19c9c6ff56c
FinnWilliamsArm [Mon, 8 Jul 2019 13:11:33 +0000 (14:11 +0100)]
IVGCVSW-3435 Add Neon Backend support for Pad_v2 with Unit Test
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I685e17d2e721e4b0de50d88b04b63a5c2cfdc772
Narumol Prangnawarat [Mon, 8 Jul 2019 10:36:05 +0000 (11:36 +0100)]
IVGCVSW-3399 Add support of QuantisedSymm16 to Permute and unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id6ab073ae3e0ff5f60c2f4bef975798ce71c9f88
Teresa Charlin [Tue, 2 Jul 2019 15:24:09 +0000 (16:24 +0100)]
IVGCVSW-3393 Fix Ref Unit test for customizable padding value
Add Neon missing Unit Test for Uint8.
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I9207be8c8cf572ae9cbbf155010bb6dabe0c971c
Narumol Prangnawarat [Thu, 4 Jul 2019 09:29:00 +0000 (10:29 +0100)]
IVGCVSW-3399 Add support of QuantisedSymm16 to Debug and unit tests,
refactor to be done
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I6dbf6a2aa328b8c843632e1231931b4e1c6888bb
James Conroy [Mon, 1 Jul 2019 16:12:40 +0000 (17:12 +0100)]
IVGCVSW-3353 Add CL support and tests for SpaceToDepth
* Added CL backend support for SpaceToDepth.
* Enabled unit tests for SpaceToDepth on CL.
* Renamed unit tests to make them type-agnostic.
* Added QSymm16/S16 support to ClTensorHandle.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I417d82946142ed619c447428bf0b0c4a2116c004
Aron Virginas-Tar [Fri, 5 Jul 2019 15:01:08 +0000 (16:01 +0100)]
Fix member name in PadDescriptor
* Renamed m_padValue to m_PadValue to bring it in line with
our naming conventions
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I071aa42c9be495462c64697e5a923a5ec55de146
James Conroy [Thu, 4 Jul 2019 15:56:44 +0000 (16:56 +0100)]
IVGCVSW-3401 Update ACL pin to latest master
* Updated ACL pin to latest master.
* Minor changes to Softmax Neon/CL uint8
workloads to reflect refactoring in ACL.
!android-nn-driver:1476
Change-Id: I1c5005ddbcccdb41d8cb09d3fa61cf3ce0e9ffdb
Signed-off-by: James Conroy <james.conroy@arm.com>
Nikhil Raj [Wed, 3 Jul 2019 14:58:31 +0000 (15:58 +0100)]
IVGCVSW-3294 Add Neon backend support for PReLU
Change-Id: I2f92f7336d3b4188962a9d08b0e7c6372b1c648f
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Nikhil Raj [Fri, 5 Jul 2019 11:22:58 +0000 (12:22 +0100)]
IVGCVSW-3293 Add CL backend support for PReLU
Change-Id: I1bb187db89bb3eb883b8f0aca4c3439d82b56583
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Matteo Martincigh [Thu, 4 Jul 2019 16:52:55 +0000 (17:52 +0100)]
Fix the warning message reporting when sub-graphs fail to get optimized
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I92a83b61a0c89029cbde0a6cc26599691d171660
Matthew Bentham [Fri, 21 Jun 2019 16:22:23 +0000 (17:22 +0100)]
IVGCVSW-3307 Add RefMemoryManager
Simple pool memory manager for use in the reference backend,
in order to make the backend usable for testing large networks.
Change-Id: I5694da29052c60f95b57da595c64cc114d75b8ba
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Narumol Prangnawarat [Wed, 3 Jul 2019 13:55:57 +0000 (14:55 +0100)]
IVGCVSW-3399 Add QSymm16 IsLayerSupportedTest to reference backend
* Refactor and add QSymm16 to IsDepthwiseConvolutionSupported
* Refactor and add QSymm16 to IsEqualSupported
* Refactor and add QSymm16 to IsGreaterSupported
* Refactor and add QSymm16 to IsSplitterSupported
* Refactor and add QSymm16 to IsStridedSliceSupported
* Refactor and add QSymm16 to IsMemCopySupported
* Refactor IsFakeQuantizationSupported
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I4f115a5535748fc22df8bc90b24b537fd5dd95b8
Matteo Martincigh [Wed, 3 Jul 2019 09:17:40 +0000 (10:17 +0100)]
IVGCVSW-3277 Remove dead code
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ibc108699f0bccf9210defac8707c4f61cb181e3f
Matthew Bentham [Tue, 2 Jul 2019 14:45:18 +0000 (15:45 +0100)]
IVGCVSW-3307 TransposeConvolution: Don't call Map() before Execute()
Change-Id: I7a812eafc8c73d074049ba95189cbc17d276eee3
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Teresa Charlin [Tue, 2 Jul 2019 12:25:22 +0000 (13:25 +0100)]
IVGCVSW-3161 Bug Fix in Nearest Neighbor implementation;
consider 4 neighbors instead of 2.
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ia724b35f723157e9f51b5345964200f126b98267
Aron Virginas-Tar [Mon, 1 Jul 2019 18:01:44 +0000 (19:01 +0100)]
IVGCVSW-3382 Deprecate ResizeBilinear and use Resize with Bilinear method
!android-nn-driver:1451
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ieedbce1f6e95891137a250fdd07e2f7e4e1f4828
Jan Eilers [Wed, 26 Jun 2019 12:10:09 +0000 (13:10 +0100)]
IVGCVSW-3236 Extend Ref LSTM with layer normalization support
* Add descriptor values
* Update lstm queue descriptor validate function
* Update lstm workload
* Update isLstmSupported (Cl and Ref), LayerSupportBase, ILayerSupport
* Update lstm layer
* Add unit tests
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I932175d550facfb342325051eaa7bd2084ebdc18
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Matteo Martincigh [Thu, 27 Jun 2019 15:15:20 +0000 (16:15 +0100)]
IVGCVSW-3369 Add IsPreluSupported to default layer support
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ic3ed5911cea75b9052dab2ed802cbbe4bca38603
Matthew Bentham [Mon, 24 Jun 2019 11:51:25 +0000 (12:51 +0100)]
IVGCVSW-3307 Don't assume TensorInfo::Map() can be called before Execute()
Change-Id: I445c69d2e99d8c93622e739af61f721e61b0f90f
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Matthew Bentham [Tue, 18 Jun 2019 15:14:34 +0000 (16:14 +0100)]
IVGCVSW-3307 Introduce RefTensorHandle
Use it for intermediate tensors on reference backend.
Lays the groundwork for memory management in the reference backend.
Change-Id: I7d3ee132cac31bde70ae6e1b815f4f0b03d550a6
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Aron Virginas-Tar [Mon, 1 Jul 2019 15:12:58 +0000 (16:12 +0100)]
IVGCVSW-3361 Add end-to-end tests for Resize on CpuRef
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ie89dc91a2fc0281d58c6f1ccef65ed1228d33ccb
Teresa Charlin [Mon, 1 Jul 2019 15:22:56 +0000 (16:22 +0100)]
IVGCVSW-3366 Add Quantizer support for ResizeLayer
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ibfd4725bb04a5859488e968513cf11ac450fd277
Teresa Charlin [Mon, 1 Jul 2019 12:51:07 +0000 (13:51 +0100)]
IVGCVSW-3365 Add reference workload support for ResizeLayer
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Id551690065dca0686ce597d1f0c14fd73163481e
FinnWilliamsArm [Fri, 28 Jun 2019 14:07:10 +0000 (15:07 +0100)]
IVGCVSW-3364 Add serialization support for Resize layer
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I3b1af816cefc1760f63324f365de93f899c9c9ee
Teresa Charlin [Thu, 27 Jun 2019 14:41:57 +0000 (15:41 +0100)]
IVGCVSW-3363 Add frontend support for Resize Layer
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I63493ddb7598515773073deb6db2eb3a635c5dfe
Aron Virginas-Tar [Thu, 27 Jun 2019 17:54:47 +0000 (18:54 +0100)]
IVGCVSW-3162 Support CL workload for TransposeConv2D
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I3b021c0828d30298d99ddb211c9aae17fe3636f0
Aron Virginas-Tar [Thu, 27 Jun 2019 15:59:36 +0000 (16:59 +0100)]
Remove unnecessary include from RefLayerTests.cpp
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I0078d91f86f8632ab87c6c4484ca1ba52a142812
Aron Virginas-Tar [Wed, 26 Jun 2019 14:02:47 +0000 (15:02 +0100)]
IVGCVSW-3324 Add end-to-end tests for TransposeConvolution2d on CpuRef
* Added one end-to-end test for all supported data types and data layout
* Implemented RefLayerSupport::IsTransposeConvolution2dSupported()
* Fixed formula used in TransposeConvolution2dLayer::InferOutputShapes()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: If1ba3c226ecfa17f7fceffae857f39297c6433f2
Aron Virginas-Tar [Wed, 26 Jun 2019 14:02:47 +0000 (15:02 +0100)]
IVGCVSW-3320 Add reference workload support for TransposeConvolution2dLayer
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Icc64f8148c9d8a0d14d772e6e4e7865e70585cd9
Ferran Balaguer [Tue, 18 Jun 2019 15:46:00 +0000 (16:46 +0100)]
IVGCVSW-3287 Add L2Normalization epsilon CL workload support
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: Ifb7d50ed43cd66e219b17369130f9091d4a668e7
Narumol Prangnawarat [Wed, 26 Jun 2019 14:10:46 +0000 (15:10 +0100)]
IVGCVSW-3193 Allow ExecuteNetwork to have qasymm8 input type
and add option to quantize float inputs to qasymm8
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I54b13b8b53c31c05658fe9c310ca5a66df759aa5
Ferran Balaguer [Mon, 24 Jun 2019 11:43:38 +0000 (12:43 +0100)]
Update the CL pin to the latest master
* Update SoftMaxUint8Workload for CL and NEON to deal with
quantization parameters as vectors.
* Change Sigmoid Activation function QAsymm8 tests to use
scale=1.f/256.f and offset=0 as quatization output parameters.
!android-nn-driver:1417
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
Change-Id: Ief91f10193fbbbad0c0124ece41f0bf4e0dcd992
Keith Davis [Wed, 26 Jun 2019 14:28:43 +0000 (15:28 +0100)]
IVGCVSW-3197 Support SPACE_TO_DEPTH on Android
* Fix for undefined reference to IsLayerSupported
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: If9d39149a5ad41dbf835d79b8cb937ac253c927e
Francis Murtagh [Tue, 25 Jun 2019 13:41:55 +0000 (14:41 +0100)]
IVGCVSW-3347 Add EndToEnd test for BatchToSpaceNd
* Add Simple and complex end to end tests based on tensorflow.org examples
Change-Id: Ifa758a48cf5ea09f9be7945859cd37377dbb9465
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Francis Murtagh [Tue, 25 Jun 2019 09:57:10 +0000 (10:57 +0100)]
IVGCVSW-3249 Extend the BatchToSpace workload to support QSymm16
* Add reference supportedness validation checks.
* Call unit tests with QSymm16 data type.
Change-Id: Ie6621ca7072dfc69278198c53e09b090275a7fff
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>