Age | Commit message (Collapse) | Author |
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ibf7bf5eac91bf89101b1f20449edbbc542f3f679
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I74a93b1e2e5c9f12ce4523df3f21e5c0967fddfb
|
|
* Added Deprecation notices for old ElementwiseBinary layers.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Iebbbaff38cc9c347b25eb2f9054c914a4f931c68
|
|
* Fix BatchToSpaceFixture
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I40a7dabf25b96de7d31e4060390795035445d187
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I3ccfc2a4c95c57743927fb276faa756740f5c55a
|
|
* 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
|
|
* Add Texture Pipe Support for Matmul Lhs T/NT Rhs T kernels
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I473677e39c7da38477fcce8a26fec0339a674a36
|
|
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
|
|
!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
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ied41eda5c1979d9a2dae192b437fbeb688a0fd13
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Id5e5cb47c492f955584f7f0b76c2cc4706efd6bf
|
|
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I42a6f1d59d270e26c76f74ca4a295a142151ca01
|
|
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
|
|
aync execution
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I6f921feaf591f0a1e27c373bb708c7ec8dfcbe43
|
|
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
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I4f5016841c31b183440f31c1e177bc41d2b8dbb7
|
|
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
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I8d65673580924907db51d903d9054d1b0914493c
|
|
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
|
|
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
|
|
* 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
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I50d6191bd39c1f9192adffb11dfab43bf398ae36
|
|
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I2a0044096a735def95f7b0225b4e61eb8e2f6bea
|
|
* 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
|
|
* 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
|
|
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I344f940e161b533963f8864196842feba9be2cae
|
|
* 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
|
|
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
|
|
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
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ib00025e77387327ab591e4fbd1cf0fa3f35b80e4
|
|
* Fixed clang-cl linker errors
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I6ac578887f9955cd0103cae061390cffa3482810
|
|
* 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
|
|
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I971ea25b3380329aa1ad3936e7f5db1f5039805a
|
|
* Previous instruction didn't generate SWIG wrappers.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I8e4a28ad334fc7fec1740d520d1fde9359c30397
|
|
* 9006: Fix num_threads_hint() on macos
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I202fc1c10e7dc78964835b6dff1578e6129148ac
|
|
* 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
|
|
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
|
|
* When the tfLiteExecutor attempts to populate the input tensors it did
not check whether the tensor was constant. This was causing
segmentation faults.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I80a4cc788de4ffe08afb2df9185d04fcb8b27c3a
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ie53a4a0acc9f612948f12637c28256eb701bde4d
|
|
* Updated headers that were missing a copyright notice.
* Reverted years that were incorrectly updated.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I65842f1e9b9fd5654563edd5090133cb3c89fecc
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I01c73aa11676f200744db5a96ad589f41581ddc6
|
|
* Check if BuildExecutor returns null in ExecuteNetwork.
* Check if tflite BuildFromFile returns null in TfliteExecutor.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I42b6e5f26dfd127dd16b6b322184900846317c41
|
|
* TFLite Parser:
* Fixed issue in ParseReshape where the targetShape wasn't always calculated correctly
* Fixed issue in ParseFullyConnected where the wrong name was used for the ReshapeLayer
* Added an ExpandDims to the FullyConnected to ensure that we reshape the output correctly
* TFLite Delegate:
* Added an ExpandDims to the FullyConnected to ensure that we reshape the output correctly
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I129dfcb8543f8a3a297c0589c841be20ef3b6407
|
|
* Added ability to reduce dimension sizes when calling BuildArmComputeTensorInfo or
BuildArmComputeTensorShapes, this will attempt to remove leading 1s in order to
squeeze the number of dimensions but retain the size.
* Changed ClBatchMatMulWorkload to attempt to squeeze the number of dimensions to 3
as the CL Gemm Kernel can only support up to 3 dimensions.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I6b3d0886c5b97fdb686838fc3dc292833ddc4643
|
|
* Resolves MLCE-731
Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com>
Change-Id: I8cbc690e02c2c21eb1000d2d8203faab2a887dfd
|
|
* Fix performance regression when stride equal to kernel size
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I64dd433bc1e1f2137675612f4744b02c00341f3f
|
|
one works fine
* All ArmNNExecutors now share a single IRuntime.
* All armnn_delegates now share a single IRuntime.
* Increased delegate major version.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I95cbdc32655ec0beb476dbb2d60f1a0209df8f04
|
|
* Fixed issue where ComparisonLayer wasn't calculating its output shape correctly.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I37fe437b598bde694e519d6792182924bd0197cd
|
|
* The only way to build TOSA common was to enable ARMNNTOSAREF.
* Only include and link the required headers/libraries for TOSA Common.
* Remove duplicate include_directories calls.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ia5a19bf5b0bb903be0248ac550439df1e8ac5aa7
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ic20665daff9d184bf29da110f267c8dfa755e292
|