I’m working on STM32l476g-DISCO and I want to try the Artifical intelligence feature using STM32 CUBEMX but I couldn’t see the output (prediction/decision) neither understand the validation (validation on desktop and validation on target)
I was following the ST Microelectronics Demo: https://www.youtube.com/watch?v=szMGedsp9jc&t=314s
Can someone please explain the results of the output of the validation on desktop and the validation on the target, and how can I see the decision output?
If I enter a custom data of someone ‘sitting’ for example how can I see if my model is working perfectly on the STM32?
2
Answers
I think you are asking two questions.
1) For the validation, I think that it basically means that it shows how different are the results in the original NN (done in python and with Keras) and the results in the converted C++ network (implemented in your desktop and in the microprocessor)
2) If you want to see the network in action and predicting something I recommend the following example:
Hand written digits recognition on STM32F4
In the code you can see the original NN in python and then the implementation of it in C to be used to recognize digits.
Take special attention to the function
MX_X_CUBE_AI_Process(in_data,out_data,1);
which is where the prediction occurs.in addition to what kansaiTobot has said,
from CubeMX-AI you have three modes of operation
1- Validation ==> compare the result of model implemented in Python against the C/C++ model , this mode has two options you can do validaion of C/C++ on Host PC and you can do it on target micro-Controller
2- System Performance ==> measure the required CPU load and memory usage for the NN
3- Application template ==> here you can supply your input data and get the result from the neural network
you can find more information in the user manual AI on STM32
“Getting started with X-CUBE-AI Expansion Package for Artificial Intelligence (AI)”