Age | Commit message (Collapse) | Author |
|
Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com>
Change-Id: Id4bdc31e3e6f18ccaef232c29a2d2825c915b21c
|
|
* Added required includes if ARMNN_LEAK_CHECKING_ENABLED.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I18bde66e8a1e19690747d7e05d10dbe0cedb1c1b
|
|
* 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
|
|
* 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
|
|
* Fixed issue where ComparisonLayer wasn't calculating its output shape correctly.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I37fe437b598bde694e519d6792182924bd0197cd
|
|
* Folding of pad into conv2d expected a Constant layer not Dequantisation
* Fusing Dequantisation with Constant to a Constant ensures that.
* Group Constant layer optimizations together where possible.
* Add unit test.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Id0393313bf097595f2f13738b7513e427116ea4a
|
|
* 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
|
|
Optimize
* Add unit test for WorkingCopy of SubgraphView with Inputs and Outputs
* Added check to ensure InputSlot is connected before trying to disconnect
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I261d55e38c94687a9de64cdee726a7c7442ed537
|
|
* 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
|
|
In several cases the address of a single float value on the stack was
passed as a pointer to the constructor of ScopedTensor (which needs
a backing-store of size equal to GetNumBytes()).
Replace by using a std::vector to explicitly create and initialize
the right number of elements.
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I8a1f4bf169bd89983f2d68047173ec901a21e1fb
|
|
- 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
|
|
The subgraphs produced by SubgraphViewSelector were not produced in a
deterministic order, as the order was determined by the pointer values
of some 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. It also simplifies some unit tests.
Change-Id: I64f552706b7fb1bf82c19d85a448e054277917bc
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
|
|
* Files deleted when Stabilizing the API
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I0ae73ee36968fa880761c10358bfa827be5fe054
|
|
overridden
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: If594e291951a5f9ed1957a19a971c498f6e7843f
|
|
* AddConv and AddDWConv with weights and bias
* ResizeBilinearDescriptor
* b,blacklist option in accuracy tool
!android-nn-driver:8172
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ibbc04fd18be7f938b11590bf67cd7af103cb4d99
|
|
* The previous fix for IVGCVSW-7106 introduced a problem around
operators with multiple inputs and outputs: addSeparator was being
applied to all tensors in the list not just the last one.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I0325d9abcb7fb512f834c61686c698bbfc29a3be
|
|
* ProfilingDetails assumed that every workload description included
both tensors and parameters. This is not always the case.
* Modify ProfilingDetails::AddDetailsToString to check the next
element to be printed before deciding to add a separator and new line.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I2577b0e8a149d0a172ee12975e18b78238d8256e
|
|
running Arm NN Unittest
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I567452000287babad345e61ea85ea84f362f48e0
|
|
* Originated from a GitHub issue: https://github.com/ARM-software/armnn/issues/667
* Initially, Arm NN supports the pool 2D operation because there is no padding
on the pool2d. Neon failure occurs when padding is followed by average pool 2D
due to folding optimization.
* Here we prevent the folding optimization from happening for the above special case
and add it in as a backend specific optimization.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ia0fd90c3a6b4b9d29c81106f154617d2e893e26b
|
|
Fp32NetworkToBf16Converter
* Fuse FP32ToBF16Layers with Constant Layer so Conv2d/FullyConnected
can have their weights redirected.
* If BF16 Unsupported in Conv2d || FullyConnected revert fused
Constant Layer to FP32
Change-Id: If523c708a822659d64597d9ae39cca1c2f84b76f
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
|
|
* Refactor backend capability checks in LoadedNetwork.
* ImportInputs should check the number of tensors does not exceed the
number of inputs.
* In EnqueueWorkload the check for for the count of input tensors
was ignoring pre-imported inputs.
* Added checks to verify ImportInputs/ImportOutputs worked as expected
in EndToEndTestImpl.
* Improve documentation on ImportInputs/ImportOutputs in IRuntime.hpp.
* Disabled import tests in CL and Neon EndToEndTests that cannot work.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: Iae4b2644a1c9f01ee72bce1afb211661cc9ae2e3
|
|
* Add virtual GetSlotIndex to IInputSlot
* Fix logic in GetWorkingCopy to use index of slots; so as not
to add slots to cloned subgraphView if not in original subgraphView
* Add test to cover cases when not all inputSlots to subgraphView layer
are part of the original subgraphView
* Mark SubgraphView::GetWorkingCopy() as const
Change-Id: I1d540f84c57f97f6c834ec06ca13393ffa55d379
|
|
instead of immediately before output
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I2d89a1efdabfdb4be24a8998a03fe1f502d26183
|
|
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I9ccaefbe28ea572e9e2b4a2168574804667f7460
|
|
This reverts commit a0f8b15d4ddb5075f380003ff31b271d389d3b66.
Reason for revert: <Test ClDmaBufInternalTests review >
Change-Id: Ibc4a77fa008643849da7330391942e4c87b941e2
|
|
This reverts commit 03bf98a8bc51ad20eef4b9ca5fbf6ce15e063721.
Reason for revert: Caused failures in tests located in internal repo.
Change-Id: If35cb0ede349b270e4e7827324382e09455d8cfa
|
|
Only one bool is used to indicate whether inputs should be imported.
However, its possible for the user to want to import inputs but not
export outputs. In addition it's possible for a user to enabled import
during optimize but then pass a memory source that does not require
import.
* Add m_ExportEnabled to INetwork.hpp.
* Modify Network::dNetwork to consider both m_ImportEnabled
and m_ExportEnabled.
* Add ValidateSourcesMatchOptimizedNetwork to LoadedNetwork to validate
import options between optimize and network load.
* Update the TfLite delegate consider exportEnabled flag in the
optimizer.
!armnn-internal-tests:425350
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I776eab81595898e43f91ab40306962eae61329f4
|
|
* Test already existed but bias was not enabled so yielded false positive
* Updated Conv2d and FC to have const layers as inputs
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Id4193adef2ac67b3a4681345e4dc01414cbbbad7
|
|
* Use new INetwork::AddConvolution2dLayer
instead of deprecated version
* Remove duplicated test in SerlializerTests
* Fix some cosmetics
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I3407815bfdc1cdc01ca0a667b8e4d80d8621783f
|
|
* Add functionality to check for ConstantTensorsAsInputs to GetConstantTensorsByRef
* Reorder optimizations so RedirectMembersToConstantInputs occurs after
Conversion of Constants
* Ensure graph is in topological order after loading in OptimizedNet
* Fixed test to check release of m_LayerOutputs.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I7cff50798d7217e8ea0d2f9b153eabd10174a566
|
|
* No trailing permute layer after a constant layer
* Unit test for optimization
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I0d098f5af41d2c55df7cef1ccfb848093320ddc1
|
|
* Support Float16 as input to Dequantize layer
* Add Optimization to substitute Const+Dequantize layers with Const layer
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I58bb7e3871ca480c7b6fca93c4efb2de84e09e64
Signed-off-by: David <david.monahan@arm.com>
|
|
!android-nn-driver:7477
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ibf633ccccc385bd980934ff829407d21981323ef
|
|
* Update Front-end and Tools.
* Updated Serializer, Deserializer and unit tests to reflect this.
* Updated TfLiteDelegate, TfLiteParser and OnnxParser.
* Updated Ref.
* Fixed resulting Neon / CL tests
* Unified optimizers for conv2d ops
* Optimizer Fix - Fp32ToBf16
* Partial implementation for ACL backends to fix VTS failures
!android-nn-driver:7477
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I5fb18877f7ee32643e15a9818945356274bb401b
|
|
* Added backend specific optimization & test for CpuAcc and GpuAcc: PermuteDepthwiseConv2dWeights
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I600476b2e9c557a39818a574c1091c9d650b21b1
|
|
!android-nn-driver:7418
* Update Front-end and Tools.
* Updated Serializer, Deserializer and unit tests to reflect this.
* Updated TfLiteDelegate, TfLiteParser and OnnxParser.
* Change NNDriver to new API.
* Updated Ref.
* Neon and Cl backend partially completed (Backend.cpp files).
* Added dynamic or constant input EndToEnd tests.
* Added ConstantTensorAsInputMemeberVariableRedirect Optimization.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ib18b6c10a093042e165e25237dc04a4c67ba82da
|
|
!android-nn-driver:7337
Change-Id: Ide401623829cc99fb9b51e9bbce3482ce706a8dd
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
Change-Id: I18b8ca22896567904768170350ee5eb22edd4a22
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
Change-Id: I048c538d4f8c21770aec2b2751c934d9fa15a4dc
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
Change-Id: I13353f50293eae565a75ccfda37209350512bbc6
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
Change-Id: I9c3af46ca02c5685e06657b8af0e4658d71891d4
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
profiling code
Change-Id: Ifbdfb034deda2f792ac1069dac808917606ccc9e
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
Change-Id: I87ce3a1306eced9fc347cc383d9c7bc8994f0b0c
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
* Updated ABI version to 29 due to being the first ABI break in 22.05
!android-nn-driver:7226
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I9c50007dcd5b5e792757e7bd1213606df5ffec36
|
|
Change-Id: I30a46f3368bbbf33019eac4fa1245f6ff69deacd
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
|
|
Change-Id: I3f5dfb0d84d841eec30bb2b6ad9593024f3a39f1
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
|
|
* Add ARMNN_DLLEXPORT to static symbol that needs to be exported from armnn
* Add missing <numeric> header for std::iota
Change-Id: Ica0211ed0065e9723bcb8e9dff511acb4ea50288
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
|