aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2023-02-10IVGCVSW-7510 Delete temporary files created by DebugTestImpl.Colm Donelan
* The test cases that use DebugTestImpl were creating temporary files but not cleaning them up after running. * Refactored FileSystem to extract a common RemoveDirectoryAndContents function. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I35b8d2eeed286742358a9abccbc078493d033902
2023-02-09Document updates for 23.02Nikhil Raj
* Remove the PerformanceChart. png file which is no more used in the Readme * Update release version for pre-built binaries in readme * Remove link to outdated guide in readme * Update example release branch in Android NDK md file Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I8f5cac684f9fa1c9ec5d2ba2286dea5dd47136ca
2023-02-09IVGCVSW-7255 Update Doxygen Project VersionCathal Corbett
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: I344f940e161b533963f8864196842feba9be2cae
2023-02-07IVGCVSW-7155: Fix Slot replacement during UpdateSubgraphViewSlotPointersFrancis Murtagh
* Only update boundary slots on actual subgraphview * Previously all slots from replacement subgraph added even if internal Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Signed-off-by: Matthew Bentham <matthew.bentham@arm.com> Change-Id: Ic9ef9fc41ad248838d1c019dd0368378c3119648
2023-02-06IVGCVSW-7476 Remove ProfilingOptions from DelegateOptions.Colm Donelan
ProfilingOptions is not used in DelegateOptions. Instead the parameters are passed in through the RuntimeOptions. This is done in ExecuteNetwork and TfliteExecutor. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: Iaab3d4ef277c47e1ff82a51ba2648f5f51ec3e2c
2023-02-03IVGCVSW-7501 Allow constant tensors as inputs for input data in the delegateRyan OShea
In the TLCT tests we were failing many tests because they used constant tensors as data input for the layers. We had the functionality in place but we didnt have it spread across the visit functions. * Check if inputs are constant tensors and attempt to assign them to input slot of layers. * Add missing checks to some functions that return a kTfLiteStatus so we can see if they fail * Clean up CreateConstTensor function Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I8610b770aea56932a98f91c961d59b3de47c2ab5
2023-02-02Update ACL pin to 23.02 release branchNikhil Raj
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: Ib00025e77387327ab591e4fbd1cf0fa3f35b80e4
2023-02-01Update ACL pin to 7594f989963724e127c3e28210d60fed590b0524Nikhil Raj
* Fixed clang-cl linker errors Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I6ac578887f9955cd0103cae061390cffa3482810
2023-01-31Fix for ExecuteNetwork Delegate when output is booleanRyan OShea
* When the output of a network is a boolean from a comparison layer ExecuteNetwork was missing the data type when writing the output tensor Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: Id9c1609462395a68e8c1842c77a4a033a10f74e8
2023-01-31Minor update to MemorySource to keep it usable as a bit mask.Colm Donelan
Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I971ea25b3380329aa1ad3936e7f5db1f5039805a
2023-01-31GitHub #651: Add PyArmNN installation instructions for prebuilt binariesFrancis Murtagh
* Previous instruction didn't generate SWIG wrappers. Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I8e4a28ad334fc7fec1740d520d1fde9359c30397
2023-01-31Update ACL pin to 67c3c631240a67105d9e30c6fd9dc413d075f095Nikhil Raj
* 9006: Fix num_threads_hint() on macos Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I202fc1c10e7dc78964835b6dff1578e6129148ac
2023-01-30IVGCVSW-7475 Fix uncaught warnings treated as errors in delegate release buildRyan OShea
* Add initialization of activation type in delegate layers with fused activations * Remove unused variable activationOutputInfo on layers with fused activations Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: Ieb2ba00516a159639871c391069faf162cbb666d
2023-01-27IVGCVSW-7450 Fix delegate fallback when fused activation is unsupportedRyan OShea
In layers that support fused activations, we check for activation layer support after we already create the base layer. This breaks the fallback as we already added the base layer to the graph. * Creates ValidateFusedActivation shared function * Moves Activation validation higher in the VisitFunction Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I239af360923f695fc374ddeaeefa24c062eaf9e8