aboutsummaryrefslogtreecommitdiff
path: root/src/armnn
AgeCommit message (Collapse)Author
2019-04-30IVGCVSW-3021 Add end-to-end flow control integration testMatthew Bentham
Currently asserts that the net fails to optimise as that is the expected behaviour, but it's complete enough to exercise most of the code in SwitchLayer.cpp and MergeLayer.cpp Also, fix a bug in SwitchLayer::ValidateTensorShapesFromInputs found by the new test. Also, make topological sort slightly more robust to missing connections as it should not be the job of the sorter to validate the graph. Change-Id: I30b9e2d4769ab14a6820284871a79a5bb3eef1ef Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-04-30IVGCVSW-2405 Rename SubGraph to SubgraphViewDerek Lamberti
Change-Id: Ie50aeccf053c20c3a01a75042bbc3acd824375af Signed-off-by: Derek Lamberti <derek.lamberti@arm.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-04-29IVGCVSW-2657: Fix to force correct quantisation parameters for QASYMM8 SoftmaxDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I0989ea843714ba1d5da756bb87ddefa3706b07eb
2019-04-23IVGCVSW-2918 Implement ExecutionFrame.Teresa Charlin
*Add interface IExecutionFrame. *Add basic implementation ExecutionFrame. *Add Unit Test Change-Id: I960ac84a05c0c9b03735ec5e9c63f6f8f95b57b5 Signed-off-by: Kevin May <kevin.may@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-04-19IVGCVSW-2925: Combine Pad with Convolution2d in the OptimizerNina Drozd
* Added new optimization for folding pad layer into convolution2d layer following it * Added new test in OptimizerTests.cpp * Added new optimization into All optimizations * Added call to new optimization in Optimize in Network.cpp * Updated CMakeLists.txt Signed-off-by: Nina Drozd <nina.drozd@arm.com> Change-Id: I682e07c71bbd42c49c02dda30a848a9ab2b16e7e
2019-04-18IVGCVSW-2980 Build ArmNN with the latest version of the driver stack libraryMatteo Martincigh
* Changed the pre-compiled object held by the pre-compiled layer into a unique pointer, so that now the layer has the ownership of it * Changed the pre-compiled object held by the descriptor and the workload into a naked pointer, to leave the ownership to the layer Change-Id: I4a582e45ca0aa3978e8e40b786c743a6eddce852 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-04-16IVGCVSW-2957 MergerLayer subtensor optimization now backend agnosticDerek Lamberti
+ Update clframework pin + Cl and Neon Merger workloads updated to use MemoryLayout agnostic API + Workloads only use sub-tensor optimization if ALL input tensors are sub-tensors + Refactor LayerSupportCommon code to be a bit more succinct Change-Id: Ib61ad4ccbd767e924dff07e61022e0cda4069828 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-04-10IVGCVSW-2947 Remove boost dependency from include/TypesUtils.hppAron Virginas-Tar
!android-nn-driver:968 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I03ccb4842b060a9893567542bfcadc180bbc7311
2019-04-10IVGCVSW-2946 RefElementwiseWorkload configures prior to first executeDerek Lamberti
+ Added PostAllocationConfigure() method to workload interface + Elementwise function now deduces types based on Functor - Replaced RefComparisonWorkload with RefElementwiseWorkload specialization + Fixed up unit tests and minor formatting Change-Id: I33d08797767bba01cf4efb2904920ce0f950a4fe Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-04-08IVGCVSW-2927 Fix Streamline annotationsMatthew Bentham
Change-Id: Ia3f4852e6ba1358c6798210ecf94105a130cb1b9 Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-04-05IVGCVSW-2914 Add Switch Layer and no-op factory methodSadik Armagan
Change-Id: I6a6ece708a49e8a97c83a3e7fec11c88af1e1cfa Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-04-05IVGCVSW-2915 Add Merge Layer and no-op factory methodNattapat Chaimanowong
Change-Id: I54549671e0d3b207904cf9796a843eb2b0a631f7 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-04-01IVGCVSW-2871 Ref QuantizeLayer workloadDerek Lamberti
Change-Id: If048b2a053c542b31ae344fe0af04d9b4f40eb6d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-03-29IVGCVSW-2866 Implement RegisterDebugCallback for RefDebugWorkloadNattapat Chaimanowong
Change-Id: I9144fb6b7d05561b5b8fd9db5dbe31c9257f10ca Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-28IVGCVSW-2874 Add DequantizeLayer and no-op factory methodNattapat Chaimanowong
*Add Dequantize layer to the frontend *Add Serializer and Deserializer for Dequantize Change-Id: Ide2647b9e0348d599deb97e61ca4bf66e2f17fc0 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-27IVGCVSW-2870 Support QuantizeLayer on frontendDerek Lamberti
Change-Id: I2014a8d801f1f222d27a80dddf4f188ddcb3a5c9 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-03-26IVGCVSW-2881 Remove DebugDescriptorNattapat Chaimanowong
* Also update Debug layer to use layer guid information Change-Id: I9ec1f639299c3f855b670ff031a0e88d685cfc6b Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-25Use unique names for temporary filesMatthew Bentham
Change-Id: I06653135c5fef38a52995da6c4b6de7ba5786b6a Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-03-22IVGCVSW-2865 Extend IRuntime to add a new method RegisterDebugCallback(...)Nattapat Chaimanowong
* Made changes to LoadedNetwork and IWorkload to pass on the registered callback function Change-Id: I6ea10f2a299d6de8bf681c8ff36d3fbed1d6d887 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-22IVGCVSW-2859 Add unit tests for QSymm16 quantizationNattapat Chaimanowong
* Add quantization test under QSymm16 scheme for all layers * Refactor existing tests to reduce code duplication Change-Id: I66c9437b3247d78acbb4ebc2c2481f3238268038 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-21IVGCVSW-2694: serialize/deserialize LSTMJim Flynn
* added serialize/deserialize methods for LSTM and tests Change-Id: Ic59557f03001c496008c4bef92c2e0406e1fbc6c Signed-off-by: Nina Drozd <nina.drozd@arm.com> Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-03-20IVGCVSW-2858 Add support for QSymm16 quantizationNattapat Chaimanowong
Change-Id: Ia7c305c30c39ec0e9db447a461479be17fde250c Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-19IVGCVSW-2839 Add QuantisedSymm16 support to the ArmNN frontendNattapat Chaimanowong
Change-Id: I76f4e7db55b0efbb1a5f7d1a32bf451e66add0c7 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-03-19MLCE-105 Fix use of std::unique_lock in LoadedNetworkMatthew Bentham
You can't use a unique_lock to check lock ownership by a particular thread - it just checks whether the mutex is locked by that lock. Change-Id: I28190dc3bea91b3cc68f9b9381751e70fd70f43f Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-03-12IVGCVSW-2709 Serialize / de-serialize the Splitter layerJim Flynn
* fixed typo in Ref Merger Workload comment * fixed typo in ViewsDescriptor comment * made the origins descriptor accessable in the ViewsDescriptor (needed for serialization) * based the unit test on the use of the splitter in the CaffeParser Change-Id: I3e716839adb4eee5a695633377b49e7e18ec2aa9 Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-03-08IVGCVSW-2769 Don't process node if already visitedDerek Lamberti
Change-Id: I1eb06a044ea702fce00910d84fd20a680c03f1cc Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-02-28IVGCVSW-2763 Fix bug in BatchToSpaceNdLayer::InferOutputShapesNattapat Chaimanowong
*Also added test case for non-zero crop and moved BatchToSpaceNd test functions together Change-Id: I142ba356165618b2811a4ab650ca6ced35220d9c Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-02-27IVGCVSW-2752 Make biases optional in INetworkAron Virginas-Tar
* Added new version of AddConvolution2dLayer, AddDepthwiseConvolution2dLayer and AddFullyConnectedLayer with Optional<ConstTensor> biases * Deprecated old AddConvolution2dLayer, AddDepthwiseConvolution2dLayer and AddFullyConnectedLayer methods * Made necessary changes to implementation functions Change-Id: I65eddb28dc72a9c74429c331815a96c2bfdc8c51 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-02-27IVGCVSW-2759 Add MakeOptional to enable in-place optional object constructionAron Virginas-Tar
* Added new argument-forwarding in-place constructor to Optional * Added MakeOptional utility template to allow for efficient construction of optional objects Change-Id: Iec9067fc5c3e109a26c4cc2fe8468260637b66c5 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-02-27IVGCVSW-2764 Strengthen test for thread-safety in ProfilerMatthew Bentham
Replace assert with explicit conditions so that the checks are correctly performed in release builds. Change-Id: Id69ab3cc0aa8c61021642b7250e30c255f144a3a Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-02-27IVGCVSW-2632 Fix RefMerger from QAsymm8 types with different quantization ↵Ferran Balaguer
parameters Change-Id: Ie67ce4966c5e5fef618876b027292da429de1485 Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com>
2019-02-25IVGCVSW-2762 Fix missing layer name and output slot index in DebugLayer outputAron Virginas-Tar
Change-Id: Idda9c8ba244c74d931105ced90c38a12d48df48a Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-02-25IVGCVSW-2721 Quantize and Dequantize aren't quite rightFrancis Murtagh
* Add check for infinity and negative infinity in quantize() * Add assert for NaN value in quantize and dequantize() * Add unit tests for infinity and negative infinity Change-Id: Ie60e1e15b289ccbf99df4a3281f067b82cc9f9bf Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-02-22IVGCVSW-2749 Throw exception in TensorShape when requested index >= number ↵Aron Virginas-Tar
of dimensions Change-Id: I3589b1e901b0f81f6bb17848046a22829f91bb9e Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-02-21IVGCVSW-2748 Fix bug causing std::bad_alloc in MakeTensor()Aron Virginas-Tar
Change-Id: Iff6533396e594e2716e432223780d662d99d06ec Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-02-21IVGCVSW-2613 Support static quantization of BatchToSpaceFerran Balaguer
Change-Id: I44b12c5c246b7aacc789420dbe55a16efaab6f98
2019-02-18IVGCVSW-2619 Support static quantization of StridedSliceFrancis Murtagh
Change-Id: Iff0902ea2751b079563ce82fbbec6db5157c3392 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-02-18IVGCVSW-2626 Add Quantization of ResizeBilinear LayerJim Flynn
Change-Id: I0daffd23f32cc094d8309aed822cc46bb2aaa46f Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-02-15IVGCVSW-2618 Support static quantization of SplitterFrancis Murtagh
Change-Id: I8e44866336dcd5a9694309cf9bb954a4991e61fd Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-02-15IVGCVSW-2616: static quantization of reshapeNina Drozd
Change-Id: Iaefa145b8a218b3708c8a9208fdabd4984376ae9 Signed-off-by: Nina Drozd <nina.drozd@arm.com>
2019-02-15IVGCVSW-2621 Add static quantization of MergerJim Flynn
Change-Id: I19f01698a6f9b361cd1737d76e6ec2020fab77a6 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-02-14IVGCVSW-2620 Support static quantization of ConstantMatteo Martincigh
* Added VisitConstantLayer to QuantizerVisitor * Added unit tests and refactored QuantizerTest.cpp * Code cleanup Change-Id: I118fd2be085fc98879c5cfaa09698a7c98ba13f0 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-02-14IVGCVSW-2615 Support static quantization of Pooling2dFrancisMurtagh
Change-Id: Ica9c48adad741840b201047bb65541a19aac17f7 Signed-off-by: FrancisMurtagh <francis.murtagh@arm.com>
2019-02-13IVGCVSW-2617 Add static quantization of SpaceToBatchJim Flynn
* Some refactor of the existing QuantizePermute test for reuse Change-Id: Ifaf1afc476bad348f260fa5340c0153e7ade2703 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-02-12IVGCVSW-2614 Support static quantization of PermuteFrancisMurtagh
Change-Id: I4f208d18f7ac6bb04423cc26ecf61adf0ccc5d26 Signed-off-by: FrancisMurtagh <francis.murtagh@arm.com>
2019-02-12IVGCVSW-2607 Refactor range tracking into own classDerek Lamberti
Change-Id: I1b409e5dac7922859e04a554893b982afc5ad1e7 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-02-12IVGCVSW-2623 Support static quantization of DepthwiseConv2dFrancisMurtagh
Change-Id: Iab0d5aed243aca921661e4d39770fe02b1330442 Signed-off-by: FrancisMurtagh <francis.murtagh@arm.com>
2019-02-11IVGCVSW-2531 Serialize a simple ArmNN NetworkMike Kelly
Change-Id: I68cf5072aca6e3a8b3b8c57e19b6d417cd5813fc Signed-off-by: Mike Kelly <mike.kelly@arm.com>
2019-02-11IVGCVSW-2625 Support static quantization of softmaxruoyan01
Change-Id: I216344ee10bbffadb648d4aef1d9a0d9dbb4a341 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Signed-off-by: ruoyan01 <ruomei.yan@arm.com>
2019-02-11IVGCVSW-2676 Make biases optional in ILayerVisitor for Convolution2D, ↵Aron Virginas-Tar
DepthwiseConvolution2D and FullyConnected Change-Id: I3048504ff699fdb266488e7c07b7262e5843d4b0 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>