aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-07-24NNXSW-1697 Remove use of SubgraphView that may become invalid.branches/armnn_19_05Rob Hughes
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. !android-nn-driver:1221 Change-Id: I579f503827db8f7fcb01443237c9d888d496425f Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2019-05-24IVGCVSW-3033 Adding MockLayerSupport to MockBackendDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I90903af1b8c961a7727da9172a7f02031521a6ad
2019-05-23IVGCVSW-2771 Fix SubTensor error in vgg16 ExecuteNetwork CLNarumol Prangnawarat
* Add check if Sub-tensors cannot be used, call ACL function * Add ClSplitterWorkload functions * Modify IsSplitterSupported to call ACL validate function if sub-tensor cannot be used * Also check if quantization parameters match when using sub-tensors Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I5dfd0e422b7d485dd4421a664add83d870bec5d6
2019-05-23IVGCVSW-3026 Extend RefConvolution2dWorkload to support QSymm16Mike Kelly
* Added QuantisedSymm16 as supported type for Conv2D * Added Unit Tests for QSymm16 Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I4a8176091e75abfb0ea3a4b913c213111512df75
2019-05-23IVGCVSW-3074 Extend the DepthwiseConvolution2d workload to support QSymm16Ruomei Yan
Change-Id: I47bb0f782acfa5b2d2fee9132875f9a655ea635e Signed-off-by: Ruomei Yan <ruomei.yan@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-23IVGCVSW-3073 Refactor reference DepthwiseConvolution2d workloadsRuomei Yan
Change-Id: I3cf8d9dbc4f8c95e0e2311505dd7e9f9069f1ab5 Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
2019-05-23IVGCVSW-3025: Refactor reference Convolution2d workloadMike Kelly
* Refactored RefConvolution2dWorkload to support all DataTypes through Encoders and Decoders. * Added Convolute function to ConvImpl that uses Encoders and Decoders to support all DataTypes. * Deleted RefConvolution2dFloat32Workload and RefConvolution2dUint8Workload. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic5ef0f499d08b948fa65fdee54b5f681fd0b1c05
2019-05-22Silence gcc 8 warning wrt catch by valueMatthew Bentham
Change-Id: Ice29df6b695b2deba7ddf43be2e711614ab3cdea Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
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-3116 Fix failing NN Driver Tests on Android QSadik Armagan
* Fixed ResizeBilinear test failure on Cpu Reference Change-Id: I2cf317eae65f1a86ef87badefb3b32ff05dca9e8 Signed-off-by: Sadik Armagan <sadik.armagan@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-21IVGCVSW-3033 New unit tests to ensure the Optimizer canDavid Monahan
handle multiple Graph objects Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I7ccc10a4d81eaac724a374a0d8abc70c9c79a3f4
2019-05-21IVGCVSW-3088 Update Readme for 19.05Nina Drozd
* Added Readme file for ArmnnQuantizer * Added section about ArmnnQuantizer in armnn Readme file * Updated ModelAccuracyTool Readme file with default values for --compute Signed-off-by: Nina Drozd <nina.drozd@arm.com> Change-Id: I5fcead522b70086dcf63dfc6c77910a7d33d83f0
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-20IVGCVSW-3117 Rename NeonMergerWorkload to NeonConcatWorkloadJim Flynn
Change-Id: I9a373a31bfabbe0f691d7f9e240ac08e072b2c7d Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-20IVGCVSW-3117 Rename ClMergerWorkload to ClConcatWorkloadJim Flynn
Change-Id: Ie0394336a772afa7b075eb562ac5191c8b3ec9f3 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-17IVGCVSW-3117 Rename RefMergerWorkload to RefConcatWorkloadJim Flynn
Change-Id: Ifeb33db919ef77bf777e114f2d84b88fd595ca2c Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-17IVGCVSW-3036 Change Armnn Quantizer to specify Armnn formatFinn Williams
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com> Change-Id: I776a97ff54ea3ccc28b62afe3c512cbdc7252811
2019-05-17IVGCVSW-3030 Add a mock backend for unit testingMatteo Martincigh
* Added a mock implementation of an ArmNN backend for unit testing * Implemented a mock version of OptimizeSubgraphView * Fixed a typo in the Optimization API Change-Id: Ic7acf7cc5c2a76a918e94cdc356baae7c7597a6d Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-16IVGCVSW-2964 Fix issue with Deserializer creating ciruclar graphNattapat Chaimanowong
*Issue was caused by using layer index with respect to flatbuffer layers vector in place of the index property on each layer base (and vice versa). These are not necessarily the same. Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> Change-Id: Ide3e33c77f394cd1b6850c7c61e4bee2dede76d3
2019-05-16IVGCVSW-2972 Support QSymm16 for MergerJim Flynn
Change-Id: If2289b2d1fc20f4524fcf4620f01ea3a36d727d2 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
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-14MLCE-101 Add default dilation depthwise convolution implementationMatteo Martincigh
to LayerSupportBase Change-Id: Ib075a53cfe639e2624910a767abac6cba0fee8ed Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-14MLCE-101 Add dilation support for DepthWiseConv workloadBruno Goncalves
Adds unit tests for dilated depthwise conv Change-Id: Iad0a1b33d07fb0ef8f9f6edf0fd0f83a5800a36d Signed-off-by: Bruno Goncalves <bruno.slackware@gmail.com> Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-05-13MLCE-101 Add dilation parameter to serializerMatthew Bentham
Change-Id: I8142e179d38c7a2a9163cf3d30bd1f411e8e109c Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2019-05-13MLCE-101 Add dilation support to reference backendMatthew Bentham
Change-Id: I6d1ea80c9fabd8c50ee030272c51cb66e85e431d Signed-off-by: Matthew Bentham <Matthew.Bentham@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-13IVGCVSW-3013 Add unit tests for QSymm16 LSTMConor Kennedy
* Add unit tests for QSymm16 LSTM * Update supportedTypes in WorkloadData & RefLayerSupport with DataType::QuantisedSymm16 Change-Id: I1a2627b11b707d68d7d7002f63b985f9571ee177 Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
2019-05-10IVGCVSW-2834 Fix Input TensorInfo in Quantization DataSetNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I694124aa15ef2fd368d5e6e36da8b942ae270850
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-3063 Modify Quantizer tool to take command line inputÉanna Ó Catháin
for preserving input/output types Change-Id: Ib30f1e2e58407526cd881fec33f45fc4e4ed4afe Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
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
2019-05-09IVGCVSW-3072 Add MergerLayer Deserialise Backcompat testJim Flynn
Change-Id: Ib8ce6f8db6de0ac4df92fa4c999fe3c78705ec7e Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-09IVGCVSW-3030 Make the OptimizationViews class move-assignableMatteo Martincigh
* Added move-constructors and move-assigment operators to both the OptimizationViews and Graph classes Change-Id: I3f923dc58e849479ff6589dcd39dece2790172cb Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-09IVGCVSW-3031 Reparent layer to new graphDerek Lamberti
Change-Id: Ic4423b8d21d794f44ddae291853e0e3b89d11bc0 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-05-08IVGCVSW-2833 Add Dynamic QuantizationJim Flynn
Change-Id: Iba91e3f3625639f01d66f81a9f3e419e0e285d66 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-08IVGCVSW-2900 Adding the Accuracy Checker Tool and testsÉanna Ó Catháin
Change-Id: I4ac325e45f2236b8e0757d21046f117024ce3979 Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>