Hi,
while trying to optimize our model (LPRNet) I got following error:
info] Starting Model Optimization
[warning] Reducing optimization level to 0 (the accuracy won't be optimized and compression won't be used) because there's no available GPU
[warning] Running model optimization with zero level of optimization is not recommended for production use and might lead to suboptimal accuracy results
[info] Model received quantization params from the hn
[info] Starting Mixed Precision
[info] Mixed Precision is done (completion time is 00:00:00.23)
[info] LayerNorm Decomposition skipped
[<hailo_model_optimization.acceleras.hailo_layers.hailo_avgpool_v2.HailoAvgPool object at 0x7b4e643c0f10>, <hailo_model_optimization.acceleras.hailo_layers.hailo_avgpool_v2.HailoAvgPool object at 0x7b4e64303ca0>, <hailo_model_optimization.acceleras.hailo_layers.hailo_avgpool_v2.HailoAvgPool object at 0x7b4e640469b0>, <hailo_model_optimization.acceleras.hailo_layers.hailo_avgpool_v2.HailoAvgPool object at 0x7b4e63d83100>]
Traceback (most recent call last):
File "/home/username/hailo/hailo-prototyping/opt-compile.py", line 65, in <module>
runner.optimize(calib_dataset)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_sdk_common/states/states.py", line 16, in wrapped_func
return func(self, *args, **kwargs)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_sdk_client/runner/client_runner.py", line 2093, in optimize
self._optimize(calib_data, data_type=data_type, work_dir=work_dir)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_sdk_common/states/states.py", line 16, in wrapped_func
return func(self, *args, **kwargs)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_sdk_client/runner/client_runner.py", line 1935, in _optimize
self._sdk_backend.full_quantization(calib_data, data_type=data_type, work_dir=work_dir)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/sdk_backend.py", line 1045, in full_quantization
self._full_acceleras_run(self.calibration_data, data_type)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/sdk_backend.py", line 1229, in _full_acceleras_run
optimization_flow.run()
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/tools/orchestator.py", line 306, in wrapper
return func(self, *args, **kwargs)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/flows/optimization_flow.py", line 326, in run
step_func()
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/tools/orchestator.py", line 250, in wrapped
result = method(*args, **kwargs)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/tools/subprocess_wrapper.py", line 124, in parent_wrapper
func(self, *args, **kwargs)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/flows/optimization_flow.py", line 342, in step1
self.pre_quantization_structural()
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/tools/orchestator.py", line 250, in wrapped
result = method(*args, **kwargs)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/flows/optimization_flow.py", line 380, in pre_quantization_structural
self._apu_neg_mantissa_correction()
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/tools/orchestator.py", line 250, in wrapped
result = method(*args, **kwargs)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/flows/optimization_flow.py", line 480, in _apu_neg_mantissa_correction
algo.run()
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/algorithms/optimization_algorithm.py", line 50, in run
return super().run()
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/algorithms/algorithm_base.py", line 150, in run
self._run_int()
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/algorithms/apu_neg_mantissa_correction.py", line 46, in _run_int
self.correct_layer_neg_mantissa(layer)
File "/home/username/hailo/venv-py3.10-dfc3.29/lib/python3.10/site-packages/hailo_model_optimization/algorithms/apu_neg_mantissa_correction.py", line 50, in correct_layer_neg_mantissa
layer.neg_weights()
AttributeError: 'HailoAvgPool' object has no attribute 'neg_weights'. Did you mean: 'get_weights'?
I tried to use different precision modes for our AveragePool layers (via quantization_param model script), but the error persists.
It seems the error is because there is no ‘neg_weights’ in HailoAvgPool. What is the problem here? Is there a way around this?
Best Regards
JG