aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-10-29IVGCVSW-5314 Create OptimizeForExclusiveConnectionTeresa Charlin
* 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
2020-10-28IVGCVSW-5433 Remove boost::transform_iterator and make_transform_iteratorFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I28aace7092cff5743353df1b1de8e7a4691554d3
2020-10-28Fix BackendHint missing when cloning a layerNarumol Prangnawarat
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I550fb59469af39f8fa3415843e973f06b18485e5
2020-10-27IVGCVSW-5077 Ensure ArmNN builds successfully with latest protobufNikhil Raj
* Use the single parameter version of SetTotalBytesLimit() * Update CMakeLists to turn off deprecated declarartions Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I2d360966743986872cfef40c2ab1a3505fc5d99a
2020-10-23GitHub#465 Fix NonMaxSuppressionantkillerfarm
If visited flag set true, it should not be visited any more. For example, if we put 10 boxes (ordered by score) into NonMaxSuppression: * Step1: Suppose Box 2/3/6/8 are suppressed by Box 1. Box 4/5/7/9/10 survived. * Step2: Correct way: We use Box 4 to suppress the survive boxes. Prior to this commit: Box 4 may be suppressed by Box 2, even Box 2 is already suppressed by Box 1... Signed-off-by: Antkillerfarm <antkillerfarm@gmail.com> Change-Id: I38d7a84287649827a16565748592fb562b4df5d5
2020-10-21Add IDeserializer support in pyarmnnwangg
Resources required for new unit tests are included for review. Signed-off-by: Guanqun Wang gemini910621@gmail.com Change-Id: Iead6cb5beaf824a6f467ad9da4aede5719ebe4ec
2020-10-16IVGCVSW-5435 Add FloatingPointComparison to remove boost::math::fpc usesMatthew Sloyan
* Added FloatingPointComparison.hpp and FloatingPointComparisonTest.cpp, which compares two floats and returns true if the values are within a specified or default tolerance of each other. * Also removed boost::math::fpc from test/TensorHelpers.hpp to validate. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I164c32eccd213c53bb1bc4f9cd4ee4838f1781c9
2020-10-14IVGCVSW-5335 Added Documentation for fast_mathMike Kelly
* Added Documentation for fast_math to CLBackendModelContext * Added Documentation for fast_math to NeonBackendModelContext Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I43a0568ae6914e074a80130a051e5d9bb849f2ba
2020-10-13IVGCVSW-5434 Remove boost/preprocessor.hppJim Flynn
Change-Id: I51462d18ce0be4b88a23453cfdd16510f30dd1e3 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2020-10-13IVGCVSW-4489 Remove remaining occurrence of boost::formatMatthew Sloyan
* 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
2020-10-12IVGCVSW-5279 Switch armnnQuantizer over to cxxoptsMatthew Sloyan
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I79f12ba33b3ca58cdc4be531ffbf72fa20690792
2020-10-09IVGCVSW-5291 Fix for Yolov3 producing 0s on NeonDavid Monahan
Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: I9331d590e71fc479979c11be9dc750d6435f12bc
2020-10-08IVGCVSW-5363 Add Unmap layer and Unmap workloadJim Flynn
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Signed-off-by: Jim Flynn <jim.flynn@arm.com> Change-Id: Ie5ecfa67e4763d0c058905592fe2e2fd7315f85c
2020-10-08Remove Resize from list of layers that need padding in NeonTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I054f0b71d4e9581c637fa09e40f6b661e58e39f3
2020-10-07IVGCVSW-5362 Add Map layer and Map workloadJim Flynn
Signed-off-by: Jim Flynn <jim.flynn@arm.com> Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Id2227c58809b84c7a7af61f7c0d88ad7d45ce558
2020-10-06IVGCVSW-5213 Switch armnnConverter over to cxxoptsColm Donelan
* Swap out boost::program_options with cxxopts. * Remove const from argv declaration to conform to cxxopts. * Clean up CLI handling around multiple inputs and shapes. Each input must be specified with its own -i param. Each corresponding -s parameter must be specified too. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I01c2683dbca51b2322c98913731ac82a59e400a5
2020-10-06IVGCVSW-5407 Failing UnittestMike Kelly
* The number of error and warning messages will vary depending on the device but will always be greater than 0. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Iee1d12e60d8c88c9116083d7274cea2ec23cb032
2020-10-05Update ACL pin to fc2f6d0427e1d886fcccc68867d1af1ccd96608bTeresa Charlin
* Set use_padding to false in neon workload Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ia5367de331efe1d28dea4dfbefc0713720da81f9
2020-10-02IVGCVSW-5297 Remove boost::format from rest of ArmNN.Colm Donelan
* Replacing calls to boost:format with fmt:format. * TensorUtils.cpp added outputShape.reserve call. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I4b2ed0f72039df824a2adca9309b8a9bbb158c5b
2020-10-02IVGCVSW-5334 Remove remaining boost::numeric_cast from armnnMatthew Sloyan
* Floating point casts now use armnn::numeric_cast. * Also removed remaining header imports. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I2d37847d67f164fc0a0ae17f34d49ff3d2210c30
2020-10-02IVGCVSW-4997 'Superfluous memcopy workloads'Sadik Armagan
* If Output Layer is already connected to MemCopy Layer do not insert CopyMemGenericWorkload. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I9f813be5a3de2bc62d16864edb3eeaf371ef48e0
2020-10-02IVGCVSW-5306 Add floating point type checks to NumericCast.hppMatthew Sloyan
* Added Unit Tests to capture all combinations. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I04db920a5f5f485dc00b2f16582cf7e0bbef3ef2
2020-10-02IVGCVSW-5294 Remove boost::format armnn backendsJames Ward
* replaced with fmt::format * one case required std:stringstream instead Signed-off-by: James Ward <james.ward@arm.com> Change-Id: Ife7c4cf5f143e43373f42edf6124158af132abc5
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-10-01Include layer GUID in SerializeToDot outputRob Hughes
Change-Id: I1a6df60683cc51fcd9739b6dc98f1e722becf045 Signed-off-by: Robert Hughes <robert.hughes@arm.com>
2020-10-01COMPMID-3784 Fix 1 CTS MUL INT32 failure due to using SATURATETeresa Charlin
* LargeGraph_TENSOR_INT32_Rank4/26 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I9d07444db56e26c13a77bf022938644ed7953d6b
2020-10-01IVGCVSW-5325 Fix non-channel per axis quantizationFinn Williams
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: Ie0cf69b2cd76d6ecedab43d3d9ae267d23bbc052
2020-09-30IVGCVSW-4519 Remove Boost Variant and apply_visitor variantJames Ward
* replace boost::variant with mapbox::util::variant * replace boost::apply_visitor with mapbox::util::apply_visitor * replace boost::get with mapbox::util::get Signed-off-by: James Ward <james.ward@arm.com> Change-Id: I38460cabbcd5e56d4d61151bfe3dcb5681ce696e
2020-09-30IVGCVSW-5295 Remove boost::format from armnn profilingJan Eilers
* Replace all instances of boost::format with fmt::format from armnn/src/profiling Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I4722bdde52c740bc9bdce969128074a34a3ee75e
2020-09-30Refactored Optimize(...) function to throw exceptions instead of returning nullMike Kelly
* 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
2020-09-29IVGCVSW-5295 Change fmt to be a header-only interface libraryJan Eilers
* Fix non-virtual-dtor warnings in fmt * Fix wrong fmt include in TfParser * Make fmt work in nn-driver * Make fmt a header-only interface library * Link fmt where necessary Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I9db7cd9a133a81262cbf79f04fb419ab97b88ea8
2020-09-29IVGCVSW-5301 Remove all boost::numeric_cast from armnn/src/profilingMatthew Sloyan
* Replaced with armnn/utility/NumericCast.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I14e89c00cd1dd607315113d5b8ca56c2e9f6c363
2020-09-28IVGCVSW-5325 Speed up the reference backendFinn Williams
Change-Id: Id8bd0a0418be31d975b944b54bbacb25051ffb2e Signed-off-by: Finn Williams <Finn.Williams@arm.com>
2020-09-25IVGCVSW-4973 Enable QLstm projection unit tests on CLTeresa Charlin
*Cosmetic changes on ClQLstmWorkload Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I61f55343263e623aaae042d8dfe8c294540e98f1
2020-09-25Update ACL pin to 840a72cc745c60eccbd26fe192b035ec68b2ee41Nikhil Raj
* Change tensor to non const to fix build error caused by ACL fix for QLSTM Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: I7ab0f644dfb3cb3cf21bda73028e9368f3354f4a
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-22IVGCVSW-5318 'Create a Neon/CL Workload Unit Test fast_math option enabled'Sadik Armagan
* Unit test implemented to make sure it returns WINOGRAD * Updated the enable-fast-math option in ExecuteNetwork to be consistent Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Id64f114ae47966def69a9eef0770a4251ee56a41
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-09-17IVGCVSW-5300 Remove some boost::numeric_cast from armnn/backendsMatthew Sloyan
* Replaced with armnn/utility/NumericCast.hpp * Some exclusions in reference backend * Excluded as requires float implementation in NumericCast.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I9e4e9cd502c865452128fa04415fd6f250baa855
2020-09-15IVGCVSW-5317 'Add enable_fast_math Option to ExecuteNetwork'Sadik Armagan
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I4eb3e27837aea926593d49f9ccea07bab8388d5b
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-14IVGCVSW-5157 'Pipe ModelOption through Network::LoadNetwork() to Workload ↵Sadik Armagan
factory' * Pass ModelOptions to WorkloadFactory * Updated signature of CL and NEON Convolution2d workloads added FastMathEnabled param. Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I536178be8e4dd4083489e69febadaf0feeba46d2
2020-09-11IVGCVSW-5245 Add Quantization operator=() functionKevin May
* Add unit tests to check if Quantization info copied correctly Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I7bb7bde5d97e82c57252c6d5131fbe21ad3096d2
2020-09-10IVGCVSW-5156 Introduce ModelOptions to OptimizedNetworkSadik Armagan
* 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
2020-09-10IVGCVSW-5197 Add support for 2nd input to ExpandDims of TfParserJan Eilers
* ParseExpandDims did not support to pass the axis parameter as a second input tensor * Added related unit tests Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I8217950f0b42beaf5b9eaebdcad04267e4443ba3
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-09-03Update ACL pin to ec4dee8c68a3d0f6d63db184bfb2f4589429778eTeresa Charlin
* Axis for LogSoftMax and SoftMax can be either positive or negative Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I36b0507ad7600c0a98c3b8be3c0350045ee05b84 Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
2020-09-03IVGCVSW-5261 Fix undefined reference to GetIdStatic()David Monahan
* Moved DynamicBackend tests to only build when ArmnnRef is enabled due to a dependency on them dynamically loading the ArmnnRef backend object Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Iee0480e7d0cf505bbb5c26629829d3d20fb60051
2020-08-31IVGCVSW-5256 Use CreateTensorHandle() function from TensorHandleFactory in ↵Finn Williams
the tests for layers Q,R & T Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I6fc613d31785298a0b7ed18f1abdd59bafed1e8e