Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on how to deploy, debug, and optimize AI models on ST microcontrollers, microprocessors, and smart sensors.
Most recent activity
I'm trying to build a .npz file with multiple input and output data.I achieved to add just one input and output using this code:np.savez('STM32TestData.npz', m_inputs_1=input_1, m_outputs_1=output_1, ) This works fine, but just one pair of data.Adding more keys as 'm_inputs_2', 'm_outputs_2' didn't worked.np.savez('STM32TestData.npz', m_inputs_1=input_1, m_outputs_1=output_1, m_inputs_2=input_2, m_outputs_2=output_2, ) E204(ValParamError): number of input arrays is invalid, 2 instead 1Also I tried to save data as dictionaries with keys 'm_inputs_idx', 'm_outputs_idx' with 'idx' from 1 to N, but the same error occurred.np.savez('STM32TestData.npz', **inputs_dict, **outputs_dict) E204(ValParamError): number of input arrays is invalid, 439 instead 1What is the correct way to do it?Additionally, what does 'c_inputs_<idx> and c_outputs_<idx> (multiple I
Hello All,I was wondering whether the 'People counting' example (in FP-AI-VISION1's function pack of ST32H747-DISCO) can be re-trained for custom images. For example, I want to detect the position of an object (let's say a cat) in an image using the same framework of the 'People counting' project.Is there any tutorial or any similar implementation? Does ST provide any GIT-Hub link for that? Is it feasible with the current version?Thanks in advance.
I am importing a tf lite model using tf lite runtime library in XcubeAI 7.0. I also tried with XCube 6.0. also complained the same problem. could someone help me with me ?
Project: MEMS&Sensors "On-Life" series --- Launching project
I'm trying to create an AI Vision application based on the STM32H747I_DISCO_FoodReco_Quantized application. I've made a custom board with the STM32H743ZI microcontroller. I believe the problem is that the data is not correctly written to the external SDRAM. The line data from the camera that is written to 0x30000000 through DMA seems alright, and from my understanding, the data in 0x30000000 is used to build up a frame in the capturebuffer in the external SDRAM through MDMA. This capturebuffer is then transferred to a framebuffer in the SDRAM and the framebuffer is then used to perform the inference on.There is data written to the framebuffer in my screenshot below, but it has a lot of F's seperating the data. I have no clue why this is happening. Is this a MDMA configuration error? Or a SDRAM configuration error? Possibly both? What I did is I connected my custom board to an external SDRAM, that is different from the SDRAM used on the STM32H747I-DISCO board. The difference here i
When I use cubemx.ai to analyze a onnx model ,I get a error tells list index out of range,what should I do? When I analyze another onnx model ,it occur another error 'params set for InstanceNormalization layer'Could anyone help me?Thanks:confounded_face:
In developing some activity classification models using the LSM6DSOX, I have noticed that some information regarding the computation of features appears absent from the documentation. For some features (mean, min, max, maybe more), it would appear that the raw components (X, Y, and Z) as well as the norm are scaled by a factor of 1/1000; similarly, the norm squared variable seems to get scaled by 1/1,000,000. However, this does not seem to hold for other features like variance or energy.This is based on analysis of results returned from the Unico API (as accessed from this repo: https://github.com/STMicroelectronics/STMems_Machine_Learning_Core/tree/master/tools/mlc_python_script). Below I have displayed two printouts comparing the Unico result and manual computation of features in Python.Max value:Unico results: F27_MAX_on_ACC_X F28_MAX_on_ACC_V F29_MAX_on_ACC_V2 0 0.003998 0.006924 0.000048 1 0.003998 0.006924 0.000048 Manual results: A_X [mg] ACC_V ACC_V2 0 4.0 6.928203 48.
X-CUBE-Ai offers ways to implement custom layers via a custom layer json file. The documentation is a little vague on what operations can be used in the "op" field. Concretely I would like to simply just skip some of the custom layers in my model, since they are purely relevant for training (like Dropout). What would be the simplest way to get CUBE-AI to skip a custom layer just like it does for Dropout, without introducing any unnecessary operations?
Our custmer want to free design gesture or other motion detect. who can share some documents about filter configuration and features setting. When to use what filter, and when to use what features?
Hi everyone, I developed and trained a simple neural network in MatLab. I exported it as an ONNX file and then I analysed it with stm32ai application.This is the message I get:"INTERNAL ERROR: Your model ir_version is higher than the checker's."I check the version of stm32ai application:Neural Network Tools for STM32AI v1.5.1 (STM.ai v7.0.0-RC8) - Python version : 3.7.9 - Numpy version : 1.19.5 - TF version : 2.5.0 - TF Keras version : 2.5.0 - ONNX version : 1.6.0 - ONNX RT version : 1.7.0I used the MatLab command "exportONNXNetwork()" and its documentation says that this function supports ONNX intermediate representation version 6.From ONNX versioning table looks like ONNX 1.6.0 supports IR version 6.Can I change the IR version in stm32ai application? How can I do it?Thanks in advance.
I'm running your acoustic_scene_classification.ipynb, available in FP-AI-SENSING1, the Middleware ASC (acoustic scene classification):https://www.st.com/en/embedded-software/fp-ai-sensing1.htmlWhen I try to import and convert data, I get the following error warning:---------------------------------------------------------------------------OSError Traceback (most recent call last)<ipython-input-9-87cd88dbb12e> in <module> 1 dataset_dir = './Dataset' 2 meta_path = path = os.path.join(dataset_dir, 'TrainSet.txt')----> 3 fileset = np.loadtxt(meta_path, dtype=str) 4 5 # 3 classes : 0 indoor, 1 outdoor, 2 in-vehicleC:\ST\Anaconda3\lib\site-packages\numpy\lib\npyio.py in loadtxt(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin, encoding, max_rows, like) 1063 raise ValueError("Wrong number of columns at line %d" 1064 % line_num)-> 1065 1066 # Convert each value according to its column and store 1067 items = [conv(val) for (conv, val) in zip(co
Hello,I'm having some problems using Unico-GUI to configure the MLC of an LSM6DSOX. I'm trying to develop an application using four filters (actually, the same filter applied on the XYZ and V signals of the Accelerometer and Gyroscope), but the Unico software doesn't allow me to select more than 31 features.I'm using Unico-GUI (STSW-MKI109M) on a Macintosh machine with macOS Monterey Version 12.0.1. I have tried both versions of Unico-GUI (9.11.0 and 9.10.0), and I have always gotten the same problem.How can I configure the software to select a higher number of features?Thanks for your help!
Hi. I currently try to do FP-AI_Vision Person Detection . so I would like to be setting STM32H747i- DISCO board using .ioc . but I can't find .ioc file from person detection directory file. so How can I set .ioc file plz
In the recent workshop for "Enabling Intelligence at the Edge withSTWIN and NanoEdge AI Studio", one of the requirements was to download FP-SNS-DATALOG1 V1.2.0. The current version to download is 1.3.0. The ST Tool Validator is giving me errors on the FP-SNS-DATALOG1 and Python Libraries. Am I okay to ignore these errors and use V1.3.0 or do I need V1.2.0? Where can I download V1.2.0?
Hi, I saw the New function pack which was released for the Sensor tile box- FP-AI-CXTAWARE1.In that its mentioned, Nano edge Ai studio for ASC & HAR. Can we train the model using Cartesiam Nano edge? If so, how to use audio files in that? Thanks,shankari
..
Hello,I’ve been trying to figure out how fast the machine learning core on the LSM6DSOX can generate an output once the condition for the change has occurred. I am working on a design where feature detection is needed in less than 50ms. I am using the Unico software and an STEVAL-MKI197V1 module with the STEVAL-MKI109V3 board. From reading the datasheet and the application note AN5259, my understanding of how the Machine learning core (MLC) works is the following: - samples are taken until the sampling windows is filled. - once the window is full, statistical parameters are calculated from the samples in the window. - at the start of the MLC period, the last stored statistical parameters calculated are used to evaluate the MLC decision tree. - if the decision tree result changes, the tree values is updated, and an interrupt is generatedLet’s consider the following case as an example: - a sensor output data rate of 833 Hz - a window length of 8 samples - a Machine learning core output d
When trying to use ai_network_ai_params, I get this error during the build process(my model name is sine_model). How do you fix this? Build error message:../Middlewares/ST/AI/Inc/ai_platform.h:323:4: error: 'union <anonymous>' has no member named 'format' 323 | { .format = (ai_buffer_format)(format_),\ | ^~~~~~../X-CUBE-AI/App/sine_model_data.h:46:3: note: in expansion of macro 'AI_BUFFER_OBJ_INIT' 46 | AI_BUFFER_OBJ_INIT( \ | ^~~~~~~~~~~~~~~~~~../Core/Src/main.c:121:5: note: in expansion of macro 'AI_SINE_MODEL_DATA_WEIGHTS' 121 | AI_SINE_MODEL_DATA_WEIGHTS(ai_sine_model_data_weights_get()), | ^~~~~~~~~~~~~~~~~~~~~~~~~~../Middlewares/ST/AI/Inc/ai_platform.h:324:4: error: 'union <anonymous>' has no member named 'n_batches' 324 | .n_batches = (n_batches_), \ | ^~~~~~~~~../X-CUBE-AI/App/sine_mode
How can I solve it? Which timeout is it? Is it a timeout of STM32CubeAI or something set on the board?I'm using the STM32F746NG Discovery board, and I'm validating the network making use also of the external SDRAM.I'm sure the procedure is correct because with a lighter model everything works fine.See the screenshot attached.Thanks
I am using a Nucleo-F676ZI and trying to run a dnn on the mcu. I can run the NN using the "application template" but I want to use the "validate on target" in order to obtain runtime without developing the data transfer from the host system to the mcu myself.Steps to reprocude: 1: MCU selector2: Use x-cube-ai package with the validation application3: Add USART communication. Im using ST-Link so the virtual com port should be connected to USART3. 4: Add the network and run analyze / validate on desktop. (works fine)5: Run validate on target: Which results in the following error: Is there anything I am missing ? in order to run "validate on target" Or any steps to get a detailed error message?
I'm new to use STM32 boards. I have encountered problems when I try to deploy a pre-trained NN model on STM32L4R5ZI-P. When I have converted my NN model by using STM32cubeAI embedded in STM32cubeMX. It gives me a project folder. What should I use to flash the project to the board? Only IAR Embedded IDE?Do I have another option like using STM32cubeIDE? And how can I do that? And how can I monitor the output from the board?PS: I'm really confused about all these STM32 softwares, they are so many and barely know which one is doing what....
Hey guys,could you help me out and provide some guidance in speech recognition small project.I using STM32L476 and i want to create speech recognition on this thing. I've got an model created in Python for 2-3 simple words and how do i go from here, i need to be able to upload a file to my stm32 by usb cable, let's say audio.wav with word Yes in this, and i need to get an answer from stm32 with word "yes" as text. How do i do it? any help please?
Hi ST,I would like to use the project 'People counting' in FP-AI-VISION1's function pack on my ST32H747-DISCO board + B-CAMS-OMV. The idea is to replace the model with a specific object instead of a person.Now there is only a binary file available to load onto the MCU. Would there be a way possible to get the STMCubeIDE project of the people counting application? Or is there a framework available for object detection? I did manage to get another image classification model on my board.Thanks in advance.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.