aboutsummaryrefslogtreecommitdiff
path: root/src/armnnSerializer/Serializer.cpp
AgeCommit message (Collapse)Author
2021-02-12IVGCVSW-4893 Refactor ILayerVisitor using unified interface strategy.Finn Williams
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
2021-02-11MLCE-360 'ReduceLayer InferOutputShape Issue'Sadik Armagan
* Updated ParseReduce() function in TfLiteParser to read correct axis data * Remove unused m_TargetWidth and m_TargetHight from ReduceDescriptor * Updated the ArmNN Serializer Schema Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I98b6e00ccba1d8ea8c845cb1ae28840e42339629
2021-02-03backends/reference: Add ReduceSum operation supportSadik Armagan
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>
2021-02-01IVGCVSW-5593 Implement Pimpl Idiom for serialization classesFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I01c7bd314219e58f71505dcb787d606dbded914a
2020-11-09IVGCVSW-5091 Add Logical ops frontend and ref implJames Conroy
* 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
2020-09-17IVGCVSW-5303 Remove some boost::numeric_cast from rest of ArmNNMatthew Sloyan
* 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
2020-07-06IVGCVSW-4624 Add a RANK Reference ImplementationFinn Williams
* 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
2020-07-01IVGCVSW-4903 Connect axis parameter in Gather from android to ACL.Teresa Charlin
!android-nn-driver:3302 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ifbc49acb5272f8a36719bb68676e44817190537d
2020-06-17IVGCVSW-4908 Add Serializer/Deserializer Support for FILL operatorKeith Davis
Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Icae26505d0e378ee5ffb3e92b35d78d48b369d2e
2020-06-11IVGCVSW-4906 Add front-end support for FILL operatorRyan OShea
* 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>
2020-05-30IVGCVSW-4888 Update Resize Front end for new parametersDavid Monahan
* 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
2020-05-13IVGCVSW-4777 Add QLstm serialization supportJames Conroy
* Adds serialization/deserilization for QLstm. * 3 unit tests: basic, layer norm and advanced. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I97d825e06b0d4a1257713cdd71ff06afa10d4380
2020-04-24Added new DataTypes to SerializerMike Kelly
* Added support for BFloat16 and QAsymmS8 to Serializr. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I481af26d5758190ec2e5cd9f9d232d72bcb7acbd
2020-03-27IVGCVSW-4555 ArmnnConverter (Serializer) does not support per-axis ↵Sadik Armagan
quantization params * TensorInfo can have multiple scales and quantization dimension. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I0ff02e3766996b6a9da6dc4e92d366bc9505c77d
2020-03-20IVGCVSW-4549 Add front end for new QLSTM layerJames Conroy
* 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
2020-03-10IVGCVSW-4482 Remove boost::ignore_unusedJan Eilers
!referencetests:229377 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ia9b360b4a057fe7bbce5b268092627c09a0dba82
2020-03-02IVGCVSW-4440 : Add HARD_SWISH Support to Activation in CpuRefColm Donelan
* Add a new Activiation type of HardSwish. * Add CpuRef support and tests. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I68c3840aa45b7a27d5e416a5d50fe8f99f003ce8
2020-03-02IVGCVSW-4375 Add support for TransposeMike Kelly
* 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
2020-02-28IVGCVSW-4439: Adding Elu support to ActivationDavid Monahan
* Added CpuRef implementation * Added Unit Tests * Added Quantizer Test * Enabled Tests for Neon and CL backends on fp32 only * Added to Serializer Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ic23e1797dbc9352b40678c389d7fe2b836b582ea
2020-02-04Build graph->inputIds/outputIds with layerBindingId instead of layerIndexexperimental/QuantizerStuffTee Jung
Signed-off-by: Jung Tae-young tee.ty.jung@openedges.com Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I25ceeca70e72fad88ab039aed5a5ab6a7cc08c6c Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2020-01-23IVGCVSW-4259 Add frontend and reference workload for UnaryOperationLayerjosh minor
* 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>
2020-01-20Remove use of ArmNN.hpp from other public headersMatthew Bentham
Also remove it from armnnSerializer and armnnUtils. In general code within Arm NN should only include exactly what it needs. This will help keep compile times down, and reduces the need for a complete rebuild when anything in the public headers changes. ArmNN.hpp should only be provided as a convenience for user code where the user doesn't know enough of the API to decide which specific headers they need. Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com> Change-Id: I4ffcaa7662af4f88a1babf2bf17d03da6f77d665
2020-01-13Rename quantized data types to remove ambiguity for signed/unsigned payloadsDerek Lamberti
!android-nn-driver:2572 Change-Id: I8fe52ceb09987b3d05c539409510f535165455cc Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-12-31IVGCVSW-4246 Clean build of Visitors with -WextraDerek Lamberti
Change-Id: Icb1b35ff55fa22103777853e6f49fc282d61750d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-11-08IVGCVSW-4067 Change LayerGuid to use ProfilingGuidjaneil01
* Refactoring to enable ProfilingGuid * Add profiling includes to Android.mk Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ieb25e15e3dc302eb42817d824ad8411ac76dcfe8
2019-10-23IVGCVSW-4010 Add serialization support for StandInLayerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I2017c15b485b82437c6ffdac4d3112bcc2cbe9e9
2019-10-21IVGCVSW-4009 StandInLayer frontend APIDerek Lamberti
Change-Id: I058c57b554769799c6775813215070ef47790e3d Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
2019-10-21IVGCVSW-3992 Add serialization support for ComparisonLayerAron Virginas-Tar
* Added serialization support and serialization-deserialization test for Comparison * Added backward compatibility tests for Equal and Greater, to make sure they are serialized and deserialized as Comparison * Refactored serialization tests and reduced code duplication by taking advantage of operator==() recently added for Descriptors Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id0fd94ef4b17e4e51c8005e585ea3c47f9c1bd8d
2019-10-21IVGCVSW-3993 Add frontend and reference workload for ComparisonLayerAron Virginas-Tar
* 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
2019-10-14IVGCVSW-3974 Add serialization support for LOG_SOFTMAXSadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I0777abc672dd7d5c9fadaed27b0e776ac591d2c7
2019-10-11IVGCVSW-3973 Add frontend for LOG_SOFTMAXAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ic6acc7176deea3753b32ce6340f642d19dce0e9f
2019-10-03IVGCVSW-3934 Add serialization support for INSTANCE_NORMALIZATIONAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: If9b4d30cbd625206ec1c7d37dd8b449983442147
2019-10-03IVGCVSW-3932 Add frontend for INSTANCE_NORMALIZATIONKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ib152148ccd8d2733c617d0cf9402661fc6b71316
2019-09-20IVGCVSW-3886 Add serialization support for DepthToSpaceAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id80c1bcbf50715f07a92dad08d554518a283cc28
2019-09-20IVGCVSW-3883 Add frontend for DepthToSpace layerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I18d957af6e988ffb6b9ee46ac836d1f38600e10b
2019-09-19IVGCVSW-3880 Add serialization support for SLICEAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I5eaf61cfd2c875805d2f37cd967d75ad1d20ad6d
2019-09-17IVGCVSW-3875 Add frontend for SLICE layerAron Virginas-Tar
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Iebe675a0cee02db6f133d48ce58cbc1e233061db
2019-09-11IVGCVSW-3724 Adding serialization support for ArgMinMaxNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I21210c843c3b8800ccc68d4f3095259d0a233bd1
2019-09-10IVGCVSW-3739 Add serialization support for AbsFinnWilliamsArm
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com> Change-Id: I42c348515f3f93efc2e0570bbebdc77306f12468
2019-09-05IVGCVSW-3722 Add front end support for ArgMinMaxNikhil Raj
Change-Id: I31c5616bea3097f30cde68442d3222e0b0fe2235 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2019-09-05IVGCVSW-3739 Add Arm NN front end support for Abs LayerKevin May
* Add Abs Layer * Add no-op factory implementations for CpuRef, CpuAcc, GpuAcc * Add Queue Descriptor in WorkloadData * Add IsAbsLayerSupported to LayerSupport * Add LayerVisitor tests Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ib0992571d1c80de851cea466291be904e9bdb430
2019-08-16IVGCVSW-3639 Add 5d tensor supportMatthew Jackson
* Increased MaxNumOfTensorDimensions and fixed issues related to its use * Fixed issues caused by assuming 5d tensors are invalid * Updated ArmComputeTensorUtils for 5d tensors * Added 5d tensor unit tests for add, mul, stack and reshape (needed by IVGCVSW-3527) Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I5bcd64942d0d04efcc6c5acb240ad4b88e010743
2019-08-14IVGCVSW-3474 Refactor Lstm and QuantizedLstm Param GettersFrancis Murtagh
* Change Getter Signatures to follow coding guidelines Change-Id: Ic02621e834dbf79b9df63f8b4c6339f71651e944 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2019-07-29IVGCVSW-3471 Add Serialization support for Quantized_LSTMJan Eilers
* Adds serialization/deserialization support * Adds related Unit test Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Iaf271aa7d848bc3a69dbbf182389f2241c0ced5f
2019-07-24IVGCVSW-3469 Add front end for Quantized LSTM layerJames Conroy
* Added new layer QuantizedLstm (Android Q) * Made necessary changes to APIs * Added unit tests Change-Id: I3b9f16b0e7e49f51932cf204c87cb7118798123a Signed-off-by: James Conroy <james.conroy@arm.com>
2019-07-23IVGCVSW-3526 Add layer norm support for lstm serializationJan Eilers
* Adds layer norm support for serialization/deserialization * Adds related unit tests Change-Id: If80b668accc8b0754a93d18ab3a243284cb383d1 Signed-off-by: Jan Eilers <jan.eilers@arm.com>
2019-07-16IVGCVSW-3420 Add Serialization support for the new Stack layerMatthew Jackson
* Adds serialization/deserialization support * Adds related unit test Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I69deb5397b8a06c679715e24971e9bb1c282140d
2019-07-10IVGCVSW-3418 Add Arm NN front end support for the new Stack layerMatthew Jackson
* Added new StackLayer class * Made necessary changes to Descriptors, ILayerSupport, ILayerVisitor, etc. * Added unit tests Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: Ieb97a928a342ffe1901c6058eb895711c358fd3d
2019-07-05Fix member name in PadDescriptorAron Virginas-Tar
* Renamed m_padValue to m_PadValue to bring it in line with our naming conventions Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I071aa42c9be495462c64697e5a923a5ec55de146
2019-07-01IVGCVSW-3364 Add serialization support for Resize layerFinnWilliamsArm
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com> Change-Id: I3b1af816cefc1760f63324f365de93f899c9c9ee