aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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>
2019-05-08IVGCVSW-3031 Finer grained backend optimization APIDerek Lamberti
Change-Id: I9b93bc81b97f3d89fa046ba001854f732040e63a Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-05-07IVGCVSW-3067 Fix issue with QuantizerVisior not setting TensorShape correctlyNattapat Chaimanowong
* Also update unit tests for the quantizer to check the input and output shape of the network Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> Change-Id: Ie804d852f2a4770d98dfb4dab6415f3d0fdd2ce4
2019-05-07IVGCVSW-2997 Refactor reference LSTM workloadNattapat Chaimanowong
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> Change-Id: I6883f878d9f701a55153292769d2fc0530d2529e
2019-05-07IVGCVSW-2989 Generate subgraphs without cyclic dependenciesDerek Lamberti
Change-Id: I45f81aa4ca8a964e423594fe271825c4a52b21f4 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-05-07IVGCVSW-3038 Move MakeInputTensors to armnnUtilsJim Flynn
Change-Id: I4352a645badde788b9e33b3675a9cc9c0fc3dc33 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-05-03IVGCVSW-3030 Update the backend code to create also a list ofMatteo Martincigh
non-optimized SubgraphViews * Removed pointless CreateSubgraphViewConverter method in the IBackendInternal interface Change-Id: Ie2d3c0e74fb3d53e67f76924ac6d05050a5e6e2e Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-03IVGCVSW-3014 Add GetSupportedBackends to IDeviceSpecNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I8d6474389376f715074bfa7a75613dbda35bcc6a
2019-05-03IVGCVSW-3029 Remove any AddLayer capabilities from SubgraphViewMatteo Martincigh
* Removed the reference to the parent graph in SubgraphView * Removed the AddLayer method in SubgraphView * Updated the code where necessary to adapt to the new changes in SubgraphView * Fixed a check in the CreatePreCompiledWorkloadTest test function Change-Id: I4d3af87f11ec3cd8f18a21b250a2d295da56e1a0 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
2019-05-03IVGCVSW-2834 Add dynamic quantization via datasetsNina Drozd
* Add QuantizationDataSet class for quantization data parsed from CSV file * Add QuantizationInput for retrieving quantization data for each layer ID * Add unit tests for command line processor and QuantizationDataSet Change-Id: Iaf0a747b5f25a59a766ac04f7158e8cb7909d179 Signed-off-by: Nina Drozd <nina.drozd@arm.com>
2019-05-03IVGCVSW-3003 Fix the bug in setting the same tuningLevel in the constructorRuomei Yan
Change-Id: I53bd3a8e8f846edbebb1598559f3541698e647e5 Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
2019-05-02IVGCVSW-3039 Unify BindingPointInfo declarationsJim Flynn
Change-Id: I3deb2b9a37e8a8f8f2ed93c64ed0656ae911e24c Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-04-30IVGCVSW-2773 Integrate new CL tuner into ArmNNRuomei Yan
!android-nn-driver:1038 Change-Id: Ia94743a64109b5eddcd44b03cf6ba5b3a4de4e53 Signed-off-by: Ruomei Yan <ruomei.yan@arm.com>
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-2993: Investigate TfLite Parser test output shape validationNarumol Prangnawarat
* Get outputTensorInfo from runtime outputs to ensure that the results are from the running network Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ib35afeaf5f6121df7f6379cfc557ae77e5214d69
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-30IVGCVSW-2948 Add DeepSpeech v1 support to TensorFlowLiteSupport.mdNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I18697fde21e90723bcc36cc9cc1b571652fa54e7
2019-04-29IVGCVSW-2983 activation layers support for QSymm16Teresa Charlin
!armnn:1023 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ie4e5c4e7cb9edec690235393fff0721fca5da6cc
2019-04-29IVGCVSW-2843 Support QSymm16 via Command-line quantizer toolSadik Armagan
* Added quantization scheme support to ArmnnQuantizer Change-Id: Ia0202bfcd8cac0695aa3b18f9447a19b27f74f67 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2019-04-29IVGCVSW-2982 Refactor reference Activation workloadNattapat Chaimanowong
Change-Id: Ia3b9a56787cc68822a3c1635de82e03ecc0aae27 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
2019-04-29IVGCVSW-2396 Go back to using offset memory managerSadik Armagan
Change-Id: If6cf69b1569eb69c9481369a99ca7066be0fdd9d Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2019-04-29IVGCVSW-2996 Add Reshape layer to ParseFullyConnected in TfLite parserNarumol Prangnawarat
when input is > 2D to flatten the input to 2D [batch_size, input_size] Change-Id: Id9d9ff996225c7d0938204ae0ceb330a11e264f5 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2019-04-29IVGCVSW-3007 ArmnnConverter: Fix bug with optional --input-tensor-shape argumentMatthew Bentham
Change-Id: Icae21aa39bea57fd5de4278756cc620ffe684ed7 Signed-off-by: Matthew Bentham <matthew.bentham@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-26MLCE-111: ONNX parser raw data bugPablo Tello
Fixed bug in ONNX parser: unable to load raw data from the binary models. Change-Id: Iec60d2f90b78ffe6910fdec6e6bd2eb05802ffd0 Signed-off-by: Pablo Tello <pablo.tello@arm.com>
2019-04-25IVGCVSW-2993: Investigate TfLite Parser test output shape validationNina Drozd
* Added a check after enqueue workload to ensure that the outputs have the correct number of dimensions * OutputTensors cannot be used for this as in RunTest we're specifically creating these with expected number of dimensions Signed-off-by: Nina Drozd <nina.drozd@arm.com> Change-Id: Ib6e5a138240e2f639f462f58caa72ae760e2b406
2019-04-25IVGCVSW-2994 Add Reshape layer to ParseUnpack in TfLite parserNarumol Prangnawarat
to remove the unpacked dimension of each output from Splitter and correct ReshapeFixtureWithReshapeDimsFlatten test output shape Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I517d315475612ac8b773930f9b58cac316fa8553
2019-04-25Remove incorrect documentation lineMatthew Bentham
This line is definitely wrong, plenty of float32 things work in the TFLite parser, so it sets the wrong expectations. Change-Id: I87ac01e14b916ccd767429c124c353ab136174d8 Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
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-2987 Modify ParseSplit in TfLite parserNarumol Prangnawarat
* Allow input data with dimension not greater than 4D * Correct input order * Get split dimension from buffer data * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I285851b19e6fa7c715e5fe4853df167e7c856647
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-17IVGCVSW-2849 Add TfLite Parser support for Rank-0 operands and unit testsNarumol Prangnawarat
Change-Id: I6dab12aed395a30466d66421c6e5a12659fedac8 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@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-16IVGCVSW-2425 Add unit test for Logistic (Sigmoid) in NEONNarumol Prangnawarat
Change-Id: I557b76ea8c066161f3eb866daabca63694d46f4e Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2019-04-15IVGCVSW-2848 - Add TfLite Parser support for Unpack layerNina Drozd
* Added ParseUnpack in TfLiteParser * New Unpack test file with test reproducing unpack in DeepSpeechV1 model * Added documentation for supported Unpack to TensorflorLiteSupport.md Signed-off-by: Nina Drozd <nina.drozd@arm.com> Change-Id: Ie920d46254ff4b4ab544407ace4c1d489af83157
2019-04-12IVGCVSW-2955 Update the Quantizer Tool to take an additional parameter for ↵Sadik Armagan
the user to specify a CSV file Change-Id: Id56e09f147cca5c1301ec1b6bac656cd50bfd583 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2019-04-11IVGCVSW-2873 Update documentation for Serializer/DeserializerSadik Armagan
* Updated Serializer/Deserializer support documentation for Quantize Operation. Change-Id: I8cc670a58756c9f2d7294131c4715bee5ae7a647 Signed-off-by: Sadik Armagan <sadik.armagan@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-10IVGCVSW-2912 Make get_compute_library.sh sole source for clframework pinJim Flynn
* Also incorporated fix for break in master build 32-bit NEDepthwiseConvolution errors in clframework * Fixed a failure in the Float16 workloads for ElementwiseOperations !android-nn-driver:963 Change-Id: Ic2cdb0e6c9399fa42b56001c6f4b46b7f150f143 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2019-04-09IVGCVSW-2862 Extend the Elementwise Workload to support QSymm16 Data TypeSadik Armagan
IVGCVSW-2863 Unit test per Elementwise operator with QSymm16 Data Type * Added QSymm16 support for Elementwise Operators * Added QSymm16 unit tests for Elementwise Operators Change-Id: I4e4e2938f9ed2cbbb1f05fb0f7dc476768550277 Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
2019-04-09IVGCVSW-2845: Add TfLite Parser support for TanH activation layerNina Drozd
* Added ParseTanH in TfLiteParser * Added testcase for parsing TanH activation in Activations.cpp * Added new supported TanH operator in TensorflowLiteSupport.md Signed-off-by: Nina Drozd <nina.drozd@arm.com> Change-Id: Ie60f38994d76b077f86828c21c57381bdeeaeb5a