Inference Basic Sample Application
Description
The Inference Basic sample application estimates inference parameters of your TFLite models by running the model directly from SRAM. It reports key error metrics such as MSE, MAE, and PSNR to help evaluate model accuracy for deployment.
Prerequisites
Choose one setup path:
Building and Flashing the Example using VS Code and CLI
Use the VS Code flow described in the SR110 guide and the VS Code Extension guide:
Build (VS Code):
Open Build and Deploy -> Build Configurations.
Select inference_basic_sample_app in the Application dropdown.
Build with Build (SDK + App) for the first build, or Build App for rebuilds.

Build (CLI):
From
<sdk-root>/examples, build the example:cd <sdk-root>/examples export SRSDK_DIR=<sdk-root> make cm55_inference_basic_sample_app_defconfig BOARD=SR110_RDK BUILD=SRSDK
Rebuild the application using pre-built package:
make cm55_inference_basic_sample_app_defconfig BOARD=SR110_RDK or make
Flash and Image Generation (VS Code):
Open the Astra MCU SDK VS Code Extension and connect to the Debug IC USB port on the Astra Machina Micro Kit.
Refer to the Astra MCU SDK User Guide for detailed setup steps.
Generate firmware binaries using Build and Deploy -> Image Conversion.
Select the required
.axfor.elffile. If the use case is built using the VS Code extension, the file path will be auto-populated.

Flash the application using Build and Deploy -> Image Flashing.
Select SWD/JTAG as the interface.
Choose the respective image bins and click Run.

