Age | Commit message (Collapse) | Author |
|
This patch addes ReduceSum operation support for reference backend,
which computes the sum of elements across dimensions of a tensor.
Changelog v1:
- Fix file header descriptions.
Chagelog v2:
- Fix line limit issue.
- Fix type conversion issue.
Changelog v3:
- Remove tabs.
- Modify newly added file headers.
Changelog v4:
- Symbol on header isn't allowed so drop it from newly added file headers.
Changelog v5:
- Remove tabs, fix the use of brackets and align lines correctly.
Changelog v6:
- Add serializer and deserializer support.
Changelog v7:
- Fix build error add missed code.
Changelog v8:
- Rename ReduceSumDecriptor to ReduceDescriptor
- Update m_KeepDims field data type to bool on ReduceDescriptor
- Add ReduceOperation field to ReduceDescriptor
- Rename ReduceSumLayer to ReduceLayer
- Update ReduceLayer to use ReduceDescriptor
- Update ReduceLayer::ValidateTensorShapesFromInputs() function
- Rename RefReduceSumWokload to RefReduceWorkload
- Update workload to use ReduceDescriptor
- Update workload to use Decoders and Encoders
- Remove ReduceSum.hpp and ReduceSum.cpp
- Added Reduce.hpp and Reduce.cpp
- Move Mean.cpp (which is implementing REDUCE_MEAN) functionality to Reduce.cpp
- Update RefMeanWorkload to call Reduce function with ReduceOperation::Mean argument
- Remove Mean.hpp and Mean.cpp
- Update the Serializer/Deserializer ArmnnSchema.fbs for ReduceLayer, ReduceDescriptor, and ReduceOperation
- Update Serializer and Deserializer for serializing/parsing ReduceLayer
- Added TfLiter parser Sum test for REDUCE_SUM operator
- Make corresponding changes on front-end and Ref backend to support REDUCE_SUM operator
Changelog v9:
- Fixed build errors.
Change-Id: I8c8e034f3df73f9565b3c18eff51ecca6c542195
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
|
|
* 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
|
|
* Add frontend and reference implementation for logical
ops NOT, AND, OR.
* Unary NOT uses existing ElementwiseUnary layer and
ElementwiseUnary descriptor.
* Binary AND/OR uses new layer LogicalBinary and new
LogicalBinary descriptor.
* Add serialization/deserializion support and add missing
ElementwiseUnary deserializer code.
* Add additional Boolean decoder in BaseIterator.hpp.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Id343b01174053a166de1b98b6175e04a5065f720
|
|
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Id0625c58dbeea79874bf986b70d136ed9390bf83
|
|
* FuseBatchNorm class has been added to facilitate testing
* Only Convolution2D FP32 being fused
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I049c4770946ddca21b08516d4c9f4d0d22bf9b45
|
|
* Replaced with fmt::format in Descriptors.cpp.
* Removed remaining boost/format headers in ArmNN codebase.
* Removed additional boost header in Network.cpp
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ib98b83bf4ec99ef98ce7a3635ec0dd478c3e43e1
|
|
* INetwork::Optimize(...) states that the function should throw an exception
if it fails but the implementation in Network.cpp returned null in some
scenarios instead. This has led to some confusion amongst users.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I358d1293232c9464772aa0e39ab3355e3570c823
|
|
* Replaced with armnn/utility/NumericCast.hpp
* Exclusions in TypeUtils.cpp and QuantizerVisitor.cpp
* Excluded as requires float implementation in NumericCast.hpp
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I5c4c60e7028e1a51bf9379457278d253fd37bc70
|
|
* 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
|
|
* Introduced ModelOptions to IBackendInternal
* Introduced ModelOptions to Network
* Added FastMathEnabled parameter to Conv2d Validate function in CL and NEON
* Added Optimizer tests
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: Ib54c1e82cb3d89a52756ed499cf91b6a7fdb2063
|
|
* Infer tensor shapes at the beginning of Optimize function
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I511f1228a12ebcad570e42a0c46d461ab9ccdc2c
|
|
* Default importEnabled to false
* Improve error messages
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I17f78986aa1d23e48b0844297a52029b1a9bbe3e
|
|
* Allow memory import if padding is not required in Neon
* AddMockImportBackend for fallback tests
* Refactor GraphUtils
* Memory import unit tests
* Fallback unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ic2e141e12774bf6d915e77745b6f6d2d83d9b82d
|
|
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I0a2babe5b5b09eb81c9900dc3a05071034a0440b
|
|
* Add Rank front end
* Add Rank reference implementation
* Add Rank serialization support
* Add Scalar serialization support
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I06e4a468c2a84e79bae2e6c5348596bbbf853b4b
|
|
!android-nn-driver:3302
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ifbc49acb5272f8a36719bb68676e44817190537d
|
|
* Added new fill layer
* Added visitor tests
Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com>
Change-Id: Iea677014866b4f2d514004623f59ee83f3c0eef8
Signed-off-by: Keith Davis <keith.davis@arm.com>
|
|
Change-Id: Ia4b4bb3be0ed6e933c77d58f8e9879b1370e9537
Signed-off-by: Laurent Carlier <laurent.carlier@arm.com>
|
|
* Added AlignCorners and HalfPixelCenters to Resize and ResizeBilinear
* Updated Serializer and Serializer tests
!android-nn-driver:3280
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: Ice3bb448c239b04323854641525bfe0808c03b2e
|
|
* Adds missing nullptr checks for peephole bias for
QLstm.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ib04c8352141977cc7ea11a4859f1b11d46472722
|
|
* exchange boost::polymorphic_downcast with armnn::PolymorphicDowncast
* remove unnecessary includes of boost::polymorphic_downcast
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ie603fb82860fe05fee547dc78073230cc62b2e1f
|
|
* Change boost assert to armnn assert
* Change include file to armnn assert
* Fix ARMNN_ASSERT_MSG issue with multiple conditions
* Change BOOST_ASSERT to BOOST_TEST where appropriate
* Remove unused include statements
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I5d0fa3a37b7c1c921216de68f0073aa34702c9ff
|
|
* Add NeonConvertBf16ToFp32Workload
* Add NeonConvertFp32ToBf16Workload
* Add BFloat16 type support to NeonConstantWorkload and NeonTensorHandle
* Add ConvertBf16ToFp32Weight when ConvertBf16ToFp32Layer is added
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Id5b44a203add5e0c98c1ca4e2162115741b56644
|
|
* CellToInputWeights were not handeled correctly
* Changed CellToInputWeights from Cifg to peephole parameter
* Modified exiting unit tests
* Added unit test to cover new configuration
* Added more descriptive error messages
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ied5dc1253d3df1fd1a79b887a58603d0a9c8f396
|
|
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
|
|
* Added new layer QLstm (Android R HAL 1.3)
* Made necessary updates to APIs
* Added unit tests
* This layer is functionally equivalent to the
original unquantized LSTM layer with some
additonal quantization features added. Due
to this, original LstmParams are used for
this layer.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I5b7f2d2fb6e17e81573b41a31bc55f49ae79608f
|
|
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I345c39a10a4693a500aa1687d9a5cee76da791c3
|
|
!referencetests:229377
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
|
|
* 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
|
|
Change-Id: I6ddcffe792e39b17fcdb8af7f13f4a689ef8019d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* Added TransposeLayer
* Added CL, Neon and Ref Workloads
* Added Transpose utilities
* Added Serializer and Deserializer support
* Added Quantizer support
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I04c755ba7cb5b1edf72b3c9f3c0314878032e3c7
|
|
* Added new layer named ElementwiseUnary
* Deprecated existing Abs/Rsqrt layer functions
* Updated existing Abs/Rsqrt test infrastructure to use new layer
* Added boilerplate for new Exp,Neg,Sqrt elemwise op layers
* AbsQuantize test removed pending future commit
* Serialization support added
!android-nn-driver:2550
Change-Id: Ic595c645925e17b45db568187fd05646daf2e87f
Signed-off-by: josh minor <josh.minor@arm.com>
|
|
Logging.hpp is mainly useful for raising Arm NN log messages. There's
very little point in automatically including it for users of the library
via the ArmNN.hpp convenience header.
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I71fb3188dc0b30c1bbc86a31996470c707d38c19
|
|
!android-nn-driver:2572
Change-Id: I8fe52ceb09987b3d05c539409510f535165455cc
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Change-Id: I649cd2304fb0040164763d31a12fc77c6c3bed87
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* Create a public API for the common backend files
* Move OutputHandler to armnn internal
* Remove unused headers
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I3e86d908b021e3561befa9d45158d87d2cbb18c0
|
|
!referencetests:214319
* Reduces arm nn binary size ~15%
* Also fixed test logging black hole issues
Change-Id: Iba27db304d9a8088fa46aeb0b52225d93bb56bc8
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
Change-Id: Ideeec890a91379bfd52774633b1b35fa1b14f434
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* Removes workaround which handled null dstFactory
when NEON import was disabled, and now handles
this in the correct way.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ief42b3c52d018f0fa71be4d4d37516f2caad1e0d
|
|
Dequantize
* Check for output data type as well as input data type when determining
whether we should attempt to fall back to FP32 if FP16 is not supported
* Override output type for Dequantize in IsLayerSupported() instead of
input type
* Updated original input type from FP16 to FP32 in InsertConvertFp32ToFp16LayersAfter()
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic6477fd17cea5a91bd8bf9ae0cf836520897d5b7
|
|
Added ProfilingGuid to
* INetwork,
* Network,
* IOptimizedNetwork and
* OptimizedNetwork
!android-nn-driver:2234
!armnn:2250
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I235116992cc47b4f385b7eb9da514c6350ca00f4
|
|
* Temporarily handles cases in CalculateEdgeStrategy
where dstFactory pointer is null when import is
disabled.
* This patch is required for ensuring debug layer
works correctly when executing a model on Neon.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I7304723246d362d6d9073c3d0b1224e194a8532c
|
|
This parameter can contain both errors and warnings, so calling it errMessages is confusing as the user only expects to see errors here.
Ideally this rename should be propagated to the lower layers of the implementation,
but the public header change is the most useful part.
Change-Id: I062564cf38d36f950adfa7c37c090b189e068134
|
|
* Moved to BackendRegistry.hpp include/armnn
* Updated makefiles and sources accordingly
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I4d83abb581d523218a880c879fcf30c9611f7fd7
|
|
Change-Id: I058c57b554769799c6775813215070ef47790e3d
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
|
|
* Added frontend for ComparisonLayer
* Added RefComparisonWorkload
* Deprecated and removed Equal and Greater layers and workloads
* Updated tests to ensure backward compatibility
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id50c880be1b567c531efff919c0c366d0a71cbe9
|
|
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic6acc7176deea3753b32ce6340f642d19dce0e9f
|
|
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Ib152148ccd8d2733c617d0cf9402661fc6b71316
|
|
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>
|