Age | Commit message (Collapse) | Author |
|
* Added Quantization Scheme for QAsymmS8
* Added Unit Tests for QAsymmS8
* Renamed QAsymm8 calls to QAsymmU8
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com>
Change-Id: I897b4e018ba1d808cc3f8c113f2be2dbad49c8db
|
|
* Added new layer named ElementwiseUnary
* Deprecated existing Abs/Rsqrt layer functions
* Updated existing Abs/Rsqrt test infrastructure to use new layer
* Added boilerplate for new Exp,Neg,Sqrt elemwise op layers
* AbsQuantize test removed pending future commit
* Serialization support added
!android-nn-driver:2550
Change-Id: Ic595c645925e17b45db568187fd05646daf2e87f
Signed-off-by: josh minor <josh.minor@arm.com>
|
|
* Changed RemoveDebugLayers to move all connections from its OutputSlot.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I3c649e3f660804ca48f3c2af993a5af6a7ed4d4a
|
|
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: Idb583f8de4470eefb47c90189cd3c90e74e0440a
|
|
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I6c90eab1c6bad76d5c7b3bf094998fa4b454bcd1
|
|
Also remove it from armnnSerializer and armnnUtils.
In general code within Arm NN should only include exactly what it needs.
This will help keep compile times down, and reduces the need for a
complete rebuild when anything in the public headers changes.
ArmNN.hpp should only be provided as a convenience for user code where the
user doesn't know enough of the API to decide which specific headers
they need.
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I4ffcaa7662af4f88a1babf2bf17d03da6f77d665
|
|
!android-nn-driver:2572
Change-Id: I8fe52ceb09987b3d05c539409510f535165455cc
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
!referencetests:218340
Change-Id: If24a604310d0363b1f09b406e4d53ebfeb106aad
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Change-Id: I6003d2f82ca02d926dd95abee712337783eacfc7
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
|
|
Change-Id: Icb1b35ff55fa22103777853e6f49fc282d61750d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Change-Id: I649cd2304fb0040164763d31a12fc77c6c3bed87
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Change-Id: I98cfb913dbd00cb94bdb5dbe82753ca147f7f671
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
!android-nn-driver:2435
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I10ecd4a8937725953396805f33a3562a5384c4d4
|
|
* 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
|
|
!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>
|
|
Signed-off-by: David Monahan <david.monahan@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I0cfbc2e1ed8f1eded1841866ebf9f39a066e91af
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ic9fbe1300cf8c4b8a78bad5934f0b2d18b205090
|
|
* 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
|
|
* 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
|
|
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I78c389148fbb733115e97f40d5271f47d3750c75
|
|
This fixes a one-definition-rule violation
Change-Id: I0941ed21a04876009546b9b73f5fdfbf73c4110d
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
|
|
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>
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iea09539c92d51e546fbad8b2903b59fc08d66618
|
|
* 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
|
|
* Added network level unit tests with different number of inputs
and outputs.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I251296ca98a34f459181fed32343e7c579938eab
|
|
* Added Quantizer test for StandIn Layer
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I48bb9cadb48e20ee8e5b3dcf9e2f9fdb3b68351d
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iab9b234d233591391a8e8626b7e8df3b7b0770a0
|
|
* 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
|
|
* 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
|
|
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I907f9b585f7ecd079c9cdd3c2edb6c473bf1d215
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic6acc7176deea3753b32ce6340f642d19dce0e9f
|
|
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I469895da158b062cd19248832525fa21527f7d41
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I175008c81da028fb5bdc71e0abff06bc6e58734c
|
|
functions
Change-Id: I940b7ca706c9a8bc38743176eb7959aa629a6876
Signed-off-by: David Monahan <david.monahan@arm.com>
|
|
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ib152148ccd8d2733c617d0cf9402661fc6b71316
|
|
* Only run breaking test if Ref backend is available
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I64850c902f7b900fe9f50d357c283c9a2bf73c19
|
|
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>
|
|
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>
|
|
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I7213788725fd4e4cf1176998604e999d0b7ed6cc
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I144c04f920ba3329886367f5e73fe758505ab96e
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I18d957af6e988ffb6b9ee46ac836d1f38600e10b
|
|
Change-Id: I7582a9ee36b4d1764a5a137cefe9b7b7dfe30254
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: I72bc00888d416fee177ea2e6e5006f8ff04f612e
|
|
* 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
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iebe675a0cee02db6f133d48ce58cbc1e233061db
|
|
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>
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Idf40ed0ebf2af3170137bf3a3cb5a9635a203d4a
|
|
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I3f8e716ae432737bb314e26792d18aa518aa1952
|
|
* 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>
|
|
* 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>
|