If the model contains CPU-only operations, the model is not converted to the Ethos-U55 + CPU target.
When I converted the model with Vela, a warning appeared:
Warning: No configuration file specified. Using a default of ['C:\\Users\\user\\miniconda3\\envs\\ethos\\lib\\site-packages\\ethosu\\config_files\\Arm\\vela.ini']. Compilation may be invalid or non-optimal.
Warning: No system configuration specified. Using a default of Ethos_U55_High_End_Embedded. Compilation may be invalid or non-optimal.
Warning: No memory mode specified. Using a default of Shared_Sram. Compilation may be invalid or non-optimal.
Info: BATCH_MATMUL '.../MatMul_1' is a CPU only op
Info: BATCH_MATMUL '.../MatMul' is a CPU only op
Warning: TRANSPOSE '.../transpose_3;;.../transpose_1' is not supported on the NPU. Placing on CPU instead
- The following shape/permutations are supported for transpose:
When ifm rank is 2: WxC -> CxW
When ifm rank is 3: HxWxC -> WxHxC, 1xWxC -> 1xCxW, Hx1xC -> Cx1xH
When ifm rank is 4: 1xHxWxC -> 1xWxHxC, 1x1xWxC -> 1x1xCxW, 1xHx1xC -> 1xCx1xW
Op has ifm_shape: [1, 197, 4, 16] and permutation is: [0 2 3 1]
I expected that the CPU would execute MatMul, while the Ethos-U55 would handle Fully-Connected layers and Conv2D.
However, when I converted the same model using Mera, the following error occurred with error code 3221226505:
(ethos) C:\Users\user\Desktop\vela\scripts\scripts>python mcu_deploy.py --ethos --ref_data ../models_int8_4 deploy_qtzed_ethos4
Compiling model..
[2025-12-04 11:34:29.481] [info] Loading and converting TFLite model ...
[2025-12-04 11:34:29.481] [info] TFLite Model Version: 3
Command 'C:\Users\user\miniconda3\envs\ethos\Lib\site-packages\mera\bin_utils\fe_tflite_cli C:\Users\user\Desktop\vela\scripts\scripts\deploy_qtzed_ethos4\model_no_ospi\build\MCU\deploy_cfg.json' returned non-zero exit status 3221226505.
If I disassemble the MatMul into a Fully Connected layer(with tensorflow 2.6.0 tflite convert), an error occurs with error code 3221226505:
(ethos) C:\Users\user\Desktop\vela\scripts\scripts>python mcu_deploy.py --ethos --ref_data ../models_int8_2 deploy_qtzed_ethos2
Compiling model...
[2025-12-04 10:49:03.383] [info] Loading and converting TFLite model ...
[2025-12-04 10:49:03.384] [info] TFLite Model Version: 3
[2025-12-04 10:49:03.388] [info] Converting to canonical ...
[2025-12-04 10:49:03.395] [info] Converting to target IR ...
[2025-12-04 10:49:03.399] [info] Dividing and exporting regions ...
[2025-12-04 10:49:03.404] [info] Ethos-U support is enabled, matching patterns for target Ethos-U55
[2025-12-04 10:49:03.417] [info] [DivideByTarget] Assembled 11 final regions:
[2025-12-04 10:49:03.417] [info] + C_CODEGEN = 5 regions.
[2025-12-04 10:49:03.417] [info] + ARM_ETHOS_U55 = 6 regions.
Command 'C:\Users\user\miniconda3\envs\ethos\Lib\site-packages\mera\bin_utils\ccodegen\c_codegen C:\Users\user\Desktop\vela\scripts\scripts\deploy_qtzed_ethos2\model_no_ospi\build\MCU\compilation C:\Users\user\Desktop\vela\scripts\scripts\deploy_qtzed_ethos2\model_no_ospi\build\MCU\compilation\src ' returned non-zero exit status 3221226505.
If the model contains CPU-only operations, the model is not converted to the Ethos-U55 + CPU target.
When I converted the model with Vela, a warning appeared:
I expected that the CPU would execute MatMul, while the Ethos-U55 would handle Fully-Connected layers and Conv2D.
However, when I converted the same model using Mera, the following error occurred with error code 3221226505:
If I disassemble the MatMul into a Fully Connected layer(with tensorflow 2.6.0 tflite convert), an error occurs with error code 3221226505: