Age | Commit message (Collapse) | Author |
|
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
|
|
* Support for ReverseV2 for the serializer and deserializer added
* Tests added
* CMake files updated for the build
* Fixed an issue with the operator_list documentation for Resize and ReverseV2
Signed-off-by: Tracy Narine <tracy.narine@arm.com>
Change-Id: If396f55ecdd763d6f91c51707809f4bd58715cec
|
|
* 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
|
|
* 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
|
|
* 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
|
|
!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
|
|
* 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
|
|
* Modify get_tensorflow.sh to point to the 2.10 Tensorflow tag.
* Modify FindTfLite.cmake to handle the break up of libruy.a
* Modify armnn_delegate.cpp to add registration_external field.
* Prevent the serializer/deserializer from using a system installed
version of flatc.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I688f33f387924ba29bf400f60e56f73b2329fdc1
|
|
* Updated FlatBuffers schema for BatchMatMul layer type
* Added Serializer and Deserializer implementations for BatchMatMul
* Added unit tests for BatchMatMul serialization and deserialization
* Updated CMakeLists and docs
Signed-off-by: Samuel Yap <samuel.yap@arm.com>
Change-Id: Iad63afbd036a3eb648683eb7416a475561aa20cb
|
|
* Fixed caching issue.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ic7b3e0bd4438b2fd1b3dbfa86b6c89d625bbf9dd
|
|
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Change-Id: I97dee6982e0a7be01c13e9e803c0997547a39ff1
|
|
* Removed the pre-generated ArmnnSchema_generated.h
* This version was generated using flatbuffers v1.12.0 and it contains
code that's incompatible with newer versions
* Android.mk will look for ArmnnSchema_generated.h in the armnnGenerated
directory in the armnn directory.
* The Serializer and Deserializer will look for ArmnnSchema_generated.h
in the armnnGenerated directory.
!android-nn-driver:7626
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I13ff6b6c78740cf1f82750f56caab83200e6a3e5
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
|
|
* Deserializer.cpp
* Length() has been deprecated in flatbuffers v.1.12.0 or earlier.
* SerializerTests.cpp
* armnn::BaseDescriptor& descriptor is unused.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Icf0f09863f13dfd86c2c209c36c7f74f194c707b
|
|
* 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
|
|
!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
|
|
* Corrected TensorInfo order for IsUnidirectionalSequenceLstmSupported
* outputStateOut TensorInfo is not optional.
* cellStateOut TensorInfo is not optional.
* TensorInfo Order matches other QLSTM/LSTM layers.
* Added missing parameters to UnidirectionalSequenceLstmOperator for
delegate.
* Added quantized UnidirectionalSequenceLstm support to Neon
!android-nn-driver:7457
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I26dde1bb96793dd25eb9081ca5ae5f63752288c4
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ibab3525d53edbdf6a48e43b2bf668fcd2efaba58
|
|
* Use read() to load model from disk
Signed-off-by: Simon Obute <simon.obute@arm.com>
Change-Id: I0321fa7716e1887b59063429da7e5a2e66aebe83
|
|
* Move MemCopyTestImpl.hpp from src/backends/aclCommon/test/ to
include/armnnTestutils.
* Refactor MemCopyTests in aclCommon, cl and Neon.
* Introduce RefMemCopyTests to exercise this utility in x86 builds.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I8824f013d3656658ed0a2904bb79384e3af68641
|
|
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I45fb3f06533b031dd4e65b91561b699555e072b4
|
|
* Created include/armnnTestUtils directory
* Moved Arm NN test utils files into armnnTestUtils directory
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I03ac54c645c41c52650c4c03b6a58fb1481fef5d
|
|
Subtask of story: IVGCVSW-6164 Add a Pooling3d FrontEnd and Ref Implementation
* Add serialization support
* Add deserialization support
* Add corresponding unit tests
Change-Id: I7cce5421f0a9b7c47a03524e733f3315131ba125
Signed-off-by: Tamas Nyiri <tamas.nyiri@arm.com>
|
|
* Serialize/Deserialize axis parameter on Softmax Descriptor.
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I1bba0dd7d78f9f211f77115dcefccf24a4a61b39
|
|
!android-nn-driver:6532
!armnn-internal-tests:372451
* Made fix to 2 out of 3 ConstTensor() constructors in Tensor.hpp to
throw InvalidArgumentException when TensorInfo isConstant parameter
is false.
* Added new ConstTensor() constructor in Tensor.cpp to accept vector<>.data()
using template<typename MemoryType>.
* Fixed runtime->GetOutputTensorInfo()/GetInputTensorInfo() methods and
called submethods to return TensorInfo& rather than TensorInfo.
* Fixed all failing unit tests for CpuRef/CpuAcc/GpuAcc to ensure any
ConstTensor created has it's TensorInfo isConstant set to true.
* Added unit tests in TensorTest.cpp to ensure ConstTensor constructors
throw InvalidArgumentException when TensorInfo isConstat parameter is
false.
* Added unit test to ensure an empty ConstTensor constructor will set
TensorInfo isConatant to true.
* Indentation fixes.
* Fix to arm_tensor.i to add isConstant parameter to TensorInfo
constructor. Added methods IsConstant() and SetConstant().
* Fix to const_tensor.py to throw ValueError when TensorInfo
isConstant is set to false when constructing a ConstTensor.
* Fixed PyArmnn unit tests to set TensorInfo isConstant to
True when ConstTensor is used.
* Added unit tests in test_const_tensor.py to ensure ConstTensor
constructors throw ValueError when TensorInfo isConstat parameter
is false.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I44e440dd0422c366d31bbdbc77ad2b4db0bde148
|
|
* Added PaddingMode enum to PaddingDescriptor to enable Symmetric and
Reflect padding.
* Added Symmetric and Reflect Ref implementation.
* Added Serializer & Deserializer support.
* Added unit tests.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I4bed907b31742b32ccefe5e8ca39a6f1e5bd9dee
|
|
* Constant weights and biases are now stored as Constant layers.
* Updated Serializer, Deserializer and unit tests to reflect this.
* Updated TfLiteParser.
* Updated Ref backend to handle constant weights and
bias as inputs rather than reading from member variables.
* Added Conv3d EndToEnd test.
* Added NCDHW DataLayout and unit tests.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I10cdd354ca5f1c748730f92ffdb36bf810f83c8e
|
|
* Removes deprecated AddLayer, IsLayerSupported functions
* Marks the whole LayerVisitor class as deprecated not just the
constructor. This required to wrap all Accept functions in a
no deprecate macro because the LayerVisitor is used as a parameter in
there
* Removes usage of deprecated LayerVisitor and replaces it
with ExecuteStrategy. This required a few structural changes
in the unit tests
* Adds a default implementation for IStrategy called StrategyBase
* Changes pyarmnn to use non deprecated constructor for
INetworkProperties and adds related unit test
* Marks usage of deprecated code in pyarmnn as deprecated. This
required to extend INetworkProperties to allow backwards compatibility
* Removes deprecated functions from CpuAcc, GpuAcc and Ref backends
Note: This patch breaks compatibility with backends that are not
updated in this patch
!android-nn-driver:6325
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Id13b6f37a74d26eadeda2da1dc92915e725ed5a5
|
|
* Added front-end
* Added Reference workload
* Added Serializer & Deserializer support
* Added unit tests
* Added NDHWC DataLayout
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Iec4d39e7433b5334d52fa44cf8efc6bcd39319d8
|
|
* Add front end
* Add reference workload
* Add unit tests
* Add Serializer and Deserializer
* Update ArmNN Versioning
Signed-off-by: Simon Obute <simon.obute@arm.com>
Change-Id: I9ac1f953af3974382eac8e8d62d794d2344e8f47
|
|
* Tflite parser
* Tflite delegate
* Serializer
* Deserializer
* Ref, CpuAcc and GpuAcc workloads
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I601a9ee1680b372c7955d9a628857d08c3cfd377
|
|
* Constant weights and biases are now stored as Constant layers.
* Updated Serializer, Deserializer and unit tests to reflect this.
* Updated TfLiteDelegate, TfLiteParser and OnnxParser.
* Updated Schema with IsConstant and ConstantTensorsAsInputs.
* Updated Ref backend to handle constant weights and
bias as inputs rather than reading from member variables.
* Added dynamic or constant input EndToEnd tests.
!android-nn-driver:5959
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ibf3cf437df1100e4b322b0d303c575c6339f9696
|
|
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ic1c56a57941ebede19ab8b9032e7f9df1221be7a
|
|
* Updated unit tests to use doctest.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I5231225cd0830f16cc0ef20e9ef27e7b92feab19
|
|
* Add front end
* Add reference workload
* Serialization/Deserialization
* Add unit tests
* Update ArmNN Versioning
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I6fcb1fa341d6f08dea4003b13544e6e9f53fefd3
|
|
* Ref workload
* Cl workload
* Neon workload
* Serializer
* Deserializer
* Remove boost include from TensorTest.cpp
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I498548169cc77609c55cf3105f1de5a7429772cf
|
|
* This change is necessary because tflite uses a [1,H,W,I*M] format
and uses the I*M dimension for per axis quantization. Our previous
layout [M,I,H,W] can't handle the correlating quantization scales.
* Updates Onnx-, TfLiteParser and TfliteDelegate
* Updates the CpuRef, CpuAcc and GpuAcc backends
* Adjusts unit tests
* Adds test to ensure models with old layout can still be read and
executed
* Adds conversion function to previous layout [1,H,W,I*M] --> [M,I,H,W]
which can be used by backend developers
!android-nn-driver:5553
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ifef23368b8c3702cf315a5838d214f7dc13c0152
|
|
* Used doctest in ArmNN unit tests
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ia9cf5fc72775878885c5f864abf2c56b3a935f1a
|
|
* Replaced all instances of boost::multi_array with flat vectors.
* Updated LayerTestResult struct with new member variables.
* Updated CompareTensor function to compare flat vectors and the shape.
* Removed MakeTensor function from TensorHelpers.hpp.
* Removed GetTensorShapeAsArray function from LayerTestResult.hpp.
* Removed boost::array usage.
* Removed boost::extents usages.
* Removed boost::random usages.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Iccde9d6640b534940292ff048fb80c00b38c4743
|
|
* Adding a basic PredicateResult class to replace
boost::test_tools::predicate_result
* Replacing all uses of boost::test_tools::predicate_result with
the new armnn::PredicateResult class
* Replacing use of boost::test_tools::output_test_stream output
with std::ostringstream in ProfilerTests.cpp
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I75cdbbff98d984e26e4a50c125386b2988516fad
|
|
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
|
|
* 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
|
|
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
|
|
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 4c10dfc213a59ec7bbf56b645e313083638b81a4.
Fix for IVGCVSW-5768
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I7197067a7bb407ff9d35059289a31912592d3af4
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I59bf2eade949043d1f498772fad66eda7d64a87f
|
|
* excluding our top level readme
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I45b156c248178a141b8497dcc4d09148b67bf406
|
|
The field m_DimensionsSpecificity in TensorShape was not being serialized
and deserialized following implementation of type 1 dynamic tensors.
* Update schema.
* Add to Serializer and Deserializer.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I7ddbdaf54c8f4b988c6cb300f90ba848a94bdad0
|
|
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: Id7bc8255a8e3f9e5aac65d510bec8a559bf37246
|