aboutsummaryrefslogtreecommitdiff
path: root/src/armnn
AgeCommit message (Collapse)Author
2019-07-05Fix the warning message reporting when sub-graphs fail to get optimizedMatteo Martincigh
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I92a83b61a0c89029cbde0a6cc26599691d171660
2019-07-03IVGCVSW-3277 Remove dead codeMatteo Martincigh
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ibc108699f0bccf9210defac8707c4f61cb181e3f
2019-07-02IVGCVSW-3382 Deprecate ResizeBilinear and use Resize with Bilinear methodAron Virginas-Tar
!android-nn-driver:1451 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ieedbce1f6e95891137a250fdd07e2f7e4e1f4828
2019-07-02IVGCVSW-3236 Extend Ref LSTM with layer normalization supportJan Eilers
* 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>
2019-07-02IVGCVSW-3369 Add IsPreluSupported to default layer supportMatteo Martincigh
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ic3ed5911cea75b9052dab2ed802cbbe4bca38603
2019-07-01IVGCVSW-3366 Add Quantizer support for ResizeLayerTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ibfd4725bb04a5859488e968513cf11ac450fd277
2019-06-28IVGCVSW-3363 Add frontend support for Resize LayerTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I63493ddb7598515773073deb6db2eb3a635c5dfe
2019-06-27IVGCVSW-3324 Add end-to-end tests for TransposeConvolution2d on CpuRefAron Virginas-Tar
* 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
2019-06-26IVGCVSW-3197 Support SPACE_TO_DEPTH on AndroidKeith Davis
* Fix for undefined reference to IsLayerSupported Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: If9d39149a5ad41dbf835d79b8cb937ac253c927e
2019-06-26IVGCVSW-3249 Extend the BatchToSpace workload to support QSymm16Francis Murtagh
* Add reference supportedness validation checks. * Call unit tests with QSymm16 data type. Change-Id: Ie6621ca7072dfc69278198c53e09b090275a7fff Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-06-25IVGCVSW-3334 Refactor BatchToSpace tests to be genericFrancis Murtagh
* Generify and reformat test BatchToSpace tests * Add missing RefCreateWorkload test Change-Id: I08af018c07ee41df5b9d1e578d99bc03f38090ac Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-06-24IVGCVSW-3277 Refactor TensorHandle factory APIDerek Lamberti
* Added backend support for multiple types of TensorHandle factories * Refactored the backend API to enable new tensor strategies * Added mechanism to determine memory strategies during optimization * Perform mem-copy only when Direct access is not found * Explicitly deleted the copy-constructor from OutputSlot to prevent accidental local copies that would cause the DisconnectAll to be called by the destructor Change-Id: I7e812c8e5e6c1c20db1c5932749ac70fd93db7f8 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-06-24IVGCVSW-3267 Add more code coverage to the PReLU layerMatteo Martincigh
* Added more unit tests to cover all code branches * Moved the InferOutput tests to separate files * Created convenience ARMNN_SIMPLE_TEST_CASE macro * Created TestUtils file for common utility functions Change-Id: Id971d3cf77005397d1f0b2783fab68b1f0bf9dfc Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-06-21IVGCVSW-3322 Add Quantizer support for TransposeConvolution2DLayerexperimental/transpose_conv2dAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I26997d7770585055b2b3256baad2800a4c5ed7e8
2019-06-21IVGCVSW-3319 Add frontend support for TransposeConvolution2d LayerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ic06f63f1eff255e697facf319e2ac4c83d782e7c
2019-06-19IVGCVSW-3270 Add Quantizer support for the new Prelu Activation layerMatteo Martincigh
* Implemented VisitPreluLayer * Added unit test for Prelu layer quantization Change-Id: I0442053f69608a400d295654b103cfd2429a0341 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-06-19IVGCVSW-3268 Add Reference workload support for the new Prelu Activation layerMatteo Martincigh
* Added reference workload for the PReLU Activation layer * Added factory methods * Added validation support * Added Int16 support * Added unit tests Change-Id: Ic950d908c5e0a335dccd2960a3ffab0f8b599876 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-06-18IVGCVSW-3234 Ensure that Quantizer allows different quantization scalesNarumol Prangnawarat
on inputs and output of Concat layer Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Idd79e44dbf49345aced3ddeeb8a53c9776f9f5d5
2019-06-17IVGCVSW-3267 Add Arm NN front end support for the new Prelu Activation layerMatteo Martincigh
* Added new PreluLayer class * Made necessary changes to ILayerSupport, ILayerVisitor, etc. * Added unit tests Change-Id: Ifcfb78e823bb5a245ed1dad15290d2f60115c882 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-06-17IVGCVSW-3273 ArmnnQuantizer: UnimplementedException thrown for: ↵Nikhil Raj
VisitNormalizationLayer Change-Id: Ic2929635c1c15c09f493053b2e64ddfbab2fe217 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2019-06-14MLCE-121 Github: Build error on GCC 9Mike Kelly
* Fixed an error encountered when building on GCC 9 error: moving a local object in a return statement prevents copy elision * Fixed failures in unit tests due to std::initializer_list handling in GCC 9 Change-Id: I4bfdd2113dfedcecd29479ee556e4ae22278755d Signed-off-by: Mike Kelly <mike.kelly@arm.com>
2019-06-12IVGCVSW-3261 Add Quantizer support for SpaceToDepth layerAron Virginas-Tar
Change-Id: Ic08e38fe10ca1abd79c6e4b1a83dc9a929686b56 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
2019-06-12IVGCVSW-3258 Add front end support for new SpaceToDepth layerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id677e29a734f2b36483d939ad370079bdc11551e
2019-06-11IVGCVSW-3253 Refactor MonotonicClockRaw in WallClockTimerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I759aaeff4e543c36047698716bd99bac4e4092d3
2019-06-07IVGCVSW-3228 Fix bias quantization to be INT32 not QAsymm8Francis Murtagh
* Add function to calculate bias tensor quantization scale from input and weights scales. * Change visitor method of Conv2d, DepthwiseConv and FullyConnected to use the new function. * Fix Unit tests to expect correctly calculated quantization parameters. Change-Id: Ic36f47ceea81243c813d74ccf791e984c819cc71 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-06-07Github #140 Use snprintf instead of strncpyMatthew Bentham
Change-Id: I4da3b390d60da76754bbab016a656fbaf37d7df5 Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-06-04IVGCVSW-3212 Refactor the Reference BatchNormalization workloads toMatteo Martincigh
handle Float32 and QAsymm8 types * Removed the type-specific workload implementations * Added type-independent RefBatchNormalizationWorkload implementation * Reworked BachNormImpl to use decoders/encoders * Improved the validation of the BatchNorm queue descriptor * Fixed unit tests where necessary Change-Id: Icf3fa1332292d38ec2fa0b1cb984cab78426034b Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-06-04IVGCVSW-3215 Add CreateWorkload test for Rsqrt Fp32nikraj01
Change-Id: Iea6edf90148773b12f361bfa4b1d572c5322d18b Signed-off-by: nikraj01 <nikhil.raj@arm.com>
2019-05-29Don't add redundant copiesDerek Lamberti
Change-Id: I117698ef6f96d250d55f0d9996319d45450e0c9b Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-05-28IVGCVSW-3119 Rename MergerLayer to ConcatLayerJim Flynn
!android-nn-driver:1210 Change-Id: I940b3b9e421c92bfd55ae996f7bc54ac077f2604 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-23IVGCVSW-3082 Fix layer execution order after a subgraph substitutionMatteo Martincigh
* Moved the topological sort after the replacement of the subgraph connections (during a subgraph substitution), as the correct connections are required when sorting the graph Change-Id: I7c7ce542068a05b9b5ca36f5bd3f460a5eb97afd Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-23IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork NEONNarumol Prangnawarat
* Add check if Sub-tensors cannot be used, call ACL function * Add computation of SplitAxis from SplitterDescriptor * Add NeonSplitterWorkload functions * Modify IsSplitterSupported to call ACL validate function if sub-tensor cannot be used * Also check if quantization parameters match when using sub-tensors * Add more unit tests for Splitter in TfParser and TfLiteParser Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I31e4c7d055117c83c65b598c4125442173242226
2019-05-22IVGCVSW-3132 Reintroduce SubGraph definition, but deprecatedMatteo Martincigh
* Restored old SubGraph class definition as an alias of SubgraphView for backward compatibility * Restored SubGraphUniquePtr * Restored CreateSubGraphConverter method (and the corresponding ISubGraphConverterPtr type) as a deprecated method that's been removed from the backend interface * Chaged the defautl implementation of OptimizeSubgraphView to call the deprecated OptimizeSubGraph * Changed the default implementation of OptimizeSubgraphView in the backends Change-Id: If69903926bf5ff2aae52c9b64b4572b355662757 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-22IVGCVSW-3081 Quantizer min>=max error & missing layersLes Bell
* relaxed the check to min > max in the quantization schemes * added missing layer support for resnet_v2_50 model * Pad, Rsqrt, Multipilcation, Subtraction, Mean * sorted methods alphabetically in Quantizerlayer & LayerVisitorBase Change-Id: I003401ff7ac89b60580c959ea8fd9d6fef66b88e Signed-off-by: Les Bell <les.bell@arm.com>
2019-05-22IVGCVSW-3088 Update the backends README fileMatteo Martincigh
* Updated the src/backends/README.md file with details on the new OptimizeSubgraphView method * Added section describing the new OptimizationViews class * Deprecated GetOptimizations in the code Change-Id: Icb1a9aa015394e56fb4b5120b0645a752f44134e Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-21IVGCVSW-3015 Fix duplicate input/output slots in sub-graphMatteo Martincigh
* Avoid collecting duplicate input/output slots during the sub-graph selection process * Fixes the InceptionV3 quantized run Change-Id: I737ec8576d57184d3d25bda436a7776ec7243a0d Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-20IVGCVSW-3125 Deprecate CreateMergerDescriptorForConcatenation functionJim Flynn
!android-nn-driver:1183 Change-Id: Ia69995b7f09cb86b64611e8efd315413e3064ca1 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-20IVGCVSW-3030 Add unit testing for the Optimization APIMatteo Martincigh
* Added OptimizeSubgraphViewTests file covering a number of use cases for the Optimization API * Fixed a bug in the sub-graph selector algorithm that skipped the first layer in a sub-graph if it wasn't an input layer * Changed the graph splitting logic to make use of maps instead of unordered_maps to keep the split sub-graphs in consistent order between executions * Added more common unit test utils * Minor fixes to comply to the include file conventions Change-Id: Iad464eaedd004109e5ef41aa487cea3ad86177d3 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-20IVGCVSW-3124 Rename workloadFactory CreateMerger to CreateConcatJim Flynn
Change-Id: Id836372c0e4ef0c3996085facc4da6263366abcf Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-20IVGCVSW-2967 Support QSymm16 for Constant workloadsNina Drozd
* Validate that output is any of supported types in WorkloadData * Validate that output is any of supported types in RefLayerSupport * Add test for constant with QuantisedSymm16 in LayerTests * Add test for creating constant workload in RefCreateWorkloadTests * Add test for constant with QuantisedSymm16 in RefLayerTests * Refactor RefConstantWorkload - BaseWorkload instead of TypedWorkload * Refactor RefConstantWorkload - remove m_RanOnce, use PostAllocationConfigure() Signed-off-by: Nina Drozd <nina.drozd@arm.com> Change-Id: Ic30e61319ef4ff9c367689901f7c6d498142a9c5
2019-05-14Use the new deprecation APIMatteo Martincigh
* Used the new ARMNN_DEPRECATED_MSG macro instead of @deprecated * Refactored the code to no longer use the deprecated methods where applicable !android-nn-driver:1126 Change-Id: Ib0578d3d6fc5a763f5fb922f67ba91fafc7796f6 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-14IVGCVSW-3076 Add ConcatLayer methods to public APIJim Flynn
!android-nn-driver:1120 Change-Id: I5192fa3deb4ea9766d38ad0bf4dfbfa0b4924c41 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-13MLCE-101: Adding dilation support in conv and dconvPablo Tello
Added support for dilation in DepthwiseConvolution2d in the Neon and CL backends. Change-Id: Ie1522b498c07f80d6efcf9dc79e926c8cfa06ca5 Signed-off-by: Pablo Tello <pablo.tello@arm.com>
2019-05-13IVGCVSW-3035 Correct gamma variable nameNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I309dd176fe6ce1216f4259c24c306c7592827841
2019-05-13IVGCVSW-3058 Segmentation fault running Resnetv2.50 tfite int8 modelMatteo Martincigh
* The execution crashed because the weights of a convolution were null during the network execution * Copied the weights and bias when folding a pad layer into a convolution Change-Id: I3ae72143d04cac90d4f878cdf3b1a08b2f2a5c90 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-10IVGCVSW-3034 Adding a unit test to check substituteSubGraphDavid Monahan
now works when substituting layers from another Graph Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Iebd21a4975dd0ea1fc9d62708555dae4b1809623
2019-05-10IVGCVSW-3034 Updates to SubstituteSubGraph andDavid Monahan
ReplaceSubgraphConnections to support Graphs instead of SubGraphViews * Added layer iteration function to SubgraphView similar to the Graph's one * Updated SubstituteSubgraph to reparent the layers to the calling graph Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ib2f8e70decca4a59c53ceb127e07ef5a430d1005
2019-05-10IVGCVSW-3030 Refactor code and fix OptimizeSubgraphViewMatteo Martincigh
* Refactored the Optimizer code for readibility, in view of upcoming changes * Rename one of the ISubgraphViewConverter interface methods to give it a more meaningful name * Improved the OptimizationViews class, added comments and useful funtion overloads * Fixed an error in the default implementationof the new OptimizeSubgraphView method in IBackendInternal Change-Id: I683a56d562aa093bac06f0e83fb13e144ed81485 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-10IVGCVSW-3030 Added move operators to the Graph classMatteo Martincigh
* Updated the LayerInGraph class to properly support the new Reparent operation * Improved the Graph class destruction process to take into account eventual reparent layer operations * Added new ForEachLayerInGraph utility function to safely loop through all the layers in the graph Change-Id: Ie67cbdee0c3c8625662ebfa00f860ae0d2fac59c Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-10IVGCVSW-3061 Modify NetworkQuantizer to support option to preserve ↵Nattapat Chaimanowong
input/output types * Also add unit tests for new preserve type option Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> Change-Id: I860759072f2e3546698118d1bcd5e79eb4e805ec