Hi,
I’m hitting an internal SDK error when applying matmul_decomposition in a model script (ALLS) during quantization (runner.optimize()), on a custom SuperGlue-based model (attention-heavy, ONNX → HAR).
ALLS line used:
pre_quantization_optimization(matmul_decomposition, layers=[hailo_superglue_full/matmul9], policy=enabled, precision_mode=a16_w16)
Error:
ValueError: "LayerPrecisionConfig" object has no field "precision"
Full traceback:
File ".../hailo_model_optimization/flows/optimization_flow.py", line 396, in setup_optimization
self._switch_decompose_matmul()
File ".../hailo_model_optimization/flows/optimization_flow.py", line 853, in _switch_decompose_matmul
algo.run()
File ".../hailo_model_optimization/algorithms/matmul_decompose/matmul_decompose_algo.py", line 56, in _run_int
decomp.update_mo_config(self._model_config)
File ".../hailo_model_optimization/algorithms/matmul_decompose/matmul_decompose_blocks.py", line 260, in update_mo_config
ps.precision = presicion
File ".../pydantic/v1/main.py", line 357, in __setattr__
raise ValueError(f'"{self.__class__.__name__}" object has no field "{name}"')
ValueError: "LayerPrecisionConfig" object has no field "precision"
This fails during setup_optimization(), before any model-specific quantization runs — so it seems to happen purely from having a matmul_decomposition directive present at all, regardless of the target layer or precision_mode.
Environment:
-
Hailo DFC / hailo_sdk_client version: 3.34
-
Hailo Dataflow Compiler v3.34.0
-
Target hw_arch: hailo8 / hailo8l
-
Python: 3.10
Question: Is this a known issue with matmul_decomposition in this DFC release? Is there a fixed version, or a different parameter name/schema expected for LayerPrecisionConfig in this build? Any guidance on the correct way to invoke precision_mode=a16_w16 decomposition would be appreciated.
Thanks!