Age | Commit message (Collapse) | Author |
|
Move the following header files from backendsCommon to armnn/backends.
* MemCopyWorkload.hpp
* TensorHandle.hpp
* Workload.hpp
* WorkloadData.hpp
* WorkloadFactory.hpp
Replace them with forwarding headers and a pragma deprecation message.
Resolve the deprecation messages in Arm NN code.
Signed-off-by: Colm Donelan <colm.donelan@arm.com>
Change-Id: I47f116b30f86e478c9057795bc518c391a8ae514
|
|
* 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
|
|
!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
|
|
* 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
|
|
Refactor code around conditionally-compiled tests to avoid declaring
empty test suites, as this can cause unused function warnings to be
issued under certain combinations of compiler, warning level, and
doctest version.
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: Ib501aef80475538a725b857d9c31d1d2f96b124d
|
|
* Optimization that searches for layers with ConstantLayers as inputs.
* The layer member variables are then redirected to these ConstantLayers.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I24a2bf0e8575b808343e0bbe3897b344e94796ad
|
|
* 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
|
|
*All fold pad test are now in a separate file
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ic0b0436f6b0194404f9a3f1553e2f69524b63580
|
|
* Added backend specific optimization to chain new reduces layers
for each axis to simulate behaviour of a layer with multiple axes.
* Added function to calculate reduced output shape.
* Added unit tests.
* Includes rework to fix IVGCVSW-5987.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I154b3698b5e6756b05b2a0b5a3f0896184efce72
|
|
This reverts commit d905decd256558bbee165e636ce4242ac3b9c917.
Reason for revert: LargeGraph_TENSOR_FLOAT32/FLOAT16 CTS tests failures
Change-Id: Ie69826549e73775825f45134375b5b2c41aebd01
|
|
* Added backend specific optimization to chain new reduces layers
for each axis to simulate behaviour of a layer with multiple axes.
* Added function to calculate reduced output shape.
* Added unit tests.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I180b0b111b7bcf3d0c283f1db0b82d5f17757682
|
|
* Generalises ConstCpuTensorHandle and inherited
classes by removing 'Cpu' from aliases.
* New renamed classes: ConstTensorHandle, TensorHandle,
ScopedTensorHandle, PassthroughTensorHandle,
ConstPassthroughTensorHandle.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I1824e0e134202735fb77051f20a7252f161dfe16
|
|
* 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
|
|
* 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
|
|
Optimisation when the input is a const tensor
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I8b1357bdefc45880d064d7e448af364ac8644c0d
|
|
* 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
|
|
!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>
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I6a00045967fa48ec0913c8708ffc146a72ed2b87
|
|
* QASymmS8 and BoundedReLU
* Float16 and ReLU in GpuAcc
* Remove layerName, not needed as 1 test per combination
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I930c7a04d8d904f370f1b40c62cf9311c172bbdf
|
|
Sigmoid Activation"
* This reverts commit be25d94aefe53f221304b1f5f344913b708f808b.
* Add Unit Test: any receiver layer + any activation layer in float and QAsymmU8
* Tidy up fuse activation tests
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ie059d03b85cd17eaaafe5188bb173672a1fb9ae0
|
|
* Added Fused Activation Optimization to both CL and Neon backends.
* Added Fused Activation support to all the CL and Neon workloads
that support it.
* Changed ProfilingTest network to be a Convolution layer
followed by an Abs layer rather than an Activation layer.
* Added IBackendInternal::OptimizeSubgraphView function that can accept a
ModelOptions.
* Network will now call OptimizeSubgraphView passing in the ModelOptions.
Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ib536ac3cbafc7d9b35c139ad9a65b7735262cd9d
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Id0625c58dbeea79874bf986b70d136ed9390bf83
|
|
* failing with no backends provided
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I55ebfc52268ad667e495831c64977338d003db99
|
|
* Remove AddBroadcastReshapeLayer from TfLiteParser
* Add AddBroadcastReshapeLayer as optimizer
* AddBroadcastReshapeLayer optimizer unit tests
* Load-scope dynamic tensor broadcasting unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I3549e85b71b41cbd4d96c0f1ece7887acbca76d1
|
|
Change-Id: Ia4b4bb3be0ed6e933c77d58f8e9879b1370e9537
Signed-off-by: Laurent Carlier <laurent.carlier@arm.com>
|
|
Convolution2d and FullyConnected layers
* Add InsertConvertFp32ToBf16LayersBefore
* Add ConvertWeight to ConvertFp32NetworkToBf16Impl for Conv2d and FullyConnected
* Allow different input and output when input is BF16 and output is FP32
Conv2d and FullyConnected layers
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ic8f92ff28edcae08a72a3114a28f50c4619f919b
|
|
* Add ReduceFp32ToBf16 to OptimizerOptions
* Add ConvertFp32NetworkToBf16
* Add utility functions to insert conversion layers
* Add constant conversion BF16 <-> FP32
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Iaff77e20c721400b052cb37eb9ef6fe16d7abaff
|
|
* Changed some existing Permutation specific optimizations to also support Transpose
* Added MoveTransposeUp optimization
* Added TransposeAsReshape optimization
* Added tests for Transpose optimizations
* Added missing layer tests for Transpose
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I20d099b284861402ae94aaa5dbf34907327a485f
|
|
* Only run breaking test if Ref backend is available
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: I64850c902f7b900fe9f50d357c283c9a2bf73c19
|
|
into DepthToSpace
This is only possible in some limited cases, but removes an extra
layer from the graph and so should improve performance in all cases.
Change-Id: I7b3e6ba5dacb4fdb816ad270edaecda1436ab4cf
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
|
|
This splits up the >1000 line OptimizerTests.cpp file.
Each Optimization class now has its own test file, all of which are in a
subfolder of tests called "optimizations".
The original OptimizerTests.cpp now contains mostly (completely?) tests
for validating output shapes, which perhaps should be moved to
test files specific to the layer types they are testing.
Change-Id: Icd1196cad8b720abcb156921aab1adbd4026756b
Signed-off-by: Rob Hughes <robert.hughes@arm.com>
|