summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2022-04-22MLECO-3174: Minor refactoring to implemented use case APISRichard Burton
Looks large but it is mainly just many small adjustments Removed the inference runner code as it wasn't used Fixes to doc strings Consistent naming e.g. Asr/Kws instead of ASR/KWS Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I43b620b5c51d7910a29a63b509ac4d8a82c3a8fc
2022-04-22MLECO-3077: Add ASR use case APIRichard Burton
* Minor adjustments to doc strings in KWS * Remove unused score threshold in KWS Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Ie1c5bf6f7bdbebb853b6a10cb7ba1c4a1d9a76c9
2022-04-21MLECO-3110: Fix for warnings from TensorFlow Lite MicroKshitij Sisodia
Changes to fix "Pillow not found" warnings from TensorFlow Lite Micro build. Change-Id: I42a9b3f6df746ac3e34585e0c79ffdf35da97aef Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-04-19MLECO-3078: Add VWW use case APIRichard Burton
We now expect that img_class and vww use cases model inputs should have 4 dims as dictated by use case logic Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I67a57a3a28a7ff2e09c917c40e9fc2c08384a45c
2022-04-13MLECO-2921: Minor changes for HAL projectsKshitij Sisodia
Ensuring individual HAL projects can be configured without the need to be wrapped. Tests can now be added to build individual components and check for any unintended dependencies creeping in. Change-Id: I057699c3c3cc0fc280615db30a25fbe4c28ae8ea Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-04-13MLECO-3075: Add KWS use case APIRichard Burton
Removed some of the templates for feature calculation that we are unlikely to ever use. We might be able to refactor the feature caching and feature calculator code in the future to better integrate it with with PreProcess API. Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Ic0c0c581c71e2553d41ff72cd1ed3b3efa64fa92
2022-04-08MLECO-3070: Further HAL cleanup.Kshitij Sisodia
Cleaning up HAL sources by removing unnecessary redirections with function pointers. The "platform packages" under HAL are now streamlined enough to not need any major HAL wrapping (as was the case before). This allows us to have a very thin HAL layer that sits on top of the platform and compnent packs. Also helps in getting rid of "hal platform" pointer being passed around in the code to use any HAL functionality. Change-Id: I04b2057f972aad7a5cfb4a396bcdf147c9f9ef1c Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-04-07MLECO-3079: Implement image classification APIRichard Burton
All ML related work for image classification seperated out and accessed via new Runner Further work to improve profiling integration to be done in follow up ticket: MLECO-3154 Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I0fe0550c932241a2d335a560ecb7abc329c934e9
2022-04-06MLECO-3096: Removing data_acq and data_psnKshitij Sisodia
Further to the HAL refactoring done in previous commits, this CR simpifies HAL by removing data_acq and data_psn "modules". The associated function pointers have been removed. Change-Id: I04c194c08dfe0aff98ce4e0f0f056bac254c137d Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-04-05MLECO-3096: Removing "timer" from HAL profile.Kshitij Sisodia
Attempting to have timer functionality contained within the platform drivers "package" as it should (in line with the refactoring work done so far under HAL). This will ensure that we don't need two timer implementations under HAL "profiles" and therefore, this whole directory can be removed. This change also addressed issue with the applicatio level Profiler code knowing about how the PMU has been set up by the platform code. This link has been removed completely. This will make it much easier to add/amend the Ethos-U PMU event counters types and give each platform the capability of populating their relvant counters. The application level Profiler doesn't know which metrics it is displaying but just calculates and maintains statistics for whatever PMU counters it receives from the HAL level. A fix for timing adapter issue introduced in the last CR is also included. Change-Id: Ia46e03a06e7b8e42b9ed2ba8f2af2dcd2229c110 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-03-28MLECO-2917 Replacing platform CMake definitions with headersKshitij Sisodia
Moving away from CMake description of targets and generation of platform header files (for memory addresses and IRQ numbers). Instead these headers are part of the repository under their respective platform-driver packages under HAL sources. Change-Id: I9bd3e68eb17385f8b93eb3d8d76b212ce0e1a6d5 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-03-18MLECO-2999: Minor improvement for HAL NPU componentKshitij Sisodia
Dcoumentation updates in line with recent refactoring and some minor update to the HAL's NPU component. Change-Id: Iadb34dbcdedf7259f786c42bd8fcf2d950a51410 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-03-14MLECO-2997: Support region configuration overrides for memory modesIsabella Gottardi
Change-Id: Ib42829b61e840a47086898d6f8941f0e92f2f8fe Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2022-03-14MLECO-2919: Restructuring to standardise HAL APIsKshitij Sisodia
* LCD module component created (removed from individual platform packs). * retarget.c moved out into its own component that wraps the uart module. It also have the native stub for GetLine => paved the way for removing data_acq module from profiles. * shortened names for components' dir for npu and ta * remove peripheral_memmap and peripheral_irqs headers from platform_drivers.h. There should be no need for these to be included in the top level now. These should be private headers. * cmsis_device moved in as a component. * Pyenv created by set_up_default_resource.py will also install packages that CMake's source generator needs. TODO's: * Remove timer from profiles (MLECO-3096) Change-Id: I9d6ea2f4f291788f40a16ed507019563c8d7f205
2022-03-04MLECO-2978: Update to 22.02 dependenciesRichard Burton
* Add missing CMake setting used for building driver Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I2aae67d6780f88e661f9a54177943553b0f0dd4c
2022-03-04MLECO-2984: Refactor componentsKshitij Sisodia
* Use UART component from Ethos-U core-platform * Components as cmake project Change-Id: I053f3a59800abc20216e6a4df8555db357e3f21d Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2022-03-03MLECO-3001: Correction for header include.Kshitij Sisodia
Change-Id: Ie33c564e877dd27eb3b6d9fe22226dde3eb25323
2022-03-03MLECO-3001: Reinstate handler overridesLiam Barry
Revived & renamed irqs.c as handlers.c Removed reset handler and associated functions Switched to including it as a PUBLIC source Change-Id: Iccbd7061efcf9a1cfa9fac0fdbc2ab073d9f6150 Signed-off-by: Liam Barry <liam.barry@arm.com>
2022-03-02MLECO-2881: Using MD5 sum for downloaded resources check.Kshitij Sisodia
Removing git as a requirement for the checks performed for downloaded resources. Another minor change is renaming of RTE_components.h to RTE_Components.h as per the convention. Change-Id: If93f80f2f5dfa6a3f143259904c33b3b6d3a6e7c Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-03-01MLECO-2983: Preliminary support to allow semihostingKshitij Sisodia
Adding basic support to allow applications to build with semihosting support. Default state is always disabled. Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com> Change-Id: I1d34c3a246560aaffcb34eee801e1a87d887d559
2022-02-28MLECO-2976: Configurable Ethos-U cache size for Dedicated_SramIsabella Gottardi
MLECO-2949: Platform drivers should own NPU and TA init Change-Id: I13606a0197f137816bae803eb9d7d46c358b5fb8 Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2022-02-25MLECO-2944: CMSIS device refactoringKshitij Sisodia
* RTE_components header to include corresponding Arm Cortex-M system header * remove custom CMSIS implementation from repo * use templates within CMSIS repo instead * update cmake to use header and source files within CMSIS repo Change-Id: I3534dae97b93c07a5056471b1d1dedbc78f00aa7
2022-02-23MLECO-2948: Minor refactoring for platform modules.Kshitij Sisodia
Reducing dependency on cmsis-device sources as these will be removed under MLECO-2944. Also, starting to refactor to allow HAL to drop NPU and TA init routines - this will happen in future CRs. Added platform driver for native, and subsequent patches will attempt to get rid of the HAL "profile" specific sources and allow platform stub implementations at a level below HAL. This will allow platforms drivers to only override the range of functions that they actually want to implement and will fall back on stubs for the rest. In this CR only "utils" have been removed. Change-Id: I09b4a28e20847a07a956c818c6f47c74aab89063
2022-02-23Fixing profiler build flags.alexander
CPU_PROFILE_ENABLED was moved to profiler sub-project build. Signed-off-by: alexander <alexander.efremov@arm.com> Change-Id: I8191c83c7ae0f618769449d7d25fe58876cbcf05
2022-02-16MLECO-2946: Use cmake option to select which image display on LCDIsabella Gottardi
Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com> Change-Id: I076c3431e8106ff9430e66727607438c36d1acbc
2022-02-15MLECO-2946: Draw boxes directly on the LCDRichard Burton
* No longer copy the source image * Boxes are drawn directly to LCD rather than on source image * Change c style casts to static casts Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Ib8e926cb1a87bc2c40424eb5aace40170c526f1d
2022-02-14MLECO-2874: Move NMS out of the OD use_caseRichard Burton
* Add ImageUtils * Move image related code from UseCaseCommonUtils to ImageUtils * Move NMS related code to ImageUtils * Delete test specific ImageUtils and use new ImageUtils Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Icbf5dd9c6a941b0126ecdf69a0c9d9969f22729f
2022-02-14MLECO-2970: Moving Profiler out as a CMake target.Kshitij Sisodia
Profiler is a stand alone static lib that will depend on log and hal targets. Change-Id: Ibbff289c6760982f54ae278d95a054e73db018c8
2022-02-11MLECO-2752: Minor refactoring for native global steps.alexander
And further optimisations of extendability for platform build steps. Added a list for excluded use-cases. Change-Id: I5a9398bbeb595a5bf2ea39b81623e4f20238f948 Signed-off-by: alexander <alexander.efremov@arm.com>
2022-02-10MLECO-2682: CMake and source refactoring.alexander
MLECO-2930: logging macros were extracted from hal.h and used separately around the code. MLECO-2931: arm_math lib introduced, cmsis-dsp removed from top level linkage. MLECO-2915: platform related post-build steps. Change-Id: Id718884e22f262a5c070ded3f3f5d4b048820147 Signed-off-by: alexander <alexander.efremov@arm.com>
2022-02-08MLECO-2873: Object detection usecase follow-upIsabella Gottardi
Change-Id: Ic14e93a50fb7b3f3cfd9497bac1280794cc0fc15 Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2022-02-02MLECO-2855: Move profiling outside application/mainIsabella Gottardi
Change-Id: I182bfa55b5ae743d6f0b9f5c766b746202a7968d Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2022-01-27Face detection demo from Emza Visual SenseMichael Levit
Signed-off-by: Michael Levit michaell@emza-vs.com Change-Id: I7958b05b5dbe9a785e0f8a241b716c17a9ca976f
2022-01-25MLECO-2872 Minor improvement to CommonUseCaseUtilsLiam Barry
Replaced overloaded PresentInferenceresults with single function and removed logic to handle arguments which are no longer passed. Change-Id: I745271638fcf78b7121c2a4b95844b752643bac2 Signed-off-by: Liam Barry <liam.barry@arm.com>
2022-01-04MLECO-2835: Remove magic number for ASR-KWSLiam Barry
Replaced ctx.set/get<uint32>(keywordindex) with keyword itself as const std::string& Change-Id: I1811d93548105d6db58e57b88675f9b41e66d914 Signed-off-by: Liam Barry <liam.barry@arm.com>
2021-12-30MLECO-2816: Trivial fix for inference runner output.Kshitij Sisodia
Aligning with output from other use cases, inference runner output now prints the number of inferences as one. Change-Id: Ifc03385a5de86477508fe8c377d481b7140a8429 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2021-12-24MLECO-2599: Replace DSCNN with MicroNet for KWSKshitij Sisodia
Added SoftMax function to Mathutils to allow MicroNet to output probability as it does not nativelu have this layer. Minor refactoring to accommodate Softmax Calculations Extensive renaming and updating of documentation and resource download script. Added SoftMax function to Mathutils to allow MicroNet to output probability. Change-Id: I7cbbda1024d14b85c9ac1beea7ca8fbffd0b6eb5 Signed-off-by: Liam Barry <liam.barry@arm.com>
2021-12-10MLECO-2684: Standardize LCD behaviourRichard Burton
* LCD display behavior for Run All now matches Run Next * Remove repeated code Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I16706187fd4e7a59dd935783f5bfb8731435f381
2021-12-09 MLECO-2082 Fixes and improvements from OOB21.11Ayaan Masood
-Fixed noise_reduction CMake bug cause inference to fail when non-default mac_units passed to build script -Inference complete message added to noise_reduction LCD -Doc update clarfiy vela.ini config file for compiling to non-default memory modes -QOL improvement by adding a note on how to make path variables permenant when configuring Arm compilers Change-Id: Id798b25638260721d8e48468b7a5942bd802d63b
2021-12-07MLECO-2723: Updating RNNoise to use 512 frame sizeRichard Burton
* CMSIS-DSP acceleration will now be used for FFT in RNNoise pre-processing * PESQ scores tested and similar Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Ifeebc041f58867909b27c948950e08f8f39ef276
2021-11-26MLECO-2592: Moving to latest stack of dependenciesRichard Burton
* Currently using 21.11 release candidates Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I696b48c3a4c87c5dca3bbee957049790d900b48e
2021-11-25MLECO-2426: Support for new Corstone-300 app note AN552 rev B.Kshitij Sisodia
These changes will limit the use of FPGA internal SRAM from a max of 4MiB to 2MiB and the BRAM from 2MiB to 1MiB. Change-Id: I69c8e695aee26ff4f235bfe83ffd26efbd66f547
2021-11-18MLECO-2525 Upgrade to C++ 14ayamas01
-Updated CMake to use C++ 14 -Removed cmsis makefile include from tensorflow.cmake -Documentation update -Added more flags for processor in CMake Change-Id: I1c2b72141e98a5cf8bb09176d7c331da3b05b4c5
2021-11-12MLECO-2507: Address coverity warnings & refactor var namesGeorge Gekov
Change-Id: I90fca833d501bbd4db4fd99903b9ffef161a9a6b Signed-off-by: George Gekov <george.gekov@arm.com>
2021-11-10MLECO-2354 MLECO-2355 MLECO-2356: Moving noise reduction to public repositoryRichard Burton
* Use RNNoise model from PMZ * Add Noise reduction use-case Signed-off-by: Richard burton <richard.burton@arm.com> Change-Id: Ia8cc7ef102e22a5ff8bfbd3833594a4905a66057
2021-10-29MLECO-2512: Minor improvement for helper scripts.Kshitij Sisodia
Python scripts 'build_default.py' and 'set_up_default_resources.py' now allow building for non-default Ethos-U configurations: H32, H64, H256 and Y512. Change-Id: Iefdbf135410396c4dc0be73462644725d4b47910
2021-10-25MLECO-2458 and MLECO-2476 [Fix] VWW IFM quant stepIsabella Gottardi
* Changed image->cc conversion to be similar with preprocessing of img_class and vww models: images are scaled maintaing the aspect ration and then the centre crop of the correct size is taken. * VWW applies input quantization info to the int8 image (prior converted to [0,1] float range). * Changed adult_blur to a image without person. * Fix menu print when selecting a specific ifm to run (Select message was displayed after typing something) Change-Id: Ie6cde7ab4835ea842667b87397458a5d32131df3
2021-10-22MLECO-2489: Minor addition for PlatformMathKshitij Sisodia
Adding sine function and allowing FFTs to be computed for cases where the FFT len is not a power of 2. In this case, the naive implementation is used. Option for computing FFT for a complex vector has also been added, although, the CMSIS-DSP flow needs to be tested. Change-Id: Iad9902b946f3088de91a5f67acfb4cb3d0b00457
2021-10-05MLECO-2395: Allow users to select Ethos-U memory modeIsabella Gottardi
Change-Id: Icf09410f12072e8d7850dd1e540c3243af24ed09
2021-10-04MLECO-2407: Correction for Cortex-M55 core clockKshitij Sisodia
AN547 sets the core clock for both M55 and U55 to 32MHz, while the blocks on APB use a different clock of 25MHz. Note: this will have not change any of the MPS3 FPGA profiling numbers (cycle counts and elapsed time in milliseconds) for Cortex-M55 as this was already using the correct counters under MPS3. The only difference would be that the system tick interrupt will fire every 10ms as intended instead of every 7.8125 ms as it is doing with current software. Change-Id: I77cd269c7c02f5d6e65328eb285185bae74e4e36