aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/Network.cpp
AgeCommit message (Collapse)Author
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-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-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-08IVGCVSW-3031 Finer grained backend optimization APIDerek Lamberti
Change-Id: I9b93bc81b97f3d89fa046ba001854f732040e63a Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
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-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-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-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-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-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-11IVGCVSW-2531 Serialize a simple ArmNN NetworkMike Kelly
Change-Id: I68cf5072aca6e3a8b3b8c57e19b6d417cd5813fc Signed-off-by: Mike Kelly <mike.kelly@arm.com>
2019-02-08IVGCVSW-2559 End to end tests for Detection PostProcessNarumol Prangnawarat
* end to end tests for Detection PostProcess float and uint8 * add anchors to AddDetectionPostProcessLayer * add anchors to VisitDetectionPostProcessLayer * refactor code Change-Id: I3c5a9a4a60b74c2246b4a27692bbf3c235163f90 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
2019-01-30IVGCVSW-2458 Refactor the Optimize function (Network.cpp) so thatMatteo Martincigh
subgraphs are optimized by the backends * Added a new method OptimizeSubGraph to the backend interface * Refactored the Optimize function so that the backend-specific optimization is performed by the backend itself (through the new OptimizeSubGraph interface method) * Added a new ApplyBackendOptimizations function to apply the new changes * Added some new convenient constructors to the SubGraph class * Added AddLayer method and a pointer to the parent graph to the SubGraph class * Updated the sub-graph unit tests to match the changes * Added SelectSubGraphs and ReplaceSubGraphConnections overloads that work with sub-graphs * Removed unused code and minor refactoring where necessary Change-Id: I46181794c6a9e3b10558944f804e06a8f693a6d0
2019-01-24IVGCVSW-2555 Add no-op implementation for Detection PostProcessNarumol Prangnawarat
* Added DetectionPostProcessQueueDescriptor to WorkloadData * Added CreateDetectionPostProcess function in WorkloadFactory.hpp * Added stub implementation of the CreateDetectionPostProcess in workload factories * Added DetectionPostProcessLayer stub implementation * Added AddDetectionPostProcessLayer to Network * Added IsDetectionPostProcessSupported to LayerSupportBase Change-Id: Ifc071b3b6b12877c997bdcc43d769c8f891d5c6c
2019-01-23IVGCVSW-2455 Move the extra backend code to a new git repoMatteo Martincigh
* Refactored all the workload factories to use "virtual" properly * Removed the precompiled layer support from the optimizer * Disabled compiler optimization for debug build to ease debugging Change-Id: I6ab83abd78f422771359295e25b79bb9be613cfd
2019-01-16IVGCVSW-2508 Add no-op factory implementations and layer for Gather operatornarpra01
* Added GatherQueueDescriptor to WorkloadData * Added CreateGather function in WorkloadFactory.hpp * Added stub implementation of the CreateGreater function in workload factories * Added GatherLayer stub implementation * Added AddGatherLayer to Network * Added IsGatherSupported to LayerSupportBase Change-Id: I0408fd54e88a7d4e3d9e1c2811a9323f0da52a04
2019-01-15IVGCVSW-2454 Merge together the pluggable backends work (was in aMatteo Martincigh
separate branch) and master * Brings in all the changes done for the pluggable backends * Added sub-graph support and tests * Added precompiled layer support and tests * Moved BackendSettings to a separate file * Removed the backend-specific code * Ported DebugLayer and associated functionality * Included fixes to make those changes work with master Change-Id: Id7028fa7917527b844628d5aff5732e3d94c0488
2019-01-07IVGCVSW-2371 Add Rsqrt Ref implementationMohamed Nour Abouelseoud
*Added Unit Tests Change-Id: I6cceb8e6dcda35ce08415f8e5ca86019a64d26e3
2018-12-20IVGCVSW-2367 Add Equal Operator to TfParserjimfly01
* Unit tests in Equal.cpp * Fixed error in Network::AddEqualLayer * Refactored TfParser::Minimum/Equal to get rid of duplicate code Change-Id: I0ed6f888eb391c995b88be20dc0c1b916dd14c3c
2018-12-17IVGCVSW-2398 Add no-op factory implementations for all backends for theFrancisMurtagh
Equal operation * Add QueueDescriptor in WorkloadData.hpp * Add CreateEqual function in WorkloadFactory.hpp * Added stub implementation of the CreateEqual function in RefWorkloadFactory, NeonWorkloadFactory and ClWorkloadFactory Change-Id: Iec6dc2f989c67fa6f0c32cfb93508995c8580783
2018-12-14IVGCVSW-2377 Add no-op factory implementations for all backends for theMatteo Martincigh
Greater operation * Added QueueDescriptor in WorkloadData.hpp * Added CreateGreater function in WorkloadFactory.hpp * Added stub implementation of the CreateGreater function in RefWorkloadFactory, NeonWorkloadFactory and ClWorkloadFactory * Added GreaterLayer stub implementation * Renamed ArithmeticBaseLayer to ElementwiseBaseLayer Change-Id: I7e38c2936de905da921a92ba3f918478169ec7f5
2018-12-11IVGCVSW-1434 Add debug mode to Optimizerkeidav01
* Modified optimizer to support debug mode via DebugLayer Change-Id: Ic8f313778e55540c182cf99876c44a0823be04c6
2018-12-05IVGCVSW-2296 Add ParsePad method to TfParserjimfly01
* Also added unit test armnnTfParser/test/Pad.cpp * Added missing 'Pad' entry to GetLayerTypeAsCString(LayerType) * Fixed the RefLayerSupport.IsPadSupported, now it returns true * Small fix in Optimize. Only resolve stringstream to string once Change-Id: Ieaa1886858a48cd761ac5f30454f73e44bdd4b8f
2018-12-04IVGCVSW-2247 Adding a min Elementwise Workload and testsÉanna Ó Catháin
Change-Id: I017ca6c23b62a8978982de0ca4ad204cb8cf7c67
2018-11-29IVGCVSW-2245 Add Minimum Layer and no-op Factory implementationkevmay01
Change-Id: I03fa374fd9692d98257de709f8c3ad0a49c88b95
2018-11-28IVGCVSW-2253 Add maximum layer and corresponding no-op factory implementationNattapat Chaimanowong
Change-Id: I8964f5e8978c2d2a07734a381e3f7c656c22456a
2018-11-15IVGCVSW-2086: Add StridedSlice layer & corresponding no-op factory ↵Conor Kennedy
implementations Change-Id: I906dcb8b4c9b491bf3a661f208c09d0ea1c0fa35
2018-11-12IVGCVSW-2054: BATCH_TO_SPACE_ND Reference implementation and Unit tests.Éanna Ó Catháin
Change-Id: I13c6728dbb60643d0e086d171225c5d802987f92
2018-11-09IVGCVSW-2125 : backends now can return optimizationsDavid Beck
Change-Id: Ieec34224b433e1d2f3bbe66632cd6016cac5498c
2018-11-02IVGCVSW-1946: Remove armnn/src from the include pathsAron Virginas-Tar
Change-Id: I663a0a0fccb43ee960ec070121a59df9db0bb04e
2018-11-02IVGCVSW-2093 Add SpaceToBatchNd layer and corresponding no-op factory ↵Nattapat Chaimanowong
implementations Change-Id: Ibd457f3a2d4342c4d6335bd3c471282a14ab6b14
2018-10-25IVGCVSW-2067 : dynamically create workload factories based on the backends ↵David Beck
in the network Change-Id: Ide594db8c79ff67642721d8bad47624b88621fbd
2018-10-22IVGCVSW-1991 : refactor m_SupportedComputes in DeviceSpecsDavid Beck
Change-Id: Ied3d54dc356f5e4f87aeb59f66423ac1f893dd01
2018-10-22IVGCVSW-2019 : replace Compute enum in the backend preferences listDavid Beck
Change-Id: Ie7549fd27378acfa97e68d098e338b8c9d4ea5d2
2018-10-22IVGCVSW-2019 : replace Compute enum in the Layer objectDavid Beck
Change-Id: I76551d511ef718eac36e5b8e5fe426ec3a402855
2018-10-10IVGCVSW-1929: Fix for this defect (QASYM8 no scale)jimfly01
* Now hand in an optional vector of strings to Optimize function in which errors/warning messages are placed. * Optimize function changed to check outputs of each layer. If they are Quantized 8 bit but the scale has not been set an error message is added for each such output. * Unit test modelled on defect report added to exercise the fix. !android-nn-driver:152483 Change-Id: If9901f5324a516f1ab62858266b38f98dae16201
2018-10-10IVGCVSW-1957: Improve warning message in Network::Optimize()arovir01
* Added data type to layer not supported warnign message for more clarity Change-Id: I7a933ad32e6a0288e8dd712a7a1dea016e4bd9a2
2018-10-10IVGCVSW-1900 : CL backend folder structureDavid Beck
* moving backends/ClWorkloads to backends/cl * and moving pure Cl workload related code to backends/cl/workloads Change-Id: I019a3c6b4da5e7a23074bf03fb057e63199ad129
2018-10-10IVGCVSW-1863 Support NHWC for L2NormalizationMatteo Martincigh
* Added L2NormalizationDescriptor struct with m_DataLyaout member * Updated all IsL2NormalizationSupported calls to take a descriptor as an argument * Updated L2NormalizationLayer to take a descriptor as an argument !android-nn-driver:150116 Change-Id: I0459352d19cfd269bc864a70cf73910bf44fdc01
2018-10-10IVGCVSW-1881 Add PadLayer to ArmNNMohamed Nour Abouelseoud
Change-Id: Ib70883a20fa7b82bfb090aa98cc51a6d645b5722
2018-10-01IVGCVSW-1813 - Add MeanLayernarpra01
* add MeanLayer functionalities * modify MeanQueueDescriptor to use parameter * add IsMeanSupported placeholder for all backends Change-Id: Ic69a34a61df667849977aad9b38f9a01eef565b5
2018-10-01IVGCVSW-1804 : add subtraction layer to the public interfaceDavid Beck
Change-Id: I2c1b622b5199000c01af387bb994267c2b91f89c
2018-09-17IVGCVSW-1807 : change license text in file headersDavid Beck
All changes are the same: // // Copyright © 2017 ARM Ltd. All rights reserved. -// See LICENSE file in the project root for full license information. +// SPDX-License-Identifier: MIT // Change-Id: I37eae011411133663ca9d2b059714d92f8bf8e24
2018-09-17IVGCVSW-1200 Division layerFrancis Murtagh
*IVGCVSW-1772 Create QueueDescriptors *IVGCVSW-1773 Add a CL implementation of the DivisionWorkload *IVGCVSW-1774 Add Neon implementation of the DivisionWorkload *IVGCVSW-1775 Add a Ref implementation of the DivisionWorkload *IVGCVSW-1776 Add a Division Layer * Added simple division unit tests with broadcasting Change-Id: I05751fb7f868789f6c06f91e8d25e52b4f12ab5e
2018-08-31Release 18.08telsoa01
2018-05-23Release 18.05surmeh01