Skip to content

YOLO11 / YOLO26 accuracy-aware quantization fails #7234

Description

@piotrgrubicki
  1. Train a YOLO26-S-Seg model
  2. Once trained, Start quantization
  3. Choose 2.7 as "Max accuracy drop (%)" and 12 as "Max number of iterations"
  4. Start job

The job fails with the exception visible below.
NB: When executed using the default parameters, the job finishes successfully.

Job logs
{"text": "2026-08-07 11:40:27.672 | INFO     | logging:handle:1027 - Validation of initial model was started\n", "record": {"elapsed": {"repr": "0:01:59.802046", "seconds": 119.802046}, "exception": null, "extra": {}, "file": {"name": "__init__.py", "path": "logging\\__init__.py"}, "function": "handle", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 1027, "message": "Validation of initial model was started", "module": "__init__", "name": "logging", "process": {"id": 19032, "name": "job-quantize-506b7035-47ba-4d34-a1d9-fae6bc885cbd"}, "thread": {"id": 16652, "name": "MainThread"}, "time": {"repr": "2026-08-07 11:40:27.672509+02:00", "timestamp": 1786095627.672509}}}
{"text": "2026-08-07 11:40:28.390 | INFO     | logging:handle:1027 - Elapsed Time: 00:00:00\n", "record": {"elapsed": {"repr": "0:02:00.520154", "seconds": 120.520154}, "exception": null, "extra": {}, "file": {"name": "__init__.py", "path": "logging\\__init__.py"}, "function": "handle", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 1027, "message": "Elapsed Time: 00:00:00", "module": "__init__", "name": "logging", "process": {"id": 19032, "name": "job-quantize-506b7035-47ba-4d34-a1d9-fae6bc885cbd"}, "thread": {"id": 16652, "name": "MainThread"}, "time": {"repr": "2026-08-07 11:40:28.390617+02:00", "timestamp": 1786095628.390617}}}
{"text": "2026-08-07 11:41:12.175 | ERROR    | app.execution.base:_report_progress:122 - Failed: Run Quantization\nTraceback (most recent call last):\n\n  File \"main.py\", line 19, in <module>\n\n  File \"pyi_rth_multiprocessing.py\", line 48, in _freeze_support\n\n  File \"multiprocessing\\spawn.py\", line 122, in spawn_main\n\n  File \"multiprocessing\\spawn.py\", line 135, in _main\n\n  File \"multiprocessing\\process.py\", line 313, in _bootstrap\n\n  File \"multiprocessing\\process.py\", line 108, in run\n\n  File \"app\\core\\jobs\\exec\\process_run.py\", line 149, in _entrypoint\n\n  File \"app\\execution\\base.py\", line 92, in run\n\n  File \"app\\execution\\quantization\\getitune_quantizer.py\", line 344, in execute\n\n> File \"app\\execution\\base.py\", line 41, in wrapper\n\n  File \"app\\execution\\quantization\\getitune_quantizer.py\", line 257, in run_quantization\n\n  File \"getitune\\backend\\openvino\\engine.py\", line 476, in optimize\n    return model.optimize(\n           │     └ <function OVModel.optimize at 0x000001DE671758A0>\n           └ <getitune.backend.openvino.models.instance_segmentation.OVInstanceSegmentationModel object at 0x000001DE67461D30>\n\n  File \"getitune\\backend\\openvino\\models\\base.py\", line 376, in optimize\n    compressed_model = nncf.quantize_with_accuracy_control(\n                       │    └ <function quantize_with_accuracy_control at 0x000001DE4F057380>\n                       └ <module 'nncf' from 'C:\\\\Program Files\\\\WindowsApps\\\\intel.geti_3.1.0.0_neutral__aqcv7fbxf4wm4\\\\_internal\\\\nncf\\\\__init__.py'>\n\n  File \"nncf\\telemetry\\decorator.py\", line 81, in wrapped\n    retval = fn(*args, **kwargs)\n             │   │       └ {'model': <Model: 'Model0'\n             │   │         inputs[\n             │   │         <ConstOutput: names[x.1] shape[1,3,640,640] type: f32>\n             │   │         ]\n             │   │         outputs[\n             │   │         <ConstOutput: names[] sh...\n             │   └ ()\n             └ <function quantize_with_accuracy_control at 0x000001DE4F057240>\n\n  File \"nncf\\quantization\\quantize_model.py\", line 356, in quantize_with_accuracy_control\n    return quantize_with_accuracy_control_impl(  # type: ignore[no-any-return]\n           └ <function quantize_with_accuracy_control_impl at 0x000001DE67583380>\n\n  File \"nncf\\openvino\\quantization\\quantize_model.py\", line 240, in quantize_with_accuracy_control_impl\n    initial_metric_results = evaluator.collect_metric_results(model, validation_dataset, model_name=\"initial\")\n                             │         │                      │      └ <nncf.data.dataset.Dataset object at 0x000001DE67481BD0>\n                             │         │                      └ <Model: 'Model0'\n                             │         │                        inputs[\n                             │         │                        <ConstOutput: names[x.1] shape[1,3,640,640] type: f32>\n                             │         │                        ]\n                             │         │                        outputs[\n                             │         │                        <ConstOutput: names[] shape[1,39,8...\n                             │         └ <function Evaluator.collect_metric_results at 0x000001DE372DB600>\n                             └ <nncf.quantization.algorithms.accuracy_control.evaluator.Evaluator object at 0x000001DE677EFE00>\n\n  File \"nncf\\quantization\\algorithms\\accuracy_control\\evaluator.py\", line 331, in collect_metric_results\n    metric, values_for_each_item = self.validate_prepared_model(prepared_model, dataset)\n                                   │    │                       │               └ <nncf.data.dataset.Dataset object at 0x000001DE67481BD0>\n                                   │    │                       └ <nncf.quantization.algorithms.accuracy_control.openvino_backend.OVPreparedModel object at 0x000001DE677EFCB0>\n                                   │    └ <function Evaluator.validate_prepared_model at 0x000001DE372DB2E0>\n                                   └ <nncf.quantization.algorithms.accuracy_control.evaluator.Evaluator object at 0x000001DE677EFE00>\n\n  File \"nncf\\quantization\\algorithms\\accuracy_control\\evaluator.py\", line 164, in validate_prepared_model\n    metric, values_for_each_item = self._validation_fn(prepared_model.model_for_inference, validation_dataset)\n                                   │    │              │              │                    └ <nncf.quantization.algorithms.accuracy_control.evaluator.IterationCounter object at 0x000001DE67460D70>\n                                   │    │              │              └ <property object at 0x000001DE733F3F10>\n                                   │    │              └ <nncf.quantization.algorithms.accuracy_control.openvino_backend.OVPreparedModel object at 0x000001DE677EFCB0>\n                                   │    └ <function wrap_validation_fn.<locals>.wrapper at 0x000001DE3661EC00>\n                                   └ <nncf.quantization.algorithms.accuracy_control.evaluator.Evaluator object at 0x000001DE677EFE00>\n\n  File \"nncf\\quantization\\quantize_model.py\", line 261, in wrapper\n    retval = validation_fn(*args, **kwargs)\n             │              │       └ {}\n             │              └ (<CompiledModel:\n             │                inputs[\n             │                <ConstOutput: names[x.1] shape[1,3,640,640] type: f32>\n             │                ]\n             │                outputs[\n             │                <ConstOutput: names[] shape[1,39,8...\n             └ <function OVModel._create_validation_fn.<locals>.validation_fn at 0x000001DE672F80E0>\n\n  File \"getitune\\backend\\openvino\\models\\base.py\", line 462, in validation_fn\n    preds = _infer_compiled_model(compiled_model, data_batch)\n            │                     │               └ SampleBatch(images=tensor([[[[0., 0., 0.,  ..., 0., 0., 0.],\n            │                     │                           [0., 0., 0.,  ..., 0., 0., 0.],\n            │                     │                           [0., 0., 0.,...\n            │                     └ <CompiledModel:\n            │                       inputs[\n            │                       <ConstOutput: names[x.1] shape[1,3,640,640] type: f32>\n            │                       ]\n            │                       outputs[\n            │                       <ConstOutput: names[] shape[1,39,84...\n            └ <function OVModel._create_validation_fn.<locals>._infer_compiled_model at 0x000001DE672FA160>\n\n  File \"getitune\\backend\\openvino\\models\\base.py\", line 437, in _infer_compiled_model\n    out.get_any_name(): infer_request.get_tensor(out).data.copy() for out in compiled_model.outputs\n                        │             │                                      │              └ <property object at 0x000001DE3618BE20>\n                        │             │                                      └ <CompiledModel:\n                        │             │                                        inputs[\n                        │             │                                        <ConstOutput: names[x.1] shape[1,3,640,640] type: f32>\n                        │             │                                        ]\n                        │             │                                        outputs[\n                        │             │                                        <ConstOutput: names[] shape[1,39,84...\n                        │             └ <instancemethod get_tensor at 0x000001DE36182B60>\n                        └ <InferRequest:\n                          inputs[\n                          <ConstOutput: names[x.1] shape[1,3,640,640] type: f32>\n                          ]\n                          outputs[\n                          <ConstOutput: names[] shape[1,39,840...\n\nRuntimeError: Check '!get_names().empty()' failed at src\\core\\src\\descriptor\\tensor.cpp:102:\nAttempt to get a name for a Tensor without names\n\n", "record": {"elapsed": {"repr": "0:02:44.305480", "seconds": 164.30548}, "exception": {"type": "RuntimeError", "value": "Check '!get_names().empty()' failed at src\\core\\src\\descriptor\\tensor.cpp:102:\nAttempt to get a name for a Tensor without names\n", "traceback": true}, "extra": {}, "file": {"name": "base.py", "path": "app\\execution\\base.py"}, "function": "_report_progress", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 122, "message": "Failed: Run Quantization", "module": "base", "name": "app.execution.base", "process": {"id": 19032, "name": "job-quantize-506b7035-47ba-4d34-a1d9-fae6bc885cbd"}, "thread": {"id": 16652, "name": "MainThread"}, "time": {"repr": "2026-08-07 11:41:12.175943+02:00", "timestamp": 1786095672.175943}}}

Metadata

Metadata

Assignees

Labels

Geti BackendIssues related to the Geti application serverGeti LibraryIssues related to Geti Library (OTX)

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions