Part Number: TMS320F28P550SJ
I cannot perform NPU compilation for F28P55 devices using tinyml-tensorlab. No matter how I adjust the configurations, the tool always attempts CPU compilation by default. Meanwhile, the run log fails to indicate the specific reasons why the model falls back to CPU execution instead of being offloaded to the NPU. My ONNX model is a fully-connected network with input shape 1×64×64×1.
class SimpleFCN(nn.Module):
def __init__(self):
super().__init__()
self.layers = nn.Sequential(
nn.Linear(1, 64),
nn.ReLU(),
nn.Linear(64, 64),
nn.ReLU(),
nn.Linear(64, 1)
)
def forward(self, x):
return self.layers(x)
test.yaml:
common:
target_module: 'timeseries'
task_type: 'generic_timeseries_forecasting'
target_device: F28P55
run_name: '{date-time}/{model_name}'
dataset:
enable: False
dataset_name: test_model
feature_extraction:
feature_extraction_name: None
data_processing_feature_extraction:
feature_extraction_name: None
training:
enable: False
model_name: 'fcn'
compilation:
output_int: false
enable: True
preset_name: 'compress_npu_layer_data'
model_path: 'E:\study\code\tinyml\tinyml-tensorlab\tinyml-modeloptimization\fcn_sin_model_quantfx.onnx'
run.log
python tinyml_modelmaker\run_tinyml_modelmaker.py test.yaml
argv: ['tinyml_modelmaker\\run_tinyml_modelmaker.py', 'test.yaml']
Auto-detected data_dir='files' for task_category='timeseries_forecasting'
Run params is at: E:\study\code\tinyml\tinyml-tensorlab\tinyml-modelmaker\data\projects\test_model\run\20260521-111504/fcn\run.yaml
INFO: root : TinyVerse Toolchain Version: 01_03_00
INFO: root : Script: ..\..\..\..\..\desktop\python3.10\LightRAG\tinyml-tensorlab\lib\site-packages\tinyml_tinyverse\references\common\compilation.py
INFO: root : Target: c, ti-npu type=soft
INFO: root : Compilation settings - skip_normalize: False ('false' for float models, 'true' otherwise)
INFO: root : Compilation settings - output_int: False ('false' for float models, 'true/false' otherwise)
INFO: root : Compilation settings - ti-npu type: soft ('soft' for float models/generic quantized models, 'soft/hard' otherwise)
INFO: root.gen_artifacts : Changing directory to: E:\study\code\tinyml\tinyml-tensorlab\tinyml-modelmaker\data\projects\test_model\run\20260521-111504\fcn\compilation
INFO: root.gen_artifacts : Calling TVM to generate artifacts:
INFO: ti_mcu_nnc : ============================================================
INFO: ti_mcu_nnc : TI Optimized Software Library Offloading Report
INFO: ti_mcu_nnc : ============================================================
INFO: ti_mcu_nnc :
INFO: ti_mcu_nnc : LAYER/OPERATOR COUNT SUMMARY
INFO: ti_mcu_nnc : ============================================================
INFO: ti_mcu_nnc :
INFO: ti_mcu_nnc : Layer Patterns Offloaded
INFO: ti_mcu_nnc : ------------------------------------------------------------
INFO: ti_mcu_nnc : Layer Pattern Count
INFO: ti_mcu_nnc : ------------------------------------------------------------
INFO: ti_mcu_nnc :
INFO: ti_mcu_nnc : Operators not Offloaded
INFO: ti_mcu_nnc : ------------------------------------------------------------
INFO: ti_mcu_nnc : Operator Count
INFO: ti_mcu_nnc : ------------------------------------------------------------
INFO: ti_mcu_nnc : qnn.quantize 1
INFO: ti_mcu_nnc : qnn.dense 3
INFO: ti_mcu_nnc : cast 3
INFO: ti_mcu_nnc : nn.bias_add 2
INFO: ti_mcu_nnc : maximum 2
INFO: ti_mcu_nnc : qnn.requantize 3
INFO: ti_mcu_nnc : add 1
INFO: ti_mcu_nnc : qnn.dequantize 1
INFO: ti_mcu_nnc :
INFO: ti_mcu_nnc : ============================================================
INFO: ti_mcu_nnc :
INFO: ti_mcu_nnc :
INFO: ti_mcu_nnc : MODEL PARTITION - TOPOLOGICAL VIEW
INFO: ti_mcu_nnc : ============================================================
INFO: ti_mcu_nnc : Layer/Operator Offloaded
INFO: ti_mcu_nnc : ------------------------------------------------------------
INFO: ti_mcu_nnc : Input
INFO: ti_mcu_nnc : qnn.quantize [ ]
INFO: ti_mcu_nnc : qnn.dense [ ]
INFO: ti_mcu_nnc : cast [ ]
INFO: ti_mcu_nnc : nn.bias_add [ ]
INFO: ti_mcu_nnc : maximum [ ]
INFO: ti_mcu_nnc : qnn.requantize [ ]
INFO: ti_mcu_nnc : qnn.dense [ ]
INFO: ti_mcu_nnc : cast [ ]
INFO: ti_mcu_nnc : nn.bias_add [ ]
INFO: ti_mcu_nnc : maximum [ ]
INFO: ti_mcu_nnc : qnn.requantize [ ]
INFO: ti_mcu_nnc : qnn.dense [ ]
INFO: ti_mcu_nnc : cast [ ]
INFO: ti_mcu_nnc : add [ ]
INFO: ti_mcu_nnc : qnn.requantize [ ]
INFO: ti_mcu_nnc : qnn.dequantize [ ]
INFO: ti_mcu_nnc : Output
INFO: ti_mcu_nnc : ============================================================
INFO: ti_mcu_nnc :
INFO: ti_mcu_nnc : ============================================================
INFO: ti_mcu_nnc : TI Model Library Memory Usage (mod.a)
INFO: ti_mcu_nnc : ============================================================
INFO: ti_mcu_nnc : Code: 816 bytes ( 0.80 KB)
INFO: ti_mcu_nnc : RO Data: 6352 bytes ( 6.20 KB)
INFO: ti_mcu_nnc : RW Data: 178 bytes ( 0.17 KB)
INFO: ti_mcu_nnc : Total: 7346 bytes ( 7.17 KB)
INFO: ti_mcu_nnc : ============================================================
INFO: TVMC : TI memory calculation completed successfully
INFO: root.gen_artifacts : Changing directory back to: E:\study\code\tinyml\tinyml-tensorlab\tinyml-modelmaker
INFO: root.remove_intermittent_files: Removing intermittent files from: E:\study\code\tinyml\tinyml-tensorlab\tinyml-modelmaker\data\projects\test_model\run\20260521-111504\fcn\compilation
Compiled model is at: E:\study\code\tinyml\tinyml-tensorlab\tinyml-modelmaker\data\projects\test_model\run\20260521-111504\fcn\compilation