Note: This sample runs models from SRAM, so separate model binary conversion/flashing is not required.
Running the Application using VS Code Extension
Connect a USB cable to the Application SR110 USB port on the Astra Machina Micro board and press RESET.
For logging output, click SERIAL MONITOR and connect to the DAP logger port on J14.
To make it easier to identify, ensure only J14 is plugged in (not J13).
The logger port is not guaranteed to be consistent across OSes. As a starting point:
Windows: try the lower-numbered J14 COM port first.
Linux/macOS: try the higher-numbered J14 port first.
If you do not see logs after a reset, switch to the other J14 port.
Expected Logs
SR100.Logger warning 1767706533.876985 LOGR 0 M55 00:11:55:827:882 Changing logger interface to LOGGER_IF_UART_1_CONSOLE
SR100.Logger info 1767706533.882348 SYS 0 M55 00:00:00:000:024 Application drivers initialization complete without errors.
SR100.Logger info 1767706533.884347 SYS 0 M55 00:00:00:003:780
SR100.Logger info 1767706533.889291 SYS 0 M55 00:00:00:004:967 sr110 SDK version 1.3.0
SR100.Logger info 1767706533.891269 INFR 0 M55 00:00:00:007:184 Loading model from memory
SR100.Logger info 1767706533.893272 INFR 0 M55 00:00:00:009:505 Arena size provided : 648000
SR100.Logger info 1767706533.895277 INFR 0 M55 00:00:00:011:911 Memory used by the model : 645340 bytes
SR100.Logger info 1767706533.898272 INFR 0 M55 00:00:00:014:796 Run inference 3 times
SR100.Logger info 1767706533.899272 INFR 0 M55 00:00:00:016:897
SR100.Logger warning 1767706533.900269 *this message is not in proper format!:Begin inference
SR100.Logger info 1767706533.935272 INFR 0 M55 00:00:00:062:125 model callback arg : 0
SR100.Logger info 1767706533.939269 INFR 0 M55 00:00:00:062:140 Invoke finished
SR100.Logger info 1767706533.94328 INFR 0 M55 00:00:00:062:171 output[0] quantization scale=0.054609, zero_point=1
SR100.Logger info 1767706533.948315 INFR 0 M55 00:00:00:062:192 Comparing inference results vs expected results from Python
SR100.Logger info 1767706533.951276 INFR 0 M55 00:00:00:062:209 This model has 3 output tensors
SR100.Logger info 1767706533.95627 INFR 0 M55 00:00:00:064:364 Result for output #0
SR100.Logger info 1767706533.957328 INFR 0 M55 00:00:00:064:378 Max Diff : 0
SR100.Logger info 1767706533.959302 INFR 0 M55 00:00:00:064:392 MAE : 0.000000
SR100.Logger info 1767706533.961271 INFR 0 M55 00:00:00:064:406 MSE : 0.000000
SR100.Logger info 1767706533.963271 INFR 0 M55 00:00:00:064:420 RMSE : 0.000000
SR100.Logger info 1767706533.964287 INFR 0 M55 00:00:00:064:434 PSNR : inf
SR100.Logger info 1767706533.968283 INFR 0 M55 00:00:00:064:733 Result for output #1
SR100.Logger info 1767706533.970285 INFR 0 M55 00:00:00:064:747 Max Diff : 0
SR100.Logger info 1767706533.973285 INFR 0 M55 00:00:00:064:761 MAE : 0.000000
SR100.Logger info 1767706533.974285 INFR 0 M55 00:00:00:064:775 MSE : 0.000000
SR100.Logger info 1767706533.975286 INFR 0 M55 00:00:00:064:789 RMSE : 0.000000
SR100.Logger info 1767706533.977285 INFR 0 M55 00:00:00:064:803 PSNR : inf
SR100.Logger info 1767706533.978799 INFR 0 M55 00:00:00:066:387 Result for output #2
SR100.Logger info 1767706533.97982 INFR 0 M55 00:00:00:066:401 Max Diff : 0
SR100.Logger info 1767706533.982973 INFR 0 M55 00:00:00:066:415 MAE : 0.000000
SR100.Logger info 1767706533.985975 INFR 0 M55 00:00:00:066:429 MSE : 0.000000
SR100.Logger info 1767706535.960534 INFR 0 M55 00:00:00:066:443 RMSE : 0.00000002089050:[0][INF][INFR]:model callback arg : 0
SR100.Logger info 1767706535.961532 INFR 0 M55 00:00:02:089:065 Invoke finished
SR100.Logger info 1767706535.963532 INFR 0 M55 00:00:02:089:186 output[0] quantization scale=0.054609, zero_point=1
SR100.Logger info 1767706535.964532 INFR 0 M55 00:00:02:089:207 Comparing inference results vs expected results from Python
SR100.Logger info 1767706535.967539 INFR 0 M55 00:00:02:089:225 This model has 3 output tensors
SR100.Logger info 1767706535.98154 INFR 0 M55 00:00:02:091:378 Result for output #0
SR100.Logger info 1767706535.983976 INFR 0 M55 00:00:02:091:393 Max Diff : 0
SR100.Logger info 1767706535.985975 INFR 0 M55 00:00:02:091:407 MAE : 0.000000
SR100.Logger info 1767706535.990889 INFR 0 M55 00:00:02:091:422 MSE : 0.000000
SR100.Logger info 1767706535.993882 INFR 0 M55 00:00:02:091:437 RMSE : 0.000000
SR100.Logger info 1767706535.996883 INFR 0 M55 00:00:02:091:452 PSNR : inf
SR100.Logger info 1767706536.000886 INFR 0 M55 00:00:02:091:750 Result for output #1
SR100.Logger info 1767706536.002885 INFR 0 M55 00:00:02:091:765 Max Diff : 0
SR100.Logger info 1767706536.005884 INFR 0 M55 00:00:02:091:779 MAE : 0.000000
SR100.Logger info 1767706536.00931 INFR 0 M55 00:00:02:091:794 MSE : 0.000000
SR100.Logger info 1767706536.011309 INFR 0 M55 00:00:02:091:809 RMSE : 0.000000
SR100.Logger info 1767706536.01331 INFR 0 M55 00:00:02:091:824 PSNR : inf
SR100.Logger info 1767706536.014308 INFR 0 M55 00:00:02:093:407 Result for output #2
SR100.Logger info 1767706536.017312 INFR 0 M55 00:00:02:093:421 Max Diff : 0
SR100.Logger info 1767706536.019313 INFR 0 M55 00:00:02:093:435 MAE : 0.000000
SR100.Logger info 1767706536.021311 INFR 0 M55 00:00:02:093:450 MSE : 0.000000
SR100.Logger info 1767706537.983486 INFR 0 M55 00:00:02:093:465 RMSE : 0.00000004116068:[0][INF][INFR]:model callback arg : 0
SR100.Logger info 1767706537.98552 INFR 0 M55 00:00:04:116:084 Invoke finished
SR100.Logger info 1767706537.988512 INFR 0 M55 00:00:04:116:202 output[0] quantization scale=0.054609, zero_point=1
SR100.Logger info 1767706538.004512 INFR 0 M55 00:00:04:116:223 Comparing inference results vs expected results from Python
SR100.Logger info 1767706538.006511 INFR 0 M55 00:00:04:116:241 This model has 3 output tensors
SR100.Logger info 1767706538.00951 INFR 0 M55 00:00:04:118:394 Result for output #0
SR100.Logger info 1767706538.012603 INFR 0 M55 00:00:04:118:409 Max Diff : 0
SR100.Logger info 1767706538.015199 INFR 0 M55 00:00:04:118:423 MAE : 0.000000
SR100.Logger info 1767706538.018215 INFR 0 M55 00:00:04:118:438 MSE : 0.000000
SR100.Logger info 1767706538.02256 INFR 0 M55 00:00:04:118:453 RMSE : 0.000000
SR100.Logger info 1767706538.026023 INFR 0 M55 00:00:04:118:468 PSNR : inf
SR100.Logger info 1767706538.029045 INFR 0 M55 00:00:04:118:766 Result for output #1
SR100.Logger info 1767706538.03004 INFR 0 M55 00:00:04:118:781 Max Diff : 0
SR100.Logger info 1767706538.033077 INFR 0 M55 00:00:04:118:795 MAE : 0.000000
SR100.Logger info 1767706538.040037 INFR 0 M55 00:00:04:118:810 MSE : 0.000000
SR100.Logger info 1767706538.041401 INFR 0 M55 00:00:04:118:825 RMSE : 0.000000
SR100.Logger info 1767706538.042417 INFR 0 M55 00:00:04:118:840 PSNR : inf
SR100.Logger info 1767706538.043418 INFR 0 M55 00:00:04:120:423 Result for output #2
SR100.Logger info 1767706538.047416 INFR 0 M55 00:00:04:120:438 Max Diff : 0
SR100.Logger info 1767706538.051419 INFR 0 M55 00:00:04:120:452 MAE : 0.000000
SR100.Logger info 1767706538.056669 INFR 0 M55 00:00:04:120:467 MSE : 0.000000
SR100.Logger info 1767706539.985641 INFR 0 M55 00:00:04:120:482 RMSE : 0.000000