aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/test
AgeCommit message (Collapse)Author
2020-01-07IVGCVSW-4246 Enable -Wextra by defaultDerek Lamberti
!referencetests:218340 Change-Id: If24a604310d0363b1f09b406e4d53ebfeb106aad Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-31IVGCVSW-4246 Clean build of ArmNN API with -WextraFrancis Murtagh
Change-Id: I6003d2f82ca02d926dd95abee712337783eacfc7 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com> Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-12-31IVGCVSW-4246 Clean build of Visitors with -WextraDerek Lamberti
Change-Id: Icb1b35ff55fa22103777853e6f49fc282d61750d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-31IVGCVSW-4246 Clean build Layers with -WextraDerek Lamberti
Change-Id: I649cd2304fb0040164763d31a12fc77c6c3bed87 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-09IVGCVSW-4157 Pass custom options directly to backendsDerek Lamberti
Change-Id: I98cfb913dbd00cb94bdb5dbe82753ca147f7f671 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-09IVGCVSW-4211 Add Signed 8 bit Quantisation support into the Reference backendFinn Williams
!android-nn-driver:2435 Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I10ecd4a8937725953396805f33a3562a5384c4d4
2019-12-09IVGCVSW-4210 Create a public API for the common backend filesMatteo Martincigh
* Create a public API for the common backend files * Move OutputHandler to armnn internal * Remove unused headers Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I3e86d908b021e3561befa9d45158d87d2cbb18c0
2019-12-05Replace boost logging with simple loggerDerek Lamberti
!referencetests:214319 * Reduces arm nn binary size ~15% * Also fixed test logging black hole issues Change-Id: Iba27db304d9a8088fa46aeb0b52225d93bb56bc8 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-04IVGCVSW-4016 Add the Inference timeline trace and unit testsDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I0cfbc2e1ed8f1eded1841866ebf9f39a066e91af
2019-12-02IVGCVSW-4015 Add input and output workload to post-optimisation structureNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ic9fbe1300cf8c4b8a78bad5934f0b2d18b205090
2019-11-29IVGCVSW-4070 Implement "send post-optimized network structure"Narumol Prangnawarat
* Send post-optimisation network structure if profiling service is enabled * Refactor TimelineUtilityMethods * Fix RecordEvent to link eventGuid with eventClassGuid * Add common types and guid to LabelsAndEventClasses * Add CreateRelationship to TimelineUtilityMethods * Add CreateTypedEntity to TimelineUtilityMethods * Add MarkEntityWithType to TimelineUtilityMethods * Move VerifyTimeline functions to ProfilingTestUtils * Post-optimisation network structure unit tests to Ref, Cl, Neon Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I0194f2037c236450c912f4c3cb11e46b80c0f512
2019-11-29IVGCVSW-4209 Create a public API for the ArmNN UtilsMatteo Martincigh
* Moved the relevant armnnUtils headers to the new location: include/armnnUtils * Update the header usage throughout the source code !android-nn-driver:2387 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I2ba15cebcacafad2b5a1a7b9c3312ffc585e09d6
2019-11-28Github #274 Use non-deprecated path to boost headerMatthew Bentham
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: I78c389148fbb733115e97f40d5271f47d3750c75
2019-11-22Github #251 Surround local structs with anonymous namespaceMatthew Bentham
This fixes a one-definition-rule violation Change-Id: I0941ed21a04876009546b9b73f5fdfbf73c4110d Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
2019-11-15NNXSW-1853 Change SubgraphViewSelector algorithmRob Hughes
The current algorithm in SubgraphViewSelector has a bug that can lead to it producing subgraphs which have a dependency cycle (see the newly added test case 'ValidMerge' for a repro). It also fails to merge subgraphs in some cases where it could, which leads to smaller subgraphs. In the case of FSRCNN, the NPU cannot support these smaller subgraphs and so this is blocking us from supporting that network. This commit changes the algorithm to fix the dependency bug and also make it so that subgraphs are merged in the cases that were missed before. It also adds some unit tests to cover cases that were problematic before, and to extend coverage for the new algorithm. The new algorithm has two downsides compared to the previous one: 1. Disjoint subgraphs are not merged. This can never lead to a failed compilation by the NPU and so I believe this is less of an issue than the previous algorithm's "missed merges". This could however lead to a runtime performance loss in some cases as the NPU will be unable to parallelise as many operations. There are some unit tests that cover this which I have disabled. 2. The performance is worse. I have spent some time analysing this and for a graph with ~1000 layers the new algorithm takes 20ms vs. the old algorithm's 4ms (on my desktop PC). I believe the performance is still within acceptable limits. I also compared inception V3 (which was the network which caused performance issues with the original version of the splitting algorithm) and this new algorithm has not regressed there (200-300us in both cases). Change-Id: I1dd64a779f272723621e04d203b5a2752a6af2ef Signed-off-by: Robert Hughes <robert.hughes@arm.com>
2019-10-30IVGCVSW-3831 Add support of per-axis quantization to TensorInfoAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Iea09539c92d51e546fbad8b2903b59fc08d66618
2019-10-25IVGCVSW-4018 Move QuantizeHelper.hpp to armnnUtilsAron Virginas-Tar
* Moved QuntizeHelper.hpp to armnnUtils * Reordered parameters for QuantizedVector and added default values for qScale and qOffset to make life easier when using the function for non-quantized types such as Float16 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I28c263dfa425f1316feccb4116839a84f5d568e5
2019-10-24IVGCVSW-4011 Add Unit tests for StandInLayerColm Donelan
* Added network level unit tests with different number of inputs and outputs. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I251296ca98a34f459181fed32343e7c579938eab
2019-10-23IVGCVSW-4013 Test that the quantizer fails gracefullySadik Armagan
* Added Quantizer test for StandIn Layer Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I48bb9cadb48e20ee8e5b3dcf9e2f9fdb3b68351d
2019-10-22IVGCVSW-3995 Add Quantizer support for ComparisonLayerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Iab9b234d233591391a8e8626b7e8df3b7b0770a0
2019-10-21IVGCVSW-3993 Add frontend and reference workload for ComparisonLayerAron Virginas-Tar
* Added frontend for ComparisonLayer * Added RefComparisonWorkload * Deprecated and removed Equal and Greater layers and workloads * Updated tests to ensure backward compatibility Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id50c880be1b567c531efff919c0c366d0a71cbe9
2019-10-16IVGCVSW-3991 Make Descriptor objects comparable and refactor LayerVisitor testsAron Virginas-Tar
* Implemented operator==() for Descriptor structs * Refactored TestNameAndDescriptorLayerVisitor to eliminate code duplication by using templates and taking advantage of the fact that descriptor objects can now all be compared the same way using == * Cleaned up TestNameOnlylayerVisitor by moving all test cases for layers that require a descriptor to TestNameAndDescriptorLayerVisitor Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Iee38b04d68d34a5f4ec7e5790de39ecb7ab0fb80
2019-10-15IVGCVSW-3976 Add Quantizer support for LOG_SOFTMAXSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I907f9b585f7ecd079c9cdd3c2edb6c473bf1d215
2019-10-11IVGCVSW-3973 Add frontend for LOG_SOFTMAXAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ic6acc7176deea3753b32ce6340f642d19dce0e9f
2019-10-10IVGCVSW-3944 Add ArgMinMax output shape validationJames Conroy
Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I469895da158b062cd19248832525fa21527f7d41
2019-10-04IVGCVSW-3935 Add Quantizer support for INSTANCE_NORMALIZATIONAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I175008c81da028fb5bdc71e0abff06bc6e58734c
2019-10-04IVGCVSW-3925 Add Backward compatibility for ITensorHandle CreateTensorHandle ↵David Monahan
functions Change-Id: I940b7ca706c9a8bc38743176eb7959aa629a6876 Signed-off-by: David Monahan <david.monahan@arm.com>
2019-10-03IVGCVSW-3932 Add frontend for INSTANCE_NORMALIZATIONKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ib152148ccd8d2733c617d0cf9402661fc6b71316
2019-10-01IVGCVSW-3922 Fix Arm NN build issue - memory access violationKevin May
* Only run breaking test if Ref backend is available Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I64850c902f7b900fe9f50d357c283c9a2bf73c19
2019-09-27NNXSW-1826 Add an optimization step which combines Permute and BatchToSpace ↵Rob Hughes
into DepthToSpace This is only possible in some limited cases, but removes an extra layer from the graph and so should improve performance in all cases. Change-Id: I7b3e6ba5dacb4fdb816ad270edaecda1436ab4cf Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2019-09-25NNXSW-1826 Move tests for Optimization classes to separate filesRob Hughes
This splits up the >1000 line OptimizerTests.cpp file. Each Optimization class now has its own test file, all of which are in a subfolder of tests called "optimizations". The original OptimizerTests.cpp now contains mostly (completely?) tests for validating output shapes, which perhaps should be moved to test files specific to the layer types they are testing. Change-Id: Icd1196cad8b720abcb156921aab1adbd4026756b Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2019-09-24IVGCVSW-3623 Implement NeonTensorHandle::ImportDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I7213788725fd4e4cf1176998604e999d0b7ed6cc
2019-09-23IVGCVSW-3887 Add Quantizer support for DepthToSpaceAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I144c04f920ba3329886367f5e73fe758505ab96e
2019-09-20IVGCVSW-3883 Add frontend for DepthToSpace layerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I18d957af6e988ffb6b9ee46ac836d1f38600e10b
2019-09-19IVGCVSW-3725 Adding quantization support for ArgMinMaxNikhil Raj
Change-Id: I7582a9ee36b4d1764a5a137cefe9b7b7dfe30254 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2019-09-18IVGCVSW-3881 Add Quantizer support for SLICEAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I72bc00888d416fee177ea2e6e5006f8ff04f612e
2019-09-17IVGCVSW-3877 Reduce code duplication in TestNameOnlyLayerVisitorAron Virginas-Tar
* Defined macros for common class structure and near-identical test cases Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I47a2ece3e1797496c196f63c7fcd71e5748295c6
2019-09-17IVGCVSW-3875 Add frontend for SLICE layerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Iebe675a0cee02db6f133d48ce58cbc1e233061db
2019-09-12Add "explicit" qualifier to Optional -> bool conversion methodRob Hughes
This prevents unintended conversions that could lead to incorrect code compiling, e.g. Optional<a> == Optional<b> Also add comparison (==) operator to compare two Optionals. Update unit tests accordingly Change-Id: I6f975de7e666ba1ffe16c3ab50643116c6317135 Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2019-09-10IVGCVSW-3829 Add CL workload for RSQRTAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Idf40ed0ebf2af3170137bf3a3cb5a9635a203d4a
2019-09-06IVGCVSW-3742 Add Quantizer support for ABSFinnWilliamsArm
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com> Change-Id: I3f8e716ae432737bb314e26792d18aa518aa1952
2019-08-27IVGCVSW-3656 Rename ARMCOMPUTEREF to ARMNNREFMatteo Martincigh
* Renamed ARMCOMPUTEREF to ARMNNREF (and relative symbols) as the previous name was misleading !android-nn-driver:1819 Change-Id: I912e9f521750b91539e48f8a2fb4de73fb6f7425 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-08-22IVGCVSW-3656 Make the reference backend optionalMatteo Martincigh
* 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>
2019-08-20IVGCVSW-3606 Support memory import for Reference backendFerran Balaguer
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Change-Id: I94bd191f88e0911ad4e4727610e81cd7afa95512
2019-08-16IVGCVSW-3639 Add 5d tensor supportMatthew Jackson
* 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
2019-08-14IVGCVSW-3622 Add Neon TensorHandleFactoryNarumol Prangnawarat
Signed-off-by: James Conroy <james.conroy@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I9f24f7d97c1e7d37ee7d58ff85c6c3f8496e52ec
2019-08-09IVGCVSW-3603 *Json printer prints full profiling hierarchyDerek Lamberti
Change-Id: Ide5acbf993c2bcff5265b72fc979caa6f183bb22 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-08-06GitHub #240 Fix bias shape in CreatePreCompiledWorkloadTest()Aron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I10b8d5e2e95eb8f48a6be29005136459c3da2957
2019-08-05IVGCVSW-3277 Mem export/import suppor for TensorsDerek Lamberti
* 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>
2019-08-05IVGCVSW-3342 Add CL backend support for Quantized_LSTM (16bit cell state)Ferran Balaguer
!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