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>
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
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
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
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>
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
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
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
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
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
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
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
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
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>
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