Age | Commit message (Collapse) | Author |
|
* Removed all instances of TODO statements from comments
* Removed statements are noted as part of IVGCVSW-5846
* Removed ProtoxtFixture.cpp from the Onnx Parser tests as it's not used
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Ia0a15f8a0d4123c8831638634eaa0d1018c40e2c
|
|
* Set flag for constant weights and bias in ACL tensorInfo in ACl workloads
* Set flag for constant weights and bias in Unit Tests
* Add to dot file for FullyConnected layer the constantWeights flag
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I87e1fef516ce4a8a59245dfdf7d92c153418e1d6
|
|
* Added new ARMNN_STUB_PROFILING and ARMNN_DISABLE_DYNAMIC_BACKEND
defines to replace BUILD_BARE_METAL and BUILD_EXECUTE_NETWORK_STATIC
* Add new CMake variables to disable sample apps and dynamic backends
* Improve BUILD_SHARED_LIBS CMake variable
* Add new archive output location to various libraries so that the
static libraries appear in the same location as the shared libraries
* Fixes for bare metal build
* Add ARMNN_DISABLE_FILE_SYSTEM defines to missing locations
Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: I1db9a8f483e7134bd261294b35240cf21b150d45
|
|
* If the output shape is given in Transpose convolution, use it to calculate the padding
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I0bf3dee94c2ce606ed67fb385018b220188c3017
|
|
* 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
|
|
* 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
|
|
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
|
|
* 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
|
|
* 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
|
|
* Fixed issue where ComparisonLayer wasn't calculating its output shape correctly.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I37fe437b598bde694e519d6792182924bd0197cd
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Iaa3cff46217117aefdb92f281e9da2b0315f3af9
|
|
* 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
|
|
The -F execute network option creates a directory to print intermediate
tensors but minor problems caused serious failures. This attempts
to clean up the error handling.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: Ia44c008919b1bee299b43a672235b1fcc25bf1bd
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Iefe255ed27e1f69d99dc0cae9cfa1d6d1a51720e
|
|
* Added ability to calculate dynamic tensors and propagate
them through the model so that when those tensors are later
used as inputs they have the right shapes.
* Added InferOutputShapes to DetectionPostProcessLayer.
* Added InferOutputShapes to MeanLayer.
* Added InferOutputShapes to RankLayer.
* Added InferOutputShapes to ReduceLayer.
* Fixed typos in TfLiteParser.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I880c0716938ef278f5dbf01a8a73a5cc99ce5ded
|
|
* 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
|
|
* Build ExecNet lib dependencies as object libs except libarmnn
* Disable PIPE when building static ExecNet
* Remove multiple definition from AsyncExecutionCallback
* Disable DynamicBackend for ExecNet Static build
* Disable inference tests for TfLiteParser and ONNX during static ExecNet
* Remove Tensorflow Parser if condition
* Add Disable thread macro to InferenceModel
* Don't compile dynamic backend symbols in Runtime.cpp for Baremetal and
Exenet Static
Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: If41c063eab5f05b3df0a6e064924a36a177f116a
|
|
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: Ib148daf81700d9038d6e91a35c9c17e770c26e84
|
|
* Fixed bug when converting Constants with Per-Axis Quantization
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ifbea23e60483746ec987da491dae96e74cb33af4
|
|
android-nn-driver.
* Not a concern with the delegate/parser as tflite builtin operators have
little float16 support
* Will also fix float16 workloads running on the support_library.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Iec2033dbc8ece2140b188de1f193c344a68b9c36
|
|
IsLayerSupported()."
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I7fa4110a1b545c1fcd79e387d53ae7d6cd381f31
|
|
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: I54d4a017e5f2d0bbeb742b6a33121e9ca5327f47
|
|
* 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
|
|
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
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I01de14cd46fe614dfcb11b2b4f9323f32e01ee9d
|
|
* 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
|
|
* In TF what ArmNN calls quantized data types can be non-quantized as well.
* This patch creates 2 models:
* ArmNN: model where int8 and uint8 will always be quantized, but scale can be 1 and offset 0
* TFLite: model where int8 and uint8 can be quantized and non-quantized
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Id960f2f30988f2bbec88cb4e0c52c189ac957bae
|
|
* Bug fix where files were being overwritten at each debug layer
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I609fdc82afcee925824efb02183c7dbc942fced0
|
|
* Add functionality to print output tensors to file in tempdir
* UnitTests
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: Idfb4c186544187db1fecdfca11c662540f645439
|
|
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Change-Id: I3573078206272c3a72a2b3acf8781ab458ea6c90
|
|
* Some CL kernels are not run after the first inference and this breaks
the profiler which is expecting a measurement for every kernel each run
* Add a function HasKernelMeasurements() to ascertain if the Event is
returning kernel measurements and if so insert 0.0 values for any missing
kernel measurements.
* Fix ExecuteNetwork to only print a json object after all inferences
have completed
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I99f2bb0db847f5a52ab4c5705b072155c6b6f333
|
|
* Fix for Debug mode in ExNet does not work with ConstTensorsAsInputs
* Remove unnecessary assertion with ambiguous message in LoadedNetwork
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I9cd5d1f811dbbc89072d1190c510bf1b22e3069c
|
|
* This affects only to the layers (not workloads) Conv, DWConv and FC
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I66a91ed1a78bc0464e00423c7fc7c28c91d199ce
|
|
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
|
|
* Added armnnTfLiteParser for BatchMatMul
* Added unit testing for parser
* Updated CMakeLists
Signed-off-by: Samuel Yap <samuel.yap@arm.com>
Change-Id: If6842aaf7cf08f688093b714e2ecea6e8cd87161
|
|
* Added transpose parameters to pre-transpose each input tensor's slices
* Added adjoint parameters to pre-adjoint each input tensor's slices
* Small refactoring (BatchMatMulDescriptor static helpers and BatchMatMulImpl constructor)
* Updated input validation and output shape inference for parameters
* Additional layer unit tests for parameters added
* Versionings incremented
Signed-off-by: Samuel Yap <samuel.yap@arm.com>
Change-Id: Ibe5242a8a5bf604c13de0dc65844fd6c421cc667
|
|
* 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
|