Skip to main content

getitune-optimizing-a-model

Optimize an exported getitune model (the Geti training library) with post-training quantization. Use when a user wants to run `OVEngine.optimize()` / `engine.optimize()` to produce an INT8 model via NNCF, understands calibration-set requirements, or needs to re-validate and run inference with a quantized model versus the original FP32/FP16 model. Covers OpenVINO NNCF post-training quantization and the accuracy/size trade-off.

Informações da origem

Repositório
open-edge-platform/geti
Última atividade na origem
25 de agosto de 2026 às 09:29
Idioma detectado do SKILL.md
inglês
Estrelas
1.352
Forks
480

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
getitune-optimizing-a-model
description
Optimize an exported getitune model (the Geti training library) with post-training quantization. Use when a user wants to run `OVEngine.optimize()` / `engine.optimize()` to produce an INT8 model via NNCF, understands calibration-set requirements, or needs to re-validate and run inference with a quantized model versus the original FP32/FP16 model. Covers OpenVINO NNCF post-training quantization and the accuracy/size trade-off.
# Optimizing (quantizing) a model with getitune `getitune` applies **post-training quantization (PTQ)** via [NNCF](https://github.com/openvinotoolkit/nncf) to shrink an exported OpenVINO model and speed up inference. Quantization runs on an **OpenVINO** model (an exported `.xml`), producing an INT8 version. Run everything from `library/`. ## Workflow ```python from getitune.engine import create_engine # Load an exported OpenVINO model, then quantize it ov_engine = create_engine( model="/path/to/exported_model.xml", data="/path/to/dataset", ) ov_engine.optimize() # INT8 post-training quantization via NNCF int8_metrics = ov_engine.test() # validate the quantized model predictions = ov_engine.predict() # run inference with the quantized model ``` 1. **Start from an exported OpenVINO model** (`.xml`). If you only have a checkpoint, export it first with the `getitune-exporting-a-model` skill. - Done when: `create_engine(model="....xml", data=...)` builds an `OVEngine`. 2. **Provide a calibration dataset.** Calibration images are taken automatically from the training subset; 200-500 images is the recommended calibration size. - Done when: `optimize()` runs without a "not enough calibration data" issue. 3. **Run `optimize()`.** This replaces the engine's model in place with the INT8 version. - Done when: the call completes and subsequent `test()`/`predict()` use INT8. 4. **Re-validate accuracy** with `test()` and compare against the FP32/FP16 baseline; a small accuracy drop is expected in exchange for size/latency. - Done when: the INT8 metric is within your acceptable tolerance of baseline. ## Comparing against the original model After `optimize()` the engine holds the INT8 model. To re-check the original FP32/FP16 model, either pass the original `.xml` path directly to `.test()` / `.predict()`, or create the engine again from the original `.xml`. ## Notes - Quantization is OpenVINO/NNCF-based and applies to exported IR models — it is not a training-time step. - **Only OpenVINO IR (`.xml`) is supported.** An ONNX model must be converted to OpenVINO IR first before it can be optimized. - In the Geti application this is exposed as the `quantize` job (`application/backend/app/execution/quantization/`); library `optimize()` is the same capability without the job/queue wrapper. ## Verify ```bash # from library/ just lint just test-unit -- -k optimize # when you touched optimization code ``` ## Related skills - `getitune-exporting-a-model` — produce the OpenVINO `.xml` to quantize. - `getitune-running-inference` — run inference with the quantized model.
Ver no GitHub