aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-14MLCE-86 Reversing the pad list in the ClPadValidate function similarly to ↵Éanna Ó Catháin
whats done in the constructor. Change-Id: I9488cebd63767c0c51d9ee6333d5aaf0e4a85847
2019-01-14IVGCVSW-1656 Add Mean support to Tf ParserFerran Balaguer
Change-Id: I3d31d6b72be1984acdb51fd9e7b5488a7aa5d832
2019-01-11IVGCVSW-2454 Refactor ArmNN to support pluggable backends from a separateMatteo Martincigh
code base * Made the virtual functions in ILayerSupport.hpp pure * Created a LayerSupportBase class with the default implementation of the interface * Made the backend layer support classes inherit from the base class, instead of directly from the interface * Refactored the profiler and the profiling event classes to use the BackendId instead of the Compute * Implemented a proper MemCopy support method * Changed Compute to BackendId in the profiling API and objects * Removed static references to pluggable backends !android-nn-driver:492 Change-Id: Id6332b5f48c980819e0a09adc818d1effd057296
2019-01-10MLCE-82 Add IsLayerSupported tests for MEANMatthew Bentham
Change-Id: I43be451f490db0154021f47a2fd49d1269cf5b95
2019-01-09IVGCVSW-2345 Add Rsqrt support in Tensorflow ParserMohamed Nour Abouelseoud
Change-Id: I7c7b65bd77b06925efdaf2c9c98c30994a12de42
2019-01-09IVGCVSW-2438 Add Minimum operator support (CL)saoste01
* Added CL unit tests Change-Id: Ia4af49b133774141384a177f5b042e65764bf682
2019-01-09IVGCVSW-2441 Add Minimum operator support (NEON)Conor Kennedy
Change-Id: I0bc48f118aba419abb659657b83224401fac0715
2019-01-08Refactor: Don't include all ComputeLibrary function definitions everywhere.Matthew Bentham
Just include the function definition that is specifically needed for each workload. Also, tighten up the scope where Compute Library functions are available. Knocks about 30seconds off a 4m30s single-threaded compile of the Neon workloads. Change-Id: Idac438f3bc77ff978295fbc9505cb42447def145
2019-01-07IVGCVSW-2371 Add Rsqrt Ref implementationMohamed Nour Abouelseoud
*Added Unit Tests Change-Id: I6cceb8e6dcda35ce08415f8e5ca86019a64d26e3
2019-01-07IVGCVSW-2421 Remove the template-based version of armnnUtils::PermuteMatteo Martincigh
in favor of a type-indepent implementation that takes void-pointers * The new implementation requires the size of the type to be passed to the function * Updated all the usages accordingly * Removed the old implementation no longer used !android-nn-driver:469 Change-Id: I37f4e6d62a38fbb8ec8c39bb559a2c54c83365d4
2019-01-07IVGCVSW-2384 Add Split parser function to Tensor flow parserSadik Armagan
* Added Unit test * Updated TensorFlowSupport.md file Change-Id: I5f07de5e91ffb681c0ad17c7c73ee0326e7f1e0a
2019-01-04MLCE-77 Depthwise Convolution with depth multiplier > 1 doesn't workMatteo Martincigh
* Unified ArmNN's weight format to [ M, I, H, W ] for the depthwise convolution * Added conversion utilities to permute/reshape the weights as appropriate when using CL and Neon backends * Updated the reference implementation of the convolution * Updated the relevant unit tests accordingly !android-nn-driver:459 Change-Id: I07d0818efa9d1ca1e5dad82983aac1fe78eadb18
2019-01-04IVGCVSW-2383: code cleanup, remove unnecessary isSupported implementations,Nina Drozd
default cases are handled by DefaultLayerSupport Change-Id: I31942a5e8515d6fdce9a0adf20906eaabc2b9aa6
2019-01-03IVGCVSW-2370 Code clean up after Equal operator implementation where necessaryruoyan01
StringMapping was located in the backendsCommon Change-Id: I1c4a0bfca986722c721fcb2b460c03d6e1cd4568
2019-01-02IVGCVSW-2205 Reversed workaround for COMPMID-1813Mohamed Nour Abouelseoud
Change-Id: Icf7ef88a2eaef80ec32cc718b0ca9d26e830ed07
2019-01-02IVGCVSW-2308 Add Conv2d tests where stride > 1Mike Kelly
Change-Id: Iae6a3bfad06cb669ef0abea465d03163bb8316f5
2019-01-02MLCE-82 Add Neon Mean support and unit testsMatthew Bentham
Factor out new BuildArmComputeReductionCoordinates function from CL backend into ArmComputeTensorUtils. Update NEON LayerSupport and WorkloadFactory objects Change-Id: Icc975ec699199bffafbdb207323df509d35e1e04
2019-01-02IVGCVSW-2353 Ignore control inputs in TensorFlow parsernarpra01
* Allow control inputs from TensorFlow graph but ignore them in ArmNN graph. * Add utility function to test ArmNN graph structure. * Add ArmNN graph structure tests in TensorFlow paresr to ensure that control inputs are ignored in ArmNN graph as well as their inputs that are not used anywhere else. Change-Id: Ib0ea0d2df85e3fc79b748fa4c9d20e0649352bc1
2018-12-31MLCE-80 Remove strong typing from NeonBatchNormalizationMatthew Bentham
Technical debt work towards adding some new Neon workloads Change-Id: I08ab6dd14d0e89d4ebc8a878fb69caa5681012bf
2018-12-31IVGCVSW-2375 Add ParseAddN function to TfParserFerran Balaguer
* Unit tests in AddN.cpp Change-Id: Ifb2fa1051d5d92c5d9a5ca751abee4e81ebe39c9
2018-12-31IVGCVSW-2389 WorkloadUtils: Add profiling to tensor mapping.Sadik Armagan
Change-Id: Ibe1b27b268011878c7dce3c96efea01402453027
2018-12-31Update README.mdMark O'Connor
Change-Id: I74f0d27881fcc42d962fdd61562811a1f53dd0eb
2018-12-24IVGCVSW-59 Add documentation to the public APIConor Kennedy
* Add documentation to the Descriptors * Add documentation to the layers Change-Id: I5e0849753903565227fd47d329a600fd90b2feb9
2018-12-20IVGCVSW-2380 Add Greater operator to TfParserjimfly01
* Unit tests in Greater.cpp Change-Id: Ifb3e4c33be2d6235e33889bb63e6abd78bd7d8b6
2018-12-20IVGCVSW-2164 Added ACL implementation of SpaceToBatchNd operation to ArmNNSadik Armagan
!android-nn-driver:428 Change-Id: I42e59ad96d2c80f46b085182855d34b710a74dfe
2018-12-20IVGCVSW-2401 & IVGCVSW-2402 Add end-to-end test for Greater/Equal OperatorFrancisMurtagh
* Add Arithmetic end-to-end test implementation * Enable tests for float, Uint8 and Broadcast Change-Id: I81c7096e9b6ad29eaa935b74ad5f30f823be2331
2018-12-20IVGCVSW-2212 Add Neon support for Maximum operatorNattapat Chaimanowong
Change-Id: Iddae3486641d2d195827ae4e0a9dfa3f7ccd65e3
2018-12-20IVGCVSW-2211 Maximum operator support (CL)keidav01
* Added CLMaximumWorkload implementation * Added CL unit tests Change-Id: I922c83fe25d17be21a5d0f4e861038463cb09789
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-19IVGCVSW-2379 Add Greater Ref workload implementationFrancisMurtagh
* Added the Greater operation as an element-wise workload * Added the unit tests Change-Id: Ie00ee30e47a5f5e17a728032eeb11a085d06c8f2
2018-12-18IVGCVSW-2365 Add Reference Equal Workload ImplementationFrancisMurtagh
* Add reference equal workload * Add Reference Workload Unit Test Change-Id: If2848e7dde4248566b99d91726d08143c40ff80d
2018-12-18IVGCVSW-2131 Implementation of StridedSlice operationkeidav01
* Added ACl Implementation to ArmNN * Added helper function for setting CL Strided Slice arguments Change-Id: Ie10d387fdb054027ea9b8782743d270bb72949c1
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-17IVGCVSW-2399 Margin of error too severe for ValidateBiasTensorQuantisationkevmay01
Change-Id: I56f56398e7c2c2ac57a96952237e7f1bc0ced208
2018-12-17IVGCVSW-2395 TfLiteParse::ParseReshape doesn't support reshape inputkevmay01
Change-Id: If2a31a49df3701877ce0287a81c569334a24cd20
2018-12-17IVGCVSW-2386 Work around Compute Library Arm v7 issueMatthew Bentham
per COMPMID-1818 change to using Blob-based memory manager. Will change back when COMPMID-1848 is fixed. Change-Id: I6e22c2edf422202410faa717b330a2c96c3ebbe5
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-13IVGCVSW-2348 Support boolean data typeruoyan01
Change-Id: Ifd28e049192e6f5fe5c0f5d358afb2b530eef882
2018-12-12IVGCVSW-2363 Remove swizzling option from GetConstTensor in TfParser.cppMatteo Martincigh
Change-Id: I9f9852766e4c51151d6ccf34976c4860a83dfe5c
2018-12-11IVGCVSW-1434 Add debug mode to Optimizerkeidav01
* Modified optimizer to support debug mode via DebugLayer Change-Id: Ic8f313778e55540c182cf99876c44a0823be04c6
2018-12-11Fix the ONNX parser tests issues due to a change in the latest ONNx masterMatteo Martincigh
* A recent change in ONNX now forces the data types to be indicated by the integer corresponding to their original enum value * The new values are taken from the TensorProto_DataType enum at onnx.pb.h:153 Change-Id: I6054611795a7edb11463396eaefc4dd7e27261a0
2018-12-11IVGCVSW-2266 Remove the input swizzling from ParseDepthwiseConv2DFerran Balaguer
Change-Id: I72d94fff4cdad2c62dff98c8fd52eba78a1908f0
2018-12-10Fix the ONNX parser buildMatteo Martincigh
* Fixed invalid conversion issues to onnx::TensorProto::DataType Change-Id: If8f1cef1d02a22cfecf24135a960923d3ad0e14c
2018-12-10IVGCVSW-2346 Fix test wrt NEFillBorderKernel indexMatthew Bentham
Kernel position within the layer is part of the kernel name Change-Id: I3b9ee870fbd0db025f1515c81245f917189ae884
2018-12-10IVGCVSW-2354 Remove dimension validation from softmaxMohamed Nour Abouelseoud
Change-Id: I0d69a72df9e348cbeca690926485c050499d1051
2018-12-10MLCE-79 NEON QASYMM8 Addition SupportMatthew Bentham
Unit tests not yet added as need Compute Library a84faffd. Change-Id: Ica16df493e8d6a76da9d1f74bf43b8403f9dff62
2018-12-10IVGCVSW-2346 Fix test wrt NEFillBorderKernelMatthew Bentham
NEFillBorderKernel may not be issued for some activation workloads depending on the version of the Compute Library. Change-Id: I01b8960f9eb7a0192cd351eddbb416ac05248b34
2018-12-07IVGCVSW-2268 Remove the input swizzling from ParseConcatMatteo Martincigh
* Removed the input swizzling when the concatenation dimension is 3 in ParseConcat in the TF parser * No longer using the helper ProcessConcatInputTensorInfo, where the input was being swizzled if the concatenation dimension was 3 * Added a new convenience constuctor to TensorShape that initializes a shape to all zeros given only the number of dimensions Change-Id: I82a207e41bddc5fea21a0b5a38eafa24ad75d1c2
2018-12-07IVGCVSW-836 Remove 2D validation in SoftmaxMohamed Nour Abouelseoud
Change-Id: I87c53c78dd033871dbc543550a61d2d535e752ac