aboutsummaryrefslogtreecommitdiff
path: root/tests/ExecuteNetwork
AgeCommit message (Collapse)Author
2023-01-06IVGCVSW-7031 Generate static execute networkRyan OShea
* Build ExecNet lib dependencies as object libs except libarmnn * Disable PIPE when building static ExecNet * Remove multiple definition from AsyncExecutionCallback * Disable DynamicBackend for ExecNet Static build * Disable inference tests for TfLiteParser and ONNX during static ExecNet * Remove Tensorflow Parser if condition * Add Disable thread macro to InferenceModel * Don't compile dynamic backend symbols in Runtime.cpp for Baremetal and Exenet Static Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: If41c063eab5f05b3df0a6e064924a36a177f116a
2022-12-20IVGCVSW-7409 GPU backend options not being passed from the delegate.Colm Donelan
Two problems here: * First the Delegate was using the parameter options after the execution of std::move on it. * In ExecuteNetworkParams 3 GPU backend options were instead being set as optimizer options. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I61c7fad8a5819a0a4aec0243899019a342c5cc5f
2022-12-13IVGCVSW-7365 Fix behaviour of --import-inputs-if-aligned in ExecuteNetworkMatthew Bentham
Move call to 'SetupInputAndOutputs' to after LoadedNetwork is available. Change-Id: I101e297d1d7b2517011d4ef3f1a4927566845474 Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
2022-11-16IVGCVSW-7214 Disable BF16-Turbo-Mode and remove conversion layersRyan OShea
- Remove Bf16ToFp32 Conversion Layer - Remove Fp32ToBf16 Conversion Layer - Remove B16 Conversion tests * Throw exception if m_ReduceFp32ToBf16 optimzer option is set to true * Provide comments to enable fast math in order to use bf16 * Update docs to inform users to enable fast math for bf16 Execute Network Changes * Require bf16_turbo_mode to also have fast_math_enabled set to true - Remove setting m_ReduceFp32ToBf16 optimizer option Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: Ibaa6da9d29c96a1ce32ff5196b0847fde9f04a1c
2022-11-15IVGCVSW-7332 Fix Delegate Profiling in ExNet with multiple iterationsKevin May
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: If837e4bec7940b53d18d0da32f3e736215dd2a03
2022-11-11IVGCVSW-7356 Bug Fix for Execute Network Delegate when input names not givenTeresa Charlin
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I2fd0f6aac6ffff695b17df7455f252f6013c0d43
2022-10-27IVGCVSW-7282 Issues in ExNet when iterations and number of inputs do not matchTeresa Charlin
* The intention is to keep the flexibility given by the ExNet before the refactor. * When iteration > inputFiles, we repeat the usage in order * When iteration < inputFiles, we just discard extra files. Signed-off-by: Adam Jalkemo <adam.jalkemo@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I2fbe69f8affe0e3a5cc86fc1748164967f0c2d64
2022-10-27Revert "IVGCVSW-7282 Issues in ExNet when iterations and number of inputs do ↵Teresa Charlin
not match" This reverts commit 6c95836e894f88c4bab6b22f974341f0dd2dddaa. Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I8be2147feb557a0849de5785fb63b464abc7dbb9
2022-10-25IVGCVSW-7282 Issues in ExNet when iterations and number of inputs do not matchCathal Corbett
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: Ib30fc633a10b6ff8090b50314278fe5dc46fb250
2022-10-19MLCE-545 INT8 TFLite model execution abnormalKeith Davis
* Add functionality to print output tensors to file in tempdir * UnitTests Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: Idfb4c186544187db1fecdfca11c662540f645439
2022-10-14IVGCVSW-7267 Make the AllowExpandedDims option workJim Flynn
Signed-off-by: Jim Flynn <jim.flynn@arm.com> Change-Id: I3573078206272c3a72a2b3acf8781ab458ea6c90
2022-10-13IVGCVSW-7288 ExecuteNetwork fix for multiple outputsAdam Jalkemo
* When a model with multiple outputs was used and output to file, e.g. with "-w ./boxes,./classes,./scores,./detection", the results where not saved in the correct files. * Applies only to the ArmNNExecutor. Change-Id: I2899322622a4c3fd1d0ddc75b100b81669417660
2022-10-13IVGCVSW-7283 Use stricter file extension check in CreateParserAdam Jalkemo
* I had issues when folder name contained "armnn" and a .tflite model was used, as the wrong parser was selected. * Now only the extension, and not the full string, is considered when selecting parser. Change-Id: If7964d2ce5535f7d25762d2a2d7e810bf1a1ed43
2022-10-11IVGCVSW-7222 Fix incorrect kernel measurements in profiling outputKevin May
* Some CL kernels are not run after the first inference and this breaks the profiler which is expecting a measurement for every kernel each run * Add a function HasKernelMeasurements() to ascertain if the Event is returning kernel measurements and if so insert 0.0 values for any missing kernel measurements. * Fix ExecuteNetwork to only print a json object after all inferences have completed Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I99f2bb0db847f5a52ab4c5705b072155c6b6f333
2022-10-04MLCE-545 INT8 TFLite model execution abnormalKeith Davis
* Signed32 missing from CompareAndPrintOutput Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: If3c93fb0d73c566ddcf439fceaa6d629029df18f
2022-09-27IVGCVSW-7235 Errors from LoadNetwork are being ignored in ArmNNExecutor.Colm Donelan
In ArmNNExecutor::ArmNNExecutor the call to m_Runtime->LoadNetwork was ignoring the Status result and continuing to execute with a failed network. In addition throwing an exception from the constructor resulted in a segmentation fault. * Modify IExecutor to allow the constructor to mark itself as failed. * Modify ArmNNExecutor to mark itself as failed when LoadNetwork returns an error. * Modify ExecuteNetwork to check the value of m_constructionFailed. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: Idf222cb2b66e1051875dc67046734f2b00b288d1
2022-08-05IVGCVSW-7179 Segfault running ssd_mobilenet_v2_int8 with ExNet and delegate.Teresa Charlin
* model was declared in the TfLiteExecutor constructor, instead of intializing m_Model * Working with this model that has 4 output we saw the the output names were not correct, this got fixed too Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I48f194ad4ba6af43d43e6eea336eb87ffee02dcc
2022-08-05IVGCVSW-7157 ExNet. interpreter chooses a different input type.Cathal Corbett
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: If00d8dab2846c484a1969fb152cb9f8bd16e1b3e
2022-08-05Bug Fixes for refactor of the ExecuteNetwork.Teresa Charlin
* dot file to be generated when -v is given. It was only being generated when using the delegate as executor * output name read from m_Params.m_OutputNames instead of m_TfLiteInterpreter * typo: "delage" instead of "delegate" * QAsymmS8 templated as int8, instead of uint8 Change-Id: Ie13ae0f7e6395c0ebcb5ecda32e72082dee8aa6c Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Iac97a23927ba42290ebeb3446bbd36da15045e07
2022-07-28Revert "Revert "IVGCVSW-6650 Refactor ExecuteNetwork""Teresa Charlin
This reverts commit 1a7f033768acb27da11503bd29abb468d2e77f9e. List of fixes to be able to add this code again: * "emplacing_back" the vector inputTensors into the vector m_InputTensorsVec outside the for loop * GetIOInfo() uses IOptimizedNetwork instead of INetwork, where the infered shapes are not saved * Add missing data type Signed32 to SetupInputsAndOutputs() * PrintOutputTensors() prints the actual output without dequantizing * Add profilingDetailsMethod as input in networkProperties in ArmNNExecutor constructor * Fix typos Change-Id: I91de166f87228282db3efa27431fe91458834442 Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ic6634d48892d11e5f146cdf285e1e333e93e9937 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
2022-07-27IVGCVSW-7061: Use same sentence for Aynch execution in ExNetTeresa Charlin
* "Asynchronous Execution with std::launch:async..." * "Asynchronous Execution with Arm NN thread pool..." Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I93f6ae92fd5599d1042f0dfced7e90ef85e20463
2022-07-27IVGCVSW-7096 Harmonise macro ARMNN_TFLITE_DELEGATETeresa Charlin
* Remove ARMNN_TF_LITE_DELEGATE and DARMNN_TF_LITE_DELEGATE Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I3fc08da3fa0b733e6791c42f6bc59494f2bc26a6
2022-07-08Revert "IVGCVSW-6650 Refactor ExecuteNetwork"Nikhil Raj Arm
This reverts commit 615e06f54a4c4139e81e289991ba4084aa2f69d3. Reason for revert: <Breaking nightlies and tests> Change-Id: I06a4a0119463188a653bb749033f78514645bd0c
2022-07-08IVGCVSW-6650 Refactor ExecuteNetworkFinn Williams
* Remove InferenceModel * Add automatic IO type, shape and name configuration * Depreciate various redundant options * Add internal output comparison Signed-off-by: Finn Williams <finn.williams@arm.com> Change-Id: I2eca248bc91e1655a99ed94990efb8059f541fa9
2022-05-24IVGCVSW-6255 Investigate and fix running mobilebert with the TfLiteDelegate ↵Cathal Corbett
(CpuRef) * Fixed bug occuring in Ref Gather Workload. Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: I3ee79f475fd9909bfbd4afb58f698439f26d6d65
2022-05-18IVGCVSW-6929 Support for models with implicit expandedMike Kelly
dimensions * Added allow-expanded-dims to TFLite parser and ArmNN delegate * If true ArmNN will disregard dimensions with a size of 1 when validating tensor shapes. Tensor sizes must still match. * This allows us to support models where tensors have expanded dimensions (i.e. extra dimensions with a size of 1). * Fixed bug in Network where it assumed that only the first option could be ShapeInferenceMethod. * Fixed bug where m_ShapeInferenceMethod was lost when copying or moving Graphs. * Changed Delegate to pass "infer-output-shape", "allow-expanded-dims" and other BackendOptions through to the Network during construction. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ibe7c5ae6597796fc9164cb07bd372bd7f8f8cacf
2022-04-07IVGCVSW-6828 Add a 'reuse I/O buffers' iteration mode to ExecuteNetworkRyan OShea
* Add shorthand argument for no print * Add Execute network option to reuse buffers * Add new synchronous execute method to reuse buffers Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: Ia7ee99b2ba9a21043c9575d7546bf25208357141
2022-03-01IVGCVSW-6704 Change the namespace from armnn::profiling to arm::pipeCathal Corbett
* Updated ABI version to 29 due to being the first ABI break in 22.05 !android-nn-driver:7226 Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: I9c50007dcd5b5e792757e7bd1213606df5ffec36
2022-02-15IVGCVSW-6786 Add import if memory aligned option to ExecuteNetworkJim Flynn
Change-Id: Ib038e7b2616195a64715e3a7126da1368bbca1d3 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2022-02-14IVGCVSW-6708 Break Profiling Dependence on IRuntime ExternalProfilingOptionsJim Flynn
Change-Id: I30a46f3368bbbf33019eac4fa1245f6ff69deacd Signed-off-by: Jim Flynn <jim.flynn@arm.com>
2022-02-03IVGCVSW-6680 Delegate Segfaults on Execute NetworkRyan OShea
* Change to check for success instead of specific failure * Fix which map index is used when assigning outputs Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: I13d8e989e35789ad3e2465d595905c5a5603ae0f
2022-01-24IVGCVSW-6733 Add missing qasymms8 output type to delegateFinn Williams
Signed-off-by: Finn Williams <finn.williams@arm.com> Change-Id: Ic5ebf7b80468b7751c234c43a90ec4cbf4c59ffe
2021-12-09IVGCVSW-6611 ExNet prints inference time twiceCathal Corbett
* Created individual IRuntime sharedptr in ExecuteNetwork main() each time MainImpl() is called. Prevents additional runtime being created when the delegate is used. Signed-off-by: Cathal Corbett <cathal.corbett@arm.com> Change-Id: Ia4b508fbf2bbd25467c6235fed2f05662a7aecc0
2021-12-08Add addition timing logging outputJan Eilers
* Adds ExecuteNetwork when building the delegate only * Adds timings to delegate subgraph creation * Adds executions times Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ieff2f67ea8dbb6c2a708f8810e84a20485b7a631
2021-11-30IVGCVSW-5611 TfLiteDelegate: Investigate and fix incorrect output from ↵Tamas Nyiri
Deep_speech models * Fixed output bindings in ExecuteNetwork when using delegate * Added extra comments (for my own comprehension) Change-Id: Ia1330903a2b724be7d637f6c5b6e4349e7d33e2e Signed-off-by: Tamas Nyiri <tamas.nyiri@arm.com>
2021-11-03Revert "IVGCVSW-6359 Added support for Float16 (Half) to Execute Network"David Monahan
This reverts commit 2d9956162dd002a41f7fb4fa6753195d33524c7f. Reason for revert: After some discussion, this does technically implement Float16 support for ExecuteNetwork, but not in a way which matches most use cases and is likely to cause issues in the future. Reverting for now. Change-Id: I4ce6de6879216e694631f5dc68e46fb793fae0a9
2021-11-01IVGCVSW-6359 Added support for Float16 (Half) to Execute NetworkDavid Monahan
* Allows the user to specify float16 as a datatype * Does not contain support for float16 on the TfLiteDelegate via ExecuteNetwork Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: Icba56feedab32662e2cf671cc46ada899cf40c6c
2021-10-28IVGCVSW-6473 Add warnings to ExecuteNetwork on invalid output tensor type.Colm Donelan
* In ExecuteNetwork MainImpl compare the data types of outputs on the loaded model with those specified by the user through --output-type. Issue a warning if there is a mismatch. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: Ic5add9734dc239eddca0972a9e560e54abdb1093
2021-10-28IVGCVSW-6513: Compilation failure in armnn-mobilenet-quant in ML-ExamplesFrancis Murtagh
* Move TContainer to armnnUtils library Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I3c0f895d11b66f6ee224ac689a19d0477f990b98
2021-10-27IVGCVSW-5879 Fix problems with using internal profiling from delegate.Colm Donelan
* Pass through the value of m_EnableProfiling from Executenetwork to DelegateOptions. * If internal profiling is enabled print it out from inside the delegate. * Remove an unnecessary ProfilerImpl instance from WorkingMemhandle.hpp * Remove an unnecessary parameter from TfLiteDelegateMainImpl in ExecuteNetwork. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: Ia1d4b1eb3a05ca5b4d80cc39e138c7fac182d948
2021-10-22IVGCVSW-6359 Create a single definition of TContainerDavid Monahan
* Added a single definition of TContainer to include/armnn/Utils.hpp * Change all files which contained their own identical definitions of TContainer to use the new one Signed-off-by: David Monahan <David.Monahan@arm.com> Change-Id: I63e633693a430bbbd6a29001cafa19742ef8309a
2021-10-18IVGCVSW-5879 Pass the execute network parameters to the TfLiteDelegate.Colm Donelan
* Introduce a mechanism to construct a DelegateOptions from an ExecuteNetworkParams. * Modify ExecuteNetwork to use this constructed DelegateOptions. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: Ied663a1e00ac3eece42244ed313ddafd6d2ce078
2021-09-13Add 'do-not-print-output' option to ExNetJan Eilers
Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I10fb010ee8d3f813d2264cefb526f352e30d7046
2021-09-02GitHub #572 ExecuteNetwork Segfault for TFLite DelegateMike Kelly
* Fixed Segfault when optional input tensor shapes aren't provided Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ib18be62d3654020037e6101976d58297b2a983c4
2021-08-20IVGCVSW-6249 Add ProfilingDetails Macros to all workloads in Ref, Neon, CLKeith Davis
* Add functionality to only output network details in ExNet Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I0c45e67193f308ce7b86f1bb1a918a266fefba2e
2021-08-10IVGCVSW-6292 Allow profiling details to be switched off during profilingKeith Davis
* Add switch for network details during profiling Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I8bd49fd58f0e0255598106e9ab36806ee78391d6
2021-07-28Different input data for every iteration of ExecuteNetworkJan Eilers
* Allows to supply different input data for every execution of a model when using the 'iterations' option in ExecuteNetwork * Removes the option 'simultaneous-iterations' because it's functionallity is now covered by 'iterations' * Adds a deprecation warning message to notify users * Little refactor of warning messages Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ib3ab0d6533f6952bfee20d098a890b653c34cc12
2021-07-26GitHub #557 wrong result in int8 modelexperimental/CustomAllocator3Mike Kelly
* Added support for qasymms8 (int8) to ImageTensorGenerator * Added qasymmu8 as alias for qasymm8 in ImageTensorGenerator * Added support for qasymms8 (int8) to ExecuteNetwork * Added qasymmu8 as alias for qasymm8 in ExecuteNetwork * Set tflite to be the default model format in ImageTensorGenerator as it's the only supported model format. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ieda7b78e668ea390e3565cd65a41fe0a9c8a5b83
2021-07-21NNXSW-3081 Move Filesystem.hpp and Threads.hpp to public includeRob Hughes
!android-nn-driver:5966 Change-Id: Ice0b4d2872bb0e09bfc0763034a206c3a8f24af4 Signed-off-by: Rob Hughes <robert.hughes@arm.com>
2021-06-23IVGCVSW-6062 Rework the async threadpoolFinn Williams
!android-nn-driver:5802 * Extract the threadpool from LoadedNetwork/Runtime * Refactor the threadpool to be handle multiple networks * Trim IAsyncExecutionCallback and add an InferenceId to AsyncExecutionCallback * Add AsyncCallbackManager class Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I36aa2ad29c16bc10ee0706adfeb6b27f60012afb