Age | Commit message (Collapse) | Author |
|
* In AddBroadcastReshapeLayerImpl check if a constant layer has other
connections before modifying its output tensor shape.
* In ElementWiseBaseLayer replace an ARMNN_ASSERT with a proper error
message.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Id3f3796c260eede61f076660505257a8b65d93fc
|
|
* Remove from .md files and Doxygen
* Remove from armnn/docker build
* Remove Tensorflow model format from ExecuteNetworkParams
* Remove Tensorflow model format from ImageTensorGenerator
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Id6ed4a7d90366c396e8e0395d0ce43a3bcddcee6
|
|
* Enabled async mode with '-n, concurrent' and 'simultaneous-iterations'
in ExecuteNetwork
* Number of input files provided should be equal to number of input files
provided multiply by number of simultaneous iterations divided by comma
!armnn:5443
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ibeb318010430bf4ae61a02b18b1bf88f3657774c
|
|
* Add inter layer memory management to WorkingMemHandle
* Change Const layers to be executed once in loadedNetworkConstruction
and share tensorHandle between all WorkingMemHandles
* Fix various reference workloads pointing to memory in the queueDescriptor
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I69d4b3c5c84d2f5abe4540c3e624ab4f00d88226
|
|
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I02da912e5e4ca650b367ca40fe3f5ca5baa61cbb
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ida37d3ee3a1af0c75aa905199bd861726c646846
|
|
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I8a29df03afdd6f1cc8413b219e179272cd2d51cf
|
|
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I481343af311cf3cbc81eee80e80d8b5581fdfd7b
|
|
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I1bbf1f2edf7282cb69b99e22de1b8a2fe6e443c2
|
|
* Removed check in TfLiteParser and Delegate that requires both weights
and biases to be constant or non-constant simultaneously
* Updated TfLiteParser FullyConnected layer test to properly use
non-constant weights
* MobileBERT Float32 model now runs on TfLiteParser
Signed-off-by: mathad01 <matthew.haddon@arm.com>
Change-Id: I1d75eea466caa90cd695ad353160362df2f69483
|
|
* CLWorkload was only supporting float
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ic57a490f03a055c158edc19e831b153a44e25166
|
|
Some models would add a PAD layer before a pooling when they can't
express their padding configuration as SAME or VALID.
ArmNN can potentially merge the two merge the two because pooling
layers are described with explicit padding.
The merge is possible if the extra padding is neutral in the combined
pooling operation. A merged operation can only fuse paddings in the
dimensions that accept explicit padding in a pooling operation, i.e. the
spatial dimensions.
Signed-off-by: Diego Lopez Recas <diego.lopez.recas@gmail.com>
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Icd54718dcd9e797c923456b7fa6e0213e288e668
|
|
* Reading tensor infos won't allow a permutation vector anymore.
The permutation only changed the quantization dimension not the
shape and was therefore misleading
* The permutation of the full tensor info is now performed in
armnnUtils::Permuted
* Changed TfLite Parser depthwise parsing function
* Added unit tests to TfLite Parser with more random data
* Changed TfLite Delegate depthwise parsing function
* Added unit test to the delegate with per channel quantization
!android-nn-driver:5412
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I1f985ee69547bcaf16a72201e00a6b6fe1ef9a97
|
|
* Add new class ManagedConstTensorHandle to Unmap when out of scope
* Integrate into existing layers that have constants
* Add unit tests
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I0a05e14e438804b37e9862e76b5ca329483f6b45
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: Ib00be204f549efa9aa5971ecf65c2dec4a10b10f
|
|
* Updated ParseSplit TfLiteParser function to read correct axis data.
* Improved validation in ParseSplit and ParseSplitV function.
* Added TensorFlow BOOL support to TfLiteParser.
* Added supported ElementWiseUnary operators to TfLiteParser
E.g. ABS, LOGICAL_NOT and RSQRT.
* Removed ParseExp and ParseNeg function implementation in favour
of reusable ParseElementWiseUnary function.
* Removed Exp.cpp and Neg.cpp files and moved tests to ElementWiseUnary.cpp.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ibce36e3ce4d95755dda88abc2ddde1e07e62c5e2
|
|
* Added multithreaded StridedSliceEndToEndTest
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I4579db7b5959e0a22256f1bda00238c22e611dec
|
|
IVGCVSW-5415 Add TfLiteParser support for CAST
* Added front end support for CAST, including support in the
Reference workload, Serialization, Deserializtion, Unit tests, and
TfLiteParser.
Signed-off-by: mathad01 <matthew.haddon@arm.com>
Change-Id: Iaf670ca5912a21ed6bc84f7f83a68b42154846bb
|
|
* Fix for GitHub#523.
* Updated ParseArgMinMax function to read correct axis data.
* Improved validation in ParseArgMinMax function.
* Added ARG_MIN support to TfLiteParser.
* Added ArgMinMax unit tests for TfLiteParser.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ib4ce1a7c66e210c47859a130c4896aac958f2654
|
|
* Added support for Signed64 to flatbuffer's schema & updated source tree
* Added support for Signed64 to TFLite Delegate
* Added support for Signed64 to Serializer
* Added support for Signed64 to Deserializer
* Added unit test for ArgMinMax to Deserializer
* Deprecated m_Output_Type from the ArgMinMaxDescriptor: the output type
is solely determined by the DataType of the output Tensor
* Fixed issue where RefArgMinMaxWorkload could output data using
the wrong DataType
* Added Signed64 to RefLayerSupport::IsArgMinMaxSupported as a supported
type
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ib622c052a1f8aa3e658262f8bde5a6881a8cbe10
|
|
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I2873f8563cc11da550d460b04e5175372489a564
|
|
* Moved IAsyncNetwork into IRuntime.
* All LoadedNetworks can be executed Asynchronously.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ibbc901ab9110dc2f881425b75489bccf9ad54169
|
|
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: If2069b4d274286e654ac2bceb52d147f9ee3a7a9
|
|
In the bug there were 4 outputs from the final layer. The de-serialized
layer bindings were incorrectly assigning the tensor info of one output
to all 4 outputs. The solution is to use outputSlotIndex.
One other minor fix: The debug text referred to an Input when dealing
with an output.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I6c68b781a450ae4a5cf1d0e8671bb96ff01862b2
|
|
* Change layer storage of ConstTensors to std::shared_ptr<ConstCpuTensorHandle>
* Change clone to share ConstTensor rather than copy
* Remove uses of non-const GetTensor() call
* Reduce scope of non-optimized network in ExeNet, so memory can be released after use
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: Ibb2c7309d12411d21405bd6024c76bcdf5404545
|
|
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ie51ce20540e5e7a704ce2b4be4e8cf64f91ea990
|
|
* Added AsyncExecution to the BackendCapability enum class.
* Logged a warning if backends do not support AsyncExecution capability if AsyncNetwork is created.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I49f8467297f4b6b8e414cb6a3638a7d3f1bb886a
|
|
* Implemented Pimpl Idiom for IAsyncNetwork
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ic7311880563568b014a27f6347f8d41f2ad96df6
|
|
* Adding ref backend "ifdef" around ref test cases in
NeonLayerTests_NDK_Bug.cpp
* Removing unnecessary includes from NeonLayerTests_NDK_Bug.cpp.
* Removing unnecessary include from NeonLayerTests.cpp
* Breaking up Backends_Capability_Test into one per backend to allow
for conditional compilation.
* Remove unnecessary printout in src/backends/neon/test/CMakeLists.txt
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I9a36cd197e684ed55af244e5c998ee67bb8da88c
|
|
* Added thread safe execution mechanism for armnn
* Removed duplicate function bool Compare(T a, T b, float tolerance)
* Added StridedSliceAsyncEndToEndTest
* Fixed memory leak
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I2d367fc77ee7c01b8953138543e76af5e691211f
|
|
!armnn:5180
* Remove unnecessary memcopy for non permeuted const tensors
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: Idc3ce2ac001e7d6be61819279de486f093730383
|
|
* Creating a new NeonLayerTests_NDK_Bug test class.
* Moving a subset of tests effected by an NDK bug from NeonLayerTests
into NeonLayerTests_NDK_Bug.
* Excluding NeonLayerTests_NDK_Bug from the build if it's an Android
debug build and NDK is less than r21.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Icb16d8bbb784fb0357deef281d7aa713e11af8ac
|
|
TfLiteDelegate support for FullyConnected Operator'
* Added front-end support for non-const weights for FULLY_CONNECTED operator
* Added FULLY_CONNECTED end-to-end test
* Updated FULLY_CONNECTED operator support in TfLite Arm NN Delegate for non-const weights
* Updated the version numbers
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Iffa5b9aa9297aca4c02d923cce4636c88ac21faa
|
|
This reverts commit 51ce7d487c761358de105f82ff90553570aedac0.
Reason for revert: https://jira.arm.com/browse/IVGCVSW-5798 LargeGraph_TENSOR_FLOAT32 CTS tests failures
Change-Id: Ib031a47f605340b2202ecf074ce96a8b54c51075
|
|
* Add new ClImportTensorHandlefactory for tensor import.
* Add unit tests.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I61884fed65e764ebd6985fe0833e43a7296d0641
|
|
This reverts commit 4c10dfc213a59ec7bbf56b645e313083638b81a4.
Fix for IVGCVSW-5768
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I7197067a7bb407ff9d35059289a31912592d3af4
|
|
Some models would add a PAD layer before a pooling when they can't
express their padding configuration as SAME or VALID.
Arm NN can merge the two because pooling layers are described with
explicit padding.
Signed-off-by: Diego Lopez Recas <diego.lopez.recas@gmail.com>
Change-Id: Id048186db6a005e0257bfbc1406c3b0dab2cdd58
|
|
Optimisation when the input is a const tensor
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I8b1357bdefc45880d064d7e448af364ac8644c0d
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Id0c1ce0ae8946bbc061f5c1f7a7798d3033e6ce4
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I59bf2eade949043d1f498772fad66eda7d64a87f
|
|
* Update ReduceLayer to use descriptor parameters
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I2ff240f63534de0fd647428cf411763829412443
|
|
* Contains a dummy import function as that will be implemented separately
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: If551b69e832c045c76775a7e5fa25647c2313908
|
|
* fix delegate perchannel quantization
* change delegate to check reshape options before inputs
* Add int8 "qsymms8" option to ExecuteNetwork
* Add option to run ExecuteNetwork on tflite w/o delegate
!referencetests:301301
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: If3e12599b17aff1199d7ab0a55e1c901e480083d
|
|
* excluding our top level readme
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I45b156c248178a141b8497dcc4d09148b67bf406
|
|
The subgraphs produced by SubgraphViewSelector were not deterministic
as the order of the input slots, outputs slots and layers within each
subgraph were determined by the pointer values of those objects, which
are not guaranteed to be the same for each execution.
This patch adds a post-processing sorting step based on the GUIDs of the
layers and the slot indices so that the results will be the same for
each execution.
This makes debugging the optimised graph much easier as subsequent
stages can also be deterministic.
Change-Id: Ifbcb199733066f99e9f95808a8da22023e5944f1
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
|
|
* For Quantizer, Tensorflow Parser and Caffe Parser
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: If30daa54947c417c0d700f11e630546b1745b72e
|
|
Debug layers are given names based on the layer they take their input from.
If a layer has multiple outputs then one debug layer will be attached to
each output. Therefore all these debug layers would have identical names
making them hard to distinguish when debugging. This patch includes the
output slot index which the debug layer takes its input from when creating
the name.
Change-Id: I09eaa8a7edad9bfdf678b4778cf740340013126c
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
|
|
* CreateTestNetwork() and CreateTransposeTestNetwork should only be
defined if Ref enabled; the same as the test its called in otherwise
it's defined but not called.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I7bc522a7884d216d1a8e51afd7cec7a66e4e2947
|
|
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: If69dbc230e2136def8a697ab25b9c4cb5cb8c731
|
|
!android-nn-driver:5042
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ia1ce8b839e81b46428ba0f78463e085e5906958d
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
|