aboutsummaryrefslogtreecommitdiff
path: root/delegate/CMakeLists.txt
AgeCommit message (Collapse)Author
2024-05-10MLCE-1276 Fix for ExecuteNetwork abort after inferenceKevin May
* The abort is caused during destruction of flatbuffers::ClassicLocale * Set FLATBUFFERS_LOCALE_INDEPENDENT=0 in delegates and parser so that ClassicLocale is not included Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I34584b05998a62bae2263a2281414fcf8c12d668 Signed-off-by: Colm Donelan <colm.donelan@arm.com>
2024-03-12IVGCVSW-8232 ScatterNd added to delegate and opaque delegateKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I5839f54c71f74eaa6819333393bb3054db9db5be
2023-09-12IVGCVSW-8037 Add BROADCAST_TO to tflite classic and opaque delegate.Idriss Chaouch
Signed-off-by: Idriss Chaouch <idriss.chaouch@arm.com> Change-Id: Ibc145d0ea1ac9414b6a68b5b547bf2ea2852fd36
2023-07-28IVGCVSW-7886 Add TILE to delegate and opaque delegateTianle Cheng
* Adding support for Tile in classic and opaque delegates * CMake files updated * Tests added Signed-off-by: Tianle Cheng <tianle.cheng@arm.com> Change-Id: I9b52cea3480eb71961cbccb1a346805f73b5661a
2023-07-18IVGCVSW-7834 Add REVERSE_V2 to classic and opaque delegatesTracy Narine
* Adding support for ReverseV2 in the classic and opaque delegates * CMake files updated * Tests added * Gpu/Cpu Acc tests compiled out until functionality is written Signed-off-by: Tracy Narine <tracy.narine@arm.com> Change-Id: I8b41b7e71f2e28e5ea8dddbd00657900e6d7ab9a
2023-05-18IVGCVSW-7735 Opaque Delegate CleanupRyan OShea
* Move TFL_TheStableDelegate to opaque/armnn_delegate_external.cpp * Change TFL_TheStableDelegate to extern variable * Remove duplicated opaque test sources * Add support for missing Fill operator * Enable support for Mirror Pad * Fix failing Split tests Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I7f8d8b4269bb4fbe27b6f47709cbd828554d37d8
2023-05-17IVGCVSW-7400 POW IVGCVSW-7278 SQUARED_DIFFERENCE.John Mcloughlin
* Added 2 new operators as ElementWiseBinary ops * Ref End to End and unit tests * Serialize and Deserialize tests * Delegate and Opaque Delegate tests * TfLite Parser tests Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: I537158127f602f0c41ca0402aa31655cd3bd4281
2023-05-08IVGCVSW-7626 Add Execute Network for Opaque DelegateNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ibdded86713368ecfdf31c4118dfe8a3404d1e3b8
2023-05-05IVGCVSW-7618 Implement UnidirectionalSequenceLstm operator for Opaque DelegateMatthew Sloyan
* Intermediate tensors aren't accessible through the new Opaque interface yet, so we have to cast to TfLiteNode for now. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ifd91131e5d5ff6cc057b80729fea9afa68ed240b
2023-05-04IVGCVSW-7605 IVGCVSW-7604 Implement Squeeze and ExpandDims operators for ↵Matthew Sloyan
Classic and Opaque Delegate * Implemented unsupported operators in Classic Delegate. * Added unit tests. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ib39eeea53c114b15943e8dc2e796ce64c40cb3a5
2023-05-02IVGCVSW-7603 Implement Reshape operators for Opaque DelegateMatthew Sloyan
* Moved CreateOutputTensorShape function to common DelegateUtils.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I3d8a9834ecd6b7cda170cce958677a0dde62824a
2023-04-28IVGCVSW-7610 IVGCVSW-7616 Slice and StridedSlice for opaque delegateTeresa Charlin
* Change alignment in Shape.hpp Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ibc21cf5c56a1ba2daa7507a5d5c2b7311756f17f
2023-04-28IVGCVSW-7606 IVGCVSW-7607 Add Resize and Reduce to Opaque DelegateJohn Mcloughlin
* Added 2 opaque delegate operators and associated test cases * Removed IsDynamicTensor check from BatchMatMul as covered by IsValid. Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: If7c58cb23ae5c5b8a9451dddfd7b6dfcbf248d4c
2023-04-28IVGCVSW-7611 IVGCVSW-7614 IVGCVSW-7615 IVGCVSW-7617 Softmax, SpaceToDepth, ↵Teresa Charlin
DepthToSpace and Tranpose for opaque delegate Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ie0c608f94a76956e9be75f555824cef865cab395
2023-04-28IVGCVSW-7602 IVGCVSW-7602 Implement opaque delegate for Quantize + ↵Francis Murtagh
Dequantize operator Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I318cb25f526dfe0f7aa6afcf77971afd8d437209
2023-04-28IVGCVSW-7596 IVGCVSW-7619 IVGCVSW-7597 Pack, Unpack and Pad for opaque delegateTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I25415793497f0ee08d880539e265b133875a20f7
2023-04-28IVGCVSW-7588 Implement ElementWiseBinary Op for Opaque DelegateDavid Monahan
* Added visit functions for ElementwiseBinary Ops * Moved MultiLayerFacade.hpp to common directory and updated both delegates to use it Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I84b8bd74d15a194895e63da47c29be994531a889
2023-04-28IVGCVSW-7608 IVGCVSW-7594 IVGCVSW-7598 IVGCVSW-7599 Implement Floor,Matthew Sloyan
Lstm, Pooling2d and Pooling3d operators for Opaque Delegate Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ic9af1c50589285ab359661699d32a889cd267cd9
2023-04-27IVGCVSW-7576 IVGCVSW-7609 Add BatchMatMul and Shape to Opaque DelegateJohn Mcloughlin
Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: Id4b02b951ed81c69171f6af2d0d327175c6e5d3c
2023-04-27IVGCVSW-7584 IVGCVSW-7585 Implement Conv3d and TransposeConv2d operators for ↵Francis Murtagh
opaque delegate * Add check for TF version so tests work with opaque and classic Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I3a6699150afabfc6200e1cd4d264a1f7c65c5f60
2023-04-27IVGCVSW-7589 IVGCVSW-7595 IVGCVSW-7593 ElementwiseUnary, Normalization and ↵Teresa Charlin
LogicalBinary operators for opaque delegate * Report the operator as part of the layer name for: - LogicalBinary, - ElementwiseUnary - Comparison - Activation * Fixing indentation in Gather.hpp * Removing not needed includes in Gather, GatherNd and Comparison * Correct end of namespace comment in Comparison * Correct log from TfLiteArmnnDelegate to TfLiteArmnnOpaqueDelegate Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ia0d497709309e912d31eb4b6db0fef9e79b7a3af
2023-04-27IVGCVSW-7574 IVGCVSW-7590 IVGCVSW-7600 Implement Activation, FullyConnected ↵Matthew Sloyan
and Prelu operators for Opaque Delegate * Added missing headers to opaque/CMakeLists.txt (Control and Comparison) * Cleaned up Control.hpp headers. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I442edb9c467b515b130fbaf02879f0802006255f
2023-04-27IVGCVSW-7591 IVGCVSW-7592 Add Gather and GatherNd to Opaque DelegateKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Id2b6a4f70b1cb50e5f7f7ab4e30487b3816c9ad4
2023-04-26IVGCVSW-7575 Implement opaque delegate for ArgMinMax operatorJohn Mcloughlin
* Added Opaque ArgMinMax and associated test cases Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: I098b94cc35707370a0bbc7456bfdd48bb47432f0
2023-04-26IVGCVSW-7577, IVGCVSW-7578 Implement BatchToSpaceNd and SpaceToBatchNd in ↵Kevin May
Opaque Delegate Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I38304abce1a417bb69aced2a5b38e976ea0cbbc0
2023-04-26IVGCVSW-7579 IVGCVSW-7581 IVGCVSW-7583 Implement Comparison, Concat and Mean ↵Matthew Sloyan
in Opaque Delegate * Removed input slot check from Connect function as number of TFLite and Arm NN inputs can differ. * Moved SetupConcatViewOrigin function to DelegateUtils.hpp * Simplified validation checks in VistConvolution functions as IsValid and IsDynamic were already being called. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I858dbe4b643f9d350d9c38ea255ce5effbda4612
2023-04-24IVGCVSW-7584 Implement Conv2d and DepthwiseConv2d operators for Opaque DelegateMatthew Sloyan
* Added VisitConvolution2d and VisitDepthwiseConv2d functions to Convolution2d.hpp. * Enabled Convolution2d and DepthwiseConv2d tests. * Moved TransposeConvolution2d tests to separate file. * Added Opaque Delegate shared functions. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ica10c9469fc830f512edad1ad79884f90ae511d0
2023-04-13IVGCVSW-7564 Implement Cast operator for Opaque DelegateRyan OShea
* Adds VisitCast function to Redefine.hpp * Enables Cast Test for OpaqueUnitTests * Various Fixes to the opaque delegate to allow operator to run Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I43d42eea5c987d6aed8a0f909a6bf583fddcc94e
2023-04-07IVGCVSW-7563 Implement DelegateTestInterpreter for opaque delegateMatthew Sloyan
* Added opaque delegate DelegateTestInterpreter implementation * Moved classic specific tests to ArmnnClassicDelegateTest.cpp * Moved opaque specific tests to ArmnnOpaqueDelegateTest.cpp * Removed ArmnnDelegateTest.cpp * Moved TfLiteStableDelegate implementation to armnn_delegate.cpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ifc92b6fb38dc370f3fb88a4daca56d457e74bc2e
2023-04-05IVGCVSW-7562 Implement DelegateTestInterpreter for classic delegateMatthew Sloyan
* Updated all tests to use new DelegateTestInterpreter. * Fixed some unit tests where the shape was incorrect. * Add file identifier to FlatBuffersBuilder, as it is required for validation when creating the model using new API. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I1c4f5464367b35d4528571fa94d14bfaef18fb4d
2023-04-05IVGCVSW-7560 Implement Armnn Subgraph in Opaque DelegateRyan OShea
* Implement Armnn Subgraph methods in opaque armnn_delegate.cpp * Temporarily remove opaque delegate from DelegateUnitTests Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I43557eb0b96a22c896890593a3ed9ca9744994bb
2023-03-31IVGCVSW-7556 Introduce Opaque Delegate APIFrancis Murtagh
* Also added cmake for the new layers to reduce merge conflicts. Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Ieb59aa2b7e2a18c57c9357b8d5b5cd63d8211c85
2023-03-28IVGCVSW-7555 Restructure DelegateTeresa Charlin
* New folders created: * common is for common code where TfLite API is not used * classic is for existing delegate implementations * opaque is for new opaque delegate implementation, * tests is for shared between existing Delegate and Opaque Delegate which have test utils to work which delegate to use. * Existing delegate is built to libarmnnDelegate.so and opaque delegate is built as libarmnnOpaqueDelegate.so * Opaque structure is introduced but no API is added yet. * CmakeList.txt and delegate/CMakeList.txt have been modified and 2 new CmakeList.txt added * Rename BUILD_ARMNN_TFLITE_DELEGATE as BUILD_CLASSIC_DELEGATE * Rename BUILD_ARMNN_TFLITE_OPAQUE_DELEGATE as BUILD_OPAQUE_DELEGATE Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ib682b9ad0ac8d8acdc4ec6d9099bb0008a9fe8ed
2023-03-22IVGCVSW-7526 Upgrade ArmNN to Tensorflow 2.12Ryan OShea
When creating a flatbuffers model, we need to provide an empty buffer 0 that is reserved by tensorflow. When creating empty buffers for inputs and outputs we can not pass in an empty vector, or tflite will assume that we know how many bytes to allocate in advance. Instead we need to only pass in the builder. * Update libraries in FindTfLite.cmake * Add nullptr to delegate struct for OpaqueDelegateBuilder * Fix issue in unit tests where Flatbuffers model was not being parsed by tflite * Tensorflow 2.12 now includes C++ 17 features. Update our cmake build to require a compiler to support these features. * Change minimum cmake in Arm NN to 3.7 as that's the minimum for the delegate build. Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I7d15b196b8c59b1914f8fc1c4c2f8960630c069c
2023-01-06IVGCVSW-7031 Generate static execute networkRyan OShea
* Build ExecNet lib dependencies as object libs except libarmnn * Disable PIPE when building static ExecNet * Remove multiple definition from AsyncExecutionCallback * Disable DynamicBackend for ExecNet Static build * Disable inference tests for TfLiteParser and ONNX during static ExecNet * Remove Tensorflow Parser if condition * Add Disable thread macro to InferenceModel * Don't compile dynamic backend symbols in Runtime.cpp for Baremetal and Exenet Static Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: If41c063eab5f05b3df0a6e064924a36a177f116a
2022-11-22IVGCVSW-6980 Delegate support for slice operatorCathal Corbett
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: I90d800160b070e25d999b5102a7ce6d3e0ed6a81
2022-10-21IVGCVSW-7126 Update Arm NN to Tensorflow 2.10Colm Donelan
* Modify get_tensorflow.sh to point to the 2.10 Tensorflow tag. * Modify FindTfLite.cmake to handle the break up of libruy.a * Modify armnn_delegate.cpp to add registration_external field. * Prevent the serializer/deserializer from using a system installed version of flatc. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I688f33f387924ba29bf400f60e56f73b2329fdc1
2022-09-22IVGCVSW-6498 Add Support for Batch MatMul to TfLite DelegateRyan OShea
* Creates delegate/src/BatchMatMul.hpp * Add VisitBatchMatMul function * Add BatchMatMul to switch in armnn_delegate * Creates delegate/src/test/BatchMatMulTest.cpp * Creates delegate/src/test/BatchMatMulTestHelper.hpp * Add Int8 and Fp32 unit tests on ref backend * Add BatchMatMul to delegate supported ops Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I50e61314cf063f986c8a0f7d508847a96953735e
2022-06-29Add jni interface for the ArmNN DelegateJan Eilers
* adds a version script to hide away all symbols that are not required to use the interface * the main purpose of the jni interface is to enable the delegate to be used in android apps * Add static building to patch - see patch 7 for JNI patch only Signed-off-by: Jan Eilers <jan.eilers@arm.com> Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I9bb2d698b5fdb0d1b30cf79e6f19746310cd61b2
2022-06-15IVGCVSW-6946 Add Pool3D to tflite delegateRyan OShea
* Add new test and test helper for Pool3d * Add new custom operator to switch in armnn_delegate.cpp * Add new pool3d function to pooling.hpp * Update doxygen Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I77a541bf423b337c749e70c564cdd727efe2fd05
2022-05-04IVGCVSW-6858 Add GATHERNd Support to the TfLite DelegateTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I56418875b3bb2ae45b5c69bfeaafa1a6126b8085
2021-11-08Fix stand-alone delegate buildJan Eilers
* adds missing dependencies to fix errors when building the armnn delegate on its own Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I9bb676febc80eba277f981f5536a9add48e7f6dd
2021-11-01IVGCVSW-6457 Add FLOOR_DIV Support to the TfLiteDelegateJim Flynn
Change-Id: Ia4bf42b1f3f86b947825dff8e538d2d4343effab Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2021-10-27IVGCVSW-6469 Add MirrorPad TfLiteParser and TfLiteDelegate SupportMatthew Sloyan
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ia1c97adb401c5381341408ec1e4da287ef2d48fe
2021-10-22IVGCVSW-6166 Add Support for Conv3d to TFLite DelegateMatthew Sloyan
* Conv3d is only correctly supported for external delegates from TF v2.6, as there was a breaking bug in v2.5. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ib7941307f4c7b0d3dbb7deaa5a90aceb63c1162f
2021-09-29IVGCVSW-6160 Support building tensorflowlite 2.5 through cmakeKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I825f09d008505e701d42b79be936f4da24620c06
2021-09-23IVGCVSW-6181 patch to allow building against tflite > v2.3Jim Flynn
Change-Id: I292add699b2af32fab87b98929fe6fee79fdf356 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2021-09-22IVGCVSW-6232 Integrate static library libtensorflow-lite.a with ArmNNKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Ieb5fa0c4bb6753f0af21cfd80f1bf9faba55f7d0
2021-08-31MLCE-530 Add support for UnidirectionalSequenceLstm to armnn delegateNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ib04f8d6b9e60a4204c56eba4c2ecd2b316509dcc
2021-06-18MLCE-510 Add CpuRef Shape Operator to ArmNNKeith Davis
* Add TfLiteParser and delegate support Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Id3219ba7cc7128b5e73de2c7d8d076a40dcce9c5