aboutsummaryrefslogtreecommitdiff
path: root/src/armnnTfLiteParser
AgeCommit message (Collapse)Author
2021-05-05IVGCVSW-5826 Add per channel testsJan Eilers
* with Conv2D for tflite parser and delegate * with TransposeConv for tflite parser Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I8d1ed1f3388c6eace436d0e6fd5869451c6e7830
2021-05-04IVGCVSW-5882 Turn off Bias when data location equals -1mathad01
* Fix bug in stack layer which causes some models to seg fault. * Turn off bias input data if data location in TfLite file is set to -1. Signed-off-by: mathad01 <matthew.haddon@arm.com> Change-Id: I0db8cfe04874979382edcf2bed336339700e3538
2021-04-22IVGCVSW-5418 ExecuteNetwork test for MobileBERTmathad01
* Removed check in TfLiteParser and Delegate that requires both weights and biases to be constant or non-constant simultaneously * Updated TfLiteParser FullyConnected layer test to properly use non-constant weights * MobileBERT Float32 model now runs on TfLiteParser Signed-off-by: mathad01 <matthew.haddon@arm.com> Change-Id: I1d75eea466caa90cd695ad353160362df2f69483
2021-04-21IVGCVSW-5842 Remove cross-wiring in depthwiseJan Eilers
* Reading tensor infos won't allow a permutation vector anymore. The permutation only changed the quantization dimension not the shape and was therefore misleading * The permutation of the full tensor info is now performed in armnnUtils::Permuted * Changed TfLite Parser depthwise parsing function * Added unit tests to TfLite Parser with more random data * Changed TfLite Delegate depthwise parsing function * Added unit test to the delegate with per channel quantization !android-nn-driver:5412 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I1f985ee69547bcaf16a72201e00a6b6fe1ef9a97
2021-04-15IVGCVSW-5829 Segfault in tflite-parser, int8 modelsMatthew Sloyan
* Updated ParseSplit TfLiteParser function to read correct axis data. * Improved validation in ParseSplit and ParseSplitV function. * Added TensorFlow BOOL support to TfLiteParser. * Added supported ElementWiseUnary operators to TfLiteParser E.g. ABS, LOGICAL_NOT and RSQRT. * Removed ParseExp and ParseNeg function implementation in favour of reusable ParseElementWiseUnary function. * Removed Exp.cpp and Neg.cpp files and moved tests to ElementWiseUnary.cpp. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ibce36e3ce4d95755dda88abc2ddde1e07e62c5e2
2021-04-12IVGCVSW-5410 Add front-end support for CASTmathad01
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
2021-04-09IVGCVSW-5804 TfLiteParser fails to correctly parse ArgMinMaxMatthew Sloyan
* Fix for GitHub#523. * Updated ParseArgMinMax function to read correct axis data. * Improved validation in ParseArgMinMax function. * Added ARG_MIN support to TfLiteParser. * Added ArgMinMax unit tests for TfLiteParser. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ib4ce1a7c66e210c47859a130c4896aac958f2654
2021-04-09MLCE-328 Serializer/Deserializer does not support Signed64Mike Kelly
* 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
2021-04-07IVGCVSW-5422 Add per-channel quantization tests to depthwiseJan Eilers
Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ie51ce20540e5e7a704ce2b4be4e8cf64f91ea990
2021-03-25IVGCVSW-5741 Update FullyConnected in TfLiteParser to support NonConstWeightsFinn Williams
!armnn:5180 * Remove unnecessary memcopy for non permeuted const tensors Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: Idc3ce2ac001e7d6be61819279de486f093730383
2021-03-03Point readme files to latest doxygen documentationJan Eilers
* excluding our top level readme Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I45b156c248178a141b8497dcc4d09148b67bf406
2021-02-15IVGCVSW-4873 Implement Pimpl Idiom for INetwork and IOptimizedNetworkFrancis Murtagh
!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>
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-09MLCE-347 'REDUCE_MIN, REDUCE_MAX, REDUCE_SUM Support'Sadik Armagan
* Added TfLiteParser support for REDUCE_MIN and REDUCE_MAX operators * Added ACL workloads support for REDUCE_MIN, REDUCE_MAX, and REDUCE_SUM operators * Added TfLite Delegate support for REDUCE_MIN, REDUCE_MAX, and REDUCE_SUM operators Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I8085d59946bfd4ab78a59a61f899031ae53371a8
2021-02-08IVGCVSW-4901 Add semantic versioning to Parsers and TfLite DelegateMatthew Sloyan
* Added Version.hpp to all Parsers * Added Version.hpp to TfLite Delegate * Updated CMakeLists to use new versions * Added GetVersion method to parsers and TfLite Delegate Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: If29e1e6d9e615f9095ec1c01ad47acfff40b1dd5
2021-02-08IVGCVSW-5605 Doxygen: Update parser sectionJan Eilers
* Removes support.md files from all parsers. Lists of supported operators are now kept in doxygen only Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I137e03fdd9f41751624bdd0dd25e2db5ef4ef94f
2021-02-04IVGCVSW-5592 Implement Pimpl Idiom for Tf and TfLite ParsersKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I4a82aca4a2c47b3c598b91bc0075c09397be728a
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-01-22MLCE-335 'DEPTH_TO_SPACE and GATHER operator support in TfLiteParser'Sadik Armagan
* Added GATHER operator support to TfLiteParser * Added DEPTH_TO_SPACE operator support to TfLiteParser Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Id5d3b54e2d850eb9f19417029efbeb73a3029e69
2021-01-20MLCE-336 'TfLite parser and ExecuteNetwork issues'Sadik Armagan
* Report the error thrown Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: If5e5160f43c11a284b919d76b04d9c4d53e9c56c
2021-01-15IVGCVSW-5424 TFLite parser not parsing new TransposeConvDavid Monahan
* Added support for bias vector in TransposeConv to TfLite parser * Added UnitTest Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I6483986a9da9216084b4b885b7fd980fc3580fa9
2020-12-17IVGCVSW-5614 Enable Hard Swish and Elu activationsMatthew Sloyan
* Enabled Hard Swish and Elu in TfLiteDelegate * Added support for Elu in TfLiteParser Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: If09321b58568a98e14cabce610a1586556da041e
2020-12-16IVGCVSW-5595 Fix incorrect padding value for asymmetric quantized typeNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I85f0c30757043f8c27c78d607f0f9dbbdd35b9fb
2020-11-24IVGCVSW-5347 Update Readme for 20.11Teresa Charlin
* Adding delegate readme.md and TensorFlowLiteDelegateSupport.md Change-Id: I1b8012440cf4cd6120902ad69c5b3a2a5e410d71 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
2020-10-29IVGCVSW-5265 Remove boost from core ArmNN CMakeColm Donelan
* Remove all but Boost_UNIT_TEST_FRAMEWORK_LIBRARY from ArmNN Cmake files. * Remove references to boost::fpc from old test applications. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: Ibb1261dee4b971d1788d2805528aa800a8b883ce
2020-10-02IVGCVSW-5296 Remove boost::format armnn parsersJames Ward
* replaced with fmt::format * one case required std::stringstream instead Signed-off-by: James Ward <james.ward@arm.com> Change-Id: Ica9a7eb4e7bed04aa03172058dd9e3d10efc8548
2020-09-24Add int32 and int64 ArgMax op supportInki Dae
This patch adds int32 and int64 ArgMax op support. Current ARMNN already has ArgMax op but not used, and it doesn't support int64 output type. So this patch adds a new type, Signed64, and also adds ArgMinMax computation function for int64 type support. In default, output tensor type of ArgMax op is int64 in case of tensorflow lite model so this patch makes a proper function - ArgMax op for int64 or int32 - to be called according to parsed output_type value. With this patch, ARMNN supports both types - int64 and int32 - for ArgMinMax op. Changelog v1: - Check if output data type of ArgMinMax op is valid or not. - Use template function to support int32 and int64 types of ArgMinMax function. - Keep using Signed32 as default data type of m_Output_Type. Change-Id: I7a8e7e38dd9e5acc81464571d8b4d51378fc7f14 Signed-off-by: Inki Dae <inki.dae@samsung.com>
2020-09-15IVGCVSW-5305 AddBroadcastReshapeLayer as optimizerNarumol Prangnawarat
* 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
2020-09-14IVGCVSW-5302 Remove some boost::numeric_cast from parsersMatthew Sloyan
* Replaced with armnn/utility/NumericCast.hpp * Exclusions in armnnCaffeParser * Three excluded as requires float implementation in NumericCast.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ib468b606238694334a8319d0ed5db381ce37a915
2020-09-08IVGCVSW-5244 Load-scope dynamic tensor TfLite testsNarumol Prangnawarat
* Infer tensor shapes at the beginning of Optimize function * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I511f1228a12ebcad570e42a0c46d461ab9ccdc2c
2020-07-28IVGCVSW-4932 Introduce ShapeInferenceMethod to TfLite ParserSadik Armagan
* Introduced ShapeInferenceMethod::InferAndValidate to TfLiteParser * Added unit tests Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Iad4aadce92912e7645b1652019ec4af478b7fc32
2020-07-28Github#433 Add HardSwish support to TfLiteParserJan Eilers
Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ic476f8d80bba080ab459db9e6a59cbafd307d129
2020-07-14IVGCVSW-4847, Github #393 Fix TfLite reshape operatorJan Eilers
* Change order of reading target shape. Checks built-in option first then input. Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Iddc39188ebfb7f71e33c35847de7506a02d807af
2020-07-10Github #388 Remove TfLite Concat quant validationJames Conroy
* Matching quant validation was added to TfLite parser as per TfLite documentation. * Removing this validation for Concat and Pad as it is causing some nightly model test failures. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: Ie128fb66cc2d4a193ac22dc9eb41f5703d113663
2020-07-08GitHub #388 Add matching quant checks in TfLite parserJames Conroy
* Adds checks for matching tensor quantization info as per TfLite documentation. * Adds missing layer nullptr assert checks. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I4344a3554e349ce8edcd14126f63bc627637e0cd
2020-07-06GitHub #418 AddBroadcastReshapeLayer can cause inputs to be connected ↵Mike Kelly
incorrectly * Fixed issue where AddBroadcastReshapeLayer would always connect the Reshaped input to the first input slot and the other input to the first input slot. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ifd2745a819eb0f72ff9433690afc92a6a34f2ec3
2020-07-06IVGCVSW-4988 Add handling output shape parameter to TransposeConvolution2dColm Donelan
* Add m_OutputShape and m_OutputShapeEnabled to TransposeConvolution2dDescriptor. * Update TfLite parser to populate m_OutputShape if found in the model. Handle both Signed32 from tflite files and QAsymmU8 from test fixtures. * Update TransposeConvolution2dLayer to use m_OutputShape instead of InferOutputShapes if specified. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: Ia6933065375eb8006c916f1ca67c38dc50bc205c
2020-06-30IVGCVSW-4487 Remove boost::filesystemFrancis Murtagh
* Replace filesystem::path * Replace filesystem::exists * Replace filesystem::is_directory * Replace filesystem::directory_iterator * Replace filesystem::filesystem_error exception * Replace filesystem::temp_directory_path * Replace filesystem::unique path * Replace filesystem::ofstream with std::ofstream * Replace filesystem::remove * Replace filesystem::is_regular_file * Replace boost::optional with armnn::Optional in touched files * Remove some superfluous includes * Update build guides, GlobalConfig.cmake and CMakeLists.txt * Remove redundant armnnUtils::Filesystem::Remove function. * Remove redundant armnnUtils::Filesystem::GetFileSize function. Temporarily adding back Boost::filesystem to enable Boost::dll. Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: Ifa46d4a0097d2612ddacd8e9736c0b36e365fb11
2020-06-29IVGCVSW-5021 Fix failure in SplitVJan Eilers
Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I587f601d3e1b9ea11fbc3dc379f24c5ebdcf3cf8
2020-06-09IVGCVSW-4968 Fix exception handling in TfLiteParser.Colm Donelan
* The function TfLiteParser::CreateNetworkFromModel was continuing to parse the input file even after a fatal exception was encountered. restructure catch exceptions outside the for loop. * Add simple unit tests to test some exception handling. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I202ca6819d40a47159b4ac8f2847958f945666c2
2020-06-02IVGCVSW-4190 Add SplitV to Tflite ParserRyan OShea
* Refactored SplitV * Added unit tests * Updated Documentation Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Change-Id: If1dfa5a8780ddf3fe8788ed7bf7fa5fa8dfd14ec
2020-06-02Fix a few build warnings:Rob Hughes
* Remove redundant asserts for unsigned ints being positive * Remove unneeded include of lightweight_test.hpp header * Remove unused exception variable names * Replace hardcoded 0.0f with T() for some template functions * Add a few static_casts Change-Id: I290b0433cf995f6d0199422eaa10f816e5fd8eb9 Signed-off-by: Robert Hughes <robert.hughes@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-27Add NEG support to TFLite parserDarshan Patel
* Added unit tests * Updated Documentation Signed-off-by: Darshan Patel <darsh.jp@gmail.com> Change-Id: Id22ffebe60732a93798f72801eb8a2a23cdd7ec0
2020-05-27IVGCVSW-4187 Add LEAKY_RELU to TFLite parserSadik Armagan
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I3e934142487b92897eb487099a22d032f80e8e07
2020-05-25Add DIV support to TFLite parserDarshan Patel
* Added unit tests * Updated Documentation Signed-off-by: Darshan Patel <darsh.jp@gmail.com> Change-Id: Iadb5c76139d74d755d7f4be4b023b4417efe1e92
2020-05-25IVGCVSW-4792 Update armnn readme and support filesNarumol Prangnawarat
* Add TPIP used by Arm NN * Add SqueezeNet to CaffeSupport.md * Add ResNet v2 50 to TensorFlowSupport.md * Update tested networks in TensorFlowLiteSupported.md Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I15927ea600a3dfffee082933d32f235f3940730e
2020-05-25IVGCVSW-4186 Add EXP unit tests for TfLiteParserRyan OShea
* Updated Documentation * Created unit test file Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Change-Id: Ic8384b5ed21ac53f918860be8a98c0ac7477d0e1
2020-05-22IVGCVSW-4792 Update armnn readme and support filesNarumol Prangnawarat
* Add Transpose to SerializerSupport.md * Remove ResizeBilinear as it is deprecated layer * Add EXP and SPLIT_V to TensorFlowLiteSupport.md * Add transpose to TensorFlowSupport.md Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I05b0411b61c1b74b27b4669e81fa8ce521bb4190
2020-04-29IVGCVSW-4186 Parse TfLite Exp and Split_V operatorsDerek Lamberti
Change-Id: I0cac7ebfe22f2782af3198e6231cb37fa51bbd62 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>