aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-18Moving to Tf 2.12 branch including their cmake build fix.Colm Donelan
Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I9ded47fece6f19a302a0d017f6561c32b9c54daa
2023-04-14IVGCVSW-7662 Update BuildGuideAndroidNDK.mdMike Kelly
* Changed build so that electing to build the unit tests also builds ExecuteNetwork and the other test applications. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I76cb6552a4f6dcee173de3dd05d43207e699a751
2023-04-14IVGCVSW-7197 Implement Pimpl Idiom OptimizerOptions TOSA testsJohn Mcloughlin
Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: I6ce034d71f83765a9db65ab8f95e0b391dd8a9e4
2023-04-14Update ACL pin to 8b7f42aa0e76a65a4ffa46ee875df6a6220695aeNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: If764a8fac1a2aac0ef3b2418b56f4f87d61fd9d8
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-12IVGCVSW-7197 Implement Pimpl Idiom for OptimizerOptionsJohn Mcloughlin
Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: Id4bdc31e3e6f18ccaef232c29a2d2825c915b21c
2023-04-11IVGCVSW-7507 Pass m_Crops in BatchToSpaceND CpuAcc and GpuAcc workloadsTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I902c9187eefe7595271312fdc16273f7aa3d41cd
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-06IVGCVSW-7674 Fixing include paths in sample dynamic backend.Colm Donelan
Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I5d2fe903bab128e4fc84a8239ba5621f79572fe8
2023-04-06Update ACL pin to dcab9ca1b7914eb8cadadfaa5fb468e469dca5d9Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I2a71d1d1024deccbcfdba44c2d77c7bb721b1ab4
2023-04-06IVGCVSW-7197 Implement Pimpl Idiom for Delegate OptionsJohn McLoughlin
* ABI break on the delegate interface. Bumping the version number. Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com> Change-Id: I6ef3bc1ea240ef08b67bb3cb9d363a5bbbbdd906
2023-04-05IVGCVSW-7559 Implement DoPrepare with registrationMatthew Sloyan
* Added ArmnnOpaqueDelegate::IdentifyOperatorsToDelegate implementation. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I0b65847358d339a15fc3f729f89deb9b86da0c66
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-04-05IVGCVSW-7672 Arm NN build failures in MainMike Kelly
* Added required includes if ARMNN_LEAK_CHECKING_ENABLED. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I18bde66e8a1e19690747d7e05d10dbe0cedb1c1b
2023-04-05IVGCVSW-7673 Fix for failing buildMike Kelly
* Added ARMNN_NO_DEPRECATE_WARN_ to test files for Tosa and DynamicSample. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I2f1b771d719cf637e17cc423cd2211db9643a6e8
2023-04-05Fix gcc 13 compiler errorsPablo Marquez Tello
* Resolves MLCE-1040 Change-Id: I32878ed70af356832403e83dcb63b0b89a8a84e3 Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com>
2023-04-05IVGCVSW-6681 Improve error handling in TfLiteExecutor.Colm Donelan
The initial model load and tensor allocation operations against the TfLiteInterpreter were not checking return codes resulting in segmentation faults. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I812785f0af9012c97570065d200f72eaf781165a
2023-04-05IVGCVSW-7662 Update BuildGuideAndroidNDK.mdMike Kelly
* Fixed broken steps in BuildGuideAndroidNDK.md * Fixed broken links in BuildGuideAndroidNDK.md * Removed unneeded steps from BuildGuideAndroidNDK.md * Added instructions for building the tflite parser and delegate for android * Fixed errors in CMakeLists.txt that made it impossible to build without Neon or Ref. * Added build_android_ndk_guide.sh, a shell script that contains the same steps as BuildGuideAndroidNDK.md Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ie0479d3a2e4a776e7de88017b222d35a48c1fe10
2023-04-04Remove GetGraph and include of Graph.hpp header from public headerMatthew Bentham
Remove deprecated GetGraph() from OptimizationViews. This method has been deprecated for a long time and no backends still need it. Remove include of Graph.hpp from the public headers. Add includes elsewhere to deal with the header fallout. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: I8dae275a8a446d9d0e19be62684e9b3cd2fa493d
2023-04-04Update ACL pin to f26ea2f8cc957a1e6faf0361dea805fb2e236061Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I43c0aff1b1e0ebbf37c1e8e878283d77d4975954
2023-04-03IVGCVSW-3808 Deprecation notices for old ElementwiseBinary layersMike Kelly
* Added Deprecation notices for old ElementwiseBinary layers. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I5bd0f186aaed675885d667f47e1e210ee9ec84f8
2023-04-03Update ACL pin to 8893e454fa699f5dc33ff6b71f47e4c36fd1c1beTeresa Charlin
* Add cropping support to NEBatchToSpace Change-Id: I021f288cec3549423f30192a5d26673772df4b34 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
2023-04-03IVGCVSW-7558 Implement Delegate UtilsMatthew Sloyan
* Implement OpaqueDelegateUtils.hpp using new accessors. * Moved classic delegate utils to ClassicDelegateUtils.hpp. * DelegateUtils.hpp now contains common utils. * Removed unused ConnectConstant function. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I0fa611c82f5c06b0b7e0c37bfc343e09fb6a96c9
2023-03-31Revert "IVGCVSW-3808 Deprecation notices for old ElementwiseBinary layers"Mike Kelly
This reverts commit 52e90bf59ecbe90d33368d8fc1fd120f07658aaf. Change-Id: I5a0d244593d8e760ee7ba0c9d38c02377e1bdc24 Signed-off-by: Mike Kelly <mike.kelly@arm.com>
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-31Bugfix: Fix conversion issue in NetworkExecutionUtilsFrancis Murtagh
* conversion from ‘double’ to ‘float’ changes value Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: Iebcc8adea54590fb6153db503e1dfccb082c9bd3
2023-03-30IVGCVSW-7527 Update get_tensorflow.sh script to 2.12.0Teresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ibf7bf5eac91bf89101b1f20449edbbc542f3f679
2023-03-30IVGCVSW-7454 Enable NonConstWeights in CpuAccTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I74a93b1e2e5c9f12ce4523df3f21e5c0967fddfb
2023-03-30IVGCVSW-3808 Deprecation notices for old ElementwiseBinary layersMike Kelly
* Added Deprecation notices for old ElementwiseBinary layers. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Iebbbaff38cc9c347b25eb2f9054c914a4f931c68
2023-03-30Update ACL pin to 5a7d1571a2de24eefc6f1d8d22deeef9f47521eeTeresa Charlin
* Fix BatchToSpaceFixture Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I40a7dabf25b96de7d31e4060390795035445d187
2023-03-29BugFix: Mean layer reading negative axis incorrectly in TFLite parserTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I3ccfc2a4c95c57743927fb276faa756740f5c55a
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-27Update ACL pin to b531b7549abdd5c10b14b00107ea647591baa430Teresa Charlin
* Add Texture Pipe Support for Matmul Lhs T/NT Rhs T kernels Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I473677e39c7da38477fcce8a26fec0339a674a36
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-03-14IVGCVSW-3808 Add ElementwiseBinaryLayerMike Kelly
!android-nn-driver:9329 * Added ElementwiseBinaryLayer that can represent all ElementwiseBinary operations including Add, Div, Sub, Maximum, Mul and Minimum. * Updated Delegate to use ElementwiseBinaryLayer instead of the Add, Div, Sub, Maximum, Mul and Minimum layers. * Updated Deserializer to use ElementwiseBinaryLayer instead of the Add, Div, Sub, Maximum, Mul and Minimum layers. * Updated OnnxParser to use ElementwiseBinaryLayer instead of the Add layer. * Updated TfLiteParser to use ElementwiseBinaryLayer instead of the Add, Div, Sub, Maximum, Mul and Minimum layers. * Updated CL and Neon tests to use ElementwiseBinaryLayer. * Updated CL and Neon Backend Specific Optimizations to accept ElementBinaryLayers as well as Add, Div, Mul, Sub, Maximum and Minimum layers. Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I7cbb96b60eb01f0e2b57b0541016d48a08b86c75
2023-03-14IVGCVSW-7473 Update python version to 3.8 to build pyarmnn in Ubuntu 20.04Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ied41eda5c1979d9a2dae192b437fbeb688a0fd13
2023-03-10Update ACL pin to 37c989a58a04985dfdc21089c7dacc7e1925a4d0Nikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Id5e5cb47c492f955584f7f0b76c2cc4706efd6bf
2023-03-08Add Arm NN TFLite Opaque Delegate build flagMatthew Sloyan
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I42a6f1d59d270e26c76f74ca4a295a142151ca01
2023-03-06Fixing compare output feature in ExecuteNetworkColm Donelan
The -A -B -C options in execute network were attempting to calculate the RMS error over output tensors. However, the calculation was mixing tensor elements and bytes when doing the calculation. This patch changes the calculation to use a per byte RMS error calculation. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: If30230a16cfed1a8804b4d54ed1abcd371f26664
2023-03-02IVGCVSW-7420 Prevent CpuAcc & GpuAcc from running during support library ↵Cathal Corbett
aync execution Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: I6f921feaf591f0a1e27c373bb708c7ec8dfcbe43
2023-02-28Add constant version of IConnectableLayer::GetConstantTensorsByRefMatthew Bentham
This makes it easier to use, particularly in backends where it is common to pass around const pointers to IConnectableLayer. The non-constant version is rewritten to use the constant version. Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: Id3a8384447e93c213299a85ade9a667df5960534
2023-02-24IVGCVSW-7546 SPACE_TO_DEPTH support added in tflite parserTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I4f5016841c31b183440f31c1e177bc41d2b8dbb7
2023-02-22Fix segfault in ParseTransposeConv2d when output_shape is not constantRyan OShea
We currently check that output_shape is an input for transpose conv2d. If that is an input, we assume that it is constant and attempt to copy the data into the descriptor. When this data is not constant and instead comes from the output of another layer we segfault. When not constant we will use infer output shapes. * Adds a check into ParseTransposeConv2d that inputs[0] is constant Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I01176ae22974767a2306a3db749a029ed220d88b
2023-02-21Report errors when running LoadedNetwork in End to End testsTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I8d65673580924907db51d903d9054d1b0914493c
2023-02-21MLCE-753 Expand Tensorshape for relevent layers before verifying supportRyan OShea
Previously we were adding a reshape layer to "broadcast" tensors for elementwise operations. This broadcast was happening too late and was really just an expand dims. This was breaking the constant attributes of tensors and layer support of certain backends. * Remove addition of reshape layer when expanding dimensions * Replace broadcast function with expand dims to equal rank function * Fix some error status checks in various layers * Add new TensorUtil function that expands dims to a defined rank * Add unit tests to new TensorUtil function Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I31aca47c98075fef4f86864a15470f5faa55ab8d
2023-02-20IVGCVSW-7427 Execute network unable to correctly determineMike Kelly
the shape of the network * Fixed bug where calculated output shape wasn't being recorded in ParseSqueeze. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I8f03a0400323c865e7e8f924d257d6770f809502
2023-02-16GitHub #714: OnnxParser FullyConnectedLayer inferred shape doesn't matchMatthew Sloyan
* Added reshape before and after FullyConnected to support dimensions > 2. This is now consistent with the Delegate and TfLiteParser. * Refactored AddFullyConnected method to remove duplicate code. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I04dfeb38dbcac096c5fcd9dcb5e3821d38ce6550
2023-02-15Add Inclusive language commitment to main READMENikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I50d6191bd39c1f9192adffb11dfab43bf398ae36
2023-02-13Fix typo in Readme.mdKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I2a0044096a735def95f7b0225b4e61eb8e2f6bea