Age | Commit message (Collapse) | Author |
|
* Add support to CpuRef, CpuAcc and GpuAcc
* Add support to tflite parser, classic and opaque tflite delegates
* Add support to serializer and deserializer
* Add Unit tests
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ibc60ef2ef2a051e6d9af6e15d24c46316ec19de4
|
|
ADD+MUL+Add+(Activation) in CpuAcc
* Adding CpuAcc backend optimization to fuse add+mul+add into one layer
* Tests added/enhanced
* Also added optional extended parameter to Graph::Print()
and throw macros that could be used in place of assert
Signed-off-by: Tracy Narine <tracy.narine@arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I5f8d094b969a130d8c2c7b4da07426313a9fea76
|
|
Signed-off-by: Idriss Chaouch <idriss.chaouch@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I94ec5f9120b2d736fdf98d00ec5137a4efd739b8
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ic778d35b001474b44fb1e433a6fe276e4ec9f565
|
|
* Initialised the uninitialized variable.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ifb002ee53cb9b2a2559c282a9b30192790d36d05
|
|
* Reorganised WorkloadInfo members
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I49468ec94184782ed408b1cc8b9a319f9e2afefb
|
|
* Fix failure in SampleDynamicLayerSupport and SampleDynamicWorkloadFactory.
* Provide implementation of CreateWorkload() accepting LayerType
* Made WorkloadFactory::CreateWorkload() pure virtual again to force
backend API users to implement.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Iecd180214a92c9fd7174fd36ae8aa2bdbc9d3deb
|
|
* Added Axis to ViewsDescriptor to store the value where ever possible.
* Updated Serializer and Deserializer to handle axis.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I56e442872b47485a608b25fbc79063b362a25618
|
|
* WorkloadFactory.hpp CreateXXXWorkload replaced with CreateWorkload
accepting LayerType for ABI stability.
* These effect ref neon cl and mock backends
* Also removed small deprecation comment in Optimization Views
* Fixed ABI Version Issue
Signed-off-by: Cian McGriskin <cian.mcgriskin@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Id37af2f882fc9d12b8c779de6b714013af866028
|
|
* ILayerSupport interface - removed unstable virtual functions.
* User instead uses IsLayerSupported accepting LayerType enum argument.
* Backend developers should implement the ILayerSupport::IsLayerSupported
method accepting LayerType as a switch statement with case being
LayerType and each case calling their implementation of IsXXXSupported()
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Iaaead8320bb1b2f1bdab6b5be2e1e69d0eb482d5
|
|
* Replace most ARMNN_ASSERT's from tflite parser
* Replace most ARMNN_ASSERT's from onnx parser
* Replace some ARMNN_ASSERT's from tflite delegate
* Replace some ARMNN_ASSERT;s from include files
Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: Ie052e0180060203f28f64ebf54acad298f431caf
|
|
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I6686ad0a16ef763dbdc771c7ef792ae2890e0ab2
|
|
(INetworkProperties)
* Remove INetworkProperties::m_ImportEnabled
* Remove INetworkProperties::m_ExportEnabled
Change-Id: I246fef76f186c3d54cc39e2b5bc09b738458fef3
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
|
|
* Adds BatchMatMul layer and descriptor to pyarmnn
* Adds ReverseV2 layer to pyarmnn
* Adds ElementWiseBinary layer and descriptor to pyarmnn
* Adds Tile layer and descriptor to pyarmnn
* Adds network test for each layer
Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: Iac70fb7f857978d676d3b67a4cc20fb5f3270676
|
|
!android-nn-driver:10035
* Two of the 4 HasCapability methods in BackendHelper were checking the
value of the capability not just the existence of the capability.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I63bc1671dfb088a947de70a21c86d2502f92f008
|
|
* Remove deprecated GetAxesToMul and GetAxesNotMul functions
* Remove Deprecated version of file TensorCopyUtils.hpp
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I1fb652ff8319e73616991f11c1a19daecc40833c
|
|
* Added names to Workloads.
* Workloads will be given the name of the Layer that created them.
* Added new profiling macros to CL Neon and Ref that add the
workload name to the event label
* Updated workloads to use new macros.
* Added missing profiling to Rank Workloads.
* Fixed issue where ClConvolution2dWorkload was being reported as
Undefined rather than GpuAcc.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I0a55eab6c2f455b73943aca8e99a247c3cb2a906
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Cian McGriskin <cian.mcgriskin@arm.com>
Change-Id: I0afb2403fee11c5c1e58ea65e2525e99594d8f2d
|
|
Layer with 2 inputs
* Changing ReverseV2 to use two inputs
* This is required by the backends
* The ReverseV2Descriptor was removed
* Tests updated
* Added a Run<> templatefor inputs with different data types
Signed-off-by: Tracy Narine <tracy.narine@arm.com>
Change-Id: I22f947de829b4b3da6bda3a74f4ffdef4052cc25
|
|
* Added optimization to remove reshapes for Neon and Ref Backends
by using overridden TensorInfos
* Added ability to delete Subgraphs during Optimization
* Fixed naming error in NeonEndToEndTests and CLEndToEndTests
* Added LayerNameAndTypeCheck for testing.
* Fixed error where layers were not marked as altered when removed in
CLBackend
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I1ac25cd4ec9821470d961831ae2c8d24882276cc
|
|
* Descriptors added for ReverseV2
* Layer definition added
* Input validation added
* Reference workload implementation for ReverseV2 added
* Reference layer unit tests made for ReverseV2
* CompareTensors method updated to support comparison between empty tensors
* CMake and other build files updated
Signed-off-by: Tianle Cheng <tianle.cheng@arm.com>
Change-Id: I805738454421309fda77c44218a8df171d68dc18
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ia026d7a9c71f2cede3e9b3d2c9a92c1781ec96a3
|
|
* 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
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I70d3673bbb2dc113ac5eb6d63029a4a4a684e831
|
|
* Reference workload
* TfLite Delegate
* TfLite Parser
* Serializer and Deserializer
* Changed fallback tests in delegate to use COS instead of CEIL
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I36e0dbff33694182d1dba0c95d463506428e2f04
|
|
* Arm NN does not account for int8 or uint8 not quantized types, Tensorflow does.
Not quantized int8 and uint8 is the same as quantized int8 and uint8 with scale = 1.0 and offset= 0
Default offset/zero_point was already 0, this review sets the default scale to 1.0.
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ibc3eecc281de516c2cc706e17bde01c64ff9556e
|
|
Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com>
Change-Id: Id4bdc31e3e6f18ccaef232c29a2d2825c915b21c
|
|
* Resolves MLCE-1040
Change-Id: I32878ed70af356832403e83dcb63b0b89a8a84e3
Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com>
|
|
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
|
|
* Added Deprecation notices for old ElementwiseBinary layers.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I5bd0f186aaed675885d667f47e1e210ee9ec84f8
|
|
This reverts commit 52e90bf59ecbe90d33368d8fc1fd120f07658aaf.
Change-Id: I5a0d244593d8e760ee7ba0c9d38c02377e1bdc24
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
|
|
* Added Deprecation notices for old ElementwiseBinary layers.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Iebbbaff38cc9c347b25eb2f9054c914a4f931c68
|
|
!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
|
|
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
|
|
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 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
|
|
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I971ea25b3380329aa1ad3936e7f5db1f5039805a
|
|
* 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
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I55c1020dbfe13af439236fa72057f114e78e8bd3
|
|
* API to remove need for workaround so backend users can get slots
* OutputSlots outside the SubgraphView needed to obtain TensorInfo
* Fix a few Copyright headers
* Add shared_ptr back to original subgraph view using
std::enable_shared_from_this
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I033a00d6fc4020619d406ac06a156b7e380a426a
|
|
OptimizationViews::GetINetwork()
* Also provide API to return reference via GetINetworkRef().
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I80f4912cb7e22a2023e9bb880182ad4610c219e9
|
|
* Fixed bug when converting Constants with Per-Axis Quantization
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ifbea23e60483746ec987da491dae96e74cb33af4
|
|
* Added CreateNetworkFromBinary to the ONNX parser
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I5ca72ee49c7b098f9fb4aaf55a8bc077230cb30e
|
|
* Removed weights and bias from Convolution, DepthwiseConv & FullyConnected
layers
* Removed the weight and bias ConstTensorHandles from the QueueDescriptors
* Updated Workloads to take tensors from WorkloadInfo rather than the
QueueDescriptors
* Removed unused RedirectMembersToConstantInputs optimization and tests.
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I9ffcdc4a1c0dff725539dd69fc435b700bd98a56
|
|
* Done as part of 22.11/23.02 innovation days.
* IsLayerSupported() is called in model prepare (delegate, android-nn-driver and shim/support_library)
and again in ArmNN once model otimization is performed.
* From calling IsLayerSupported() the first time, we should know that the layers are supported
and what backend they are supported on.
* Solution is to set the BackendId of the IConnectableLayer when IsLayerSupported() is called the first time,
* In the Optimize() function we then check if the backend is set. If so, we do not call IsLayerSupported() again.
* In the case a layer that is supported gets optimized, then the BackendId of that layer get set to "Unknown"
for the new optimized layer and IsLayerSupported() will get called on the newly optimized layer.
* Includes bug fix IVGCVSW-7213 for Android Mean FP16 CpuAcc tests. Also related to bug IVGCVSW-7211.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I7a7820d0cdb079ffb5a3a2e0c44e252f652df53b
|
|
This tool forces explicit includes of all dependencies and
highlights unused dependencies.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I92e449245246452a0227cbd13f9c082e2088bf8c
|
|
* Some pemutation vectors were not converted correctly.
* Add Transpose end to end test.
* Comments added with an example to clarify the differences betweeen
Transpose and Permute
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I6c0954ca6ce00ef5f2a6f3625abe6f4fd27b5cdf
|
|
* Extended deprecation time of SubgraphView interface to 23.08
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Ic0a729ea31402f0b39724da47212ae5cc04465c4
|
|
- Remove Bf16ToFp32 Conversion Layer
- Remove Fp32ToBf16 Conversion Layer
- Remove B16 Conversion tests
* Throw exception if m_ReduceFp32ToBf16 optimzer option is set to true
* Provide comments to enable fast math in order to use bf16
* Update docs to inform users to enable fast math for bf16
Execute Network Changes
* Require bf16_turbo_mode to also have fast_math_enabled set to true
- Remove setting m_ReduceFp32ToBf16 optimizer option
Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: Ibaa6da9d29c96a1ce32ff5196b0847fde9f04a1c
|