Skip to main content

getitune-exporting-a-model

Export a trained getitune model (the Geti training library) to a deployable format. Use when a user wants to run `engine.export(...)` or `getitune export`, choose between OpenVINO IR and ONNX, set FP32 vs FP16 precision with `ExportFormat` / `Precision`, or understand where exported artifacts are written and how they load back for inference. Covers the export/load contract between training and OpenVINO/ONNX inference.

Source facts

Repository
open-edge-platform/geti
Last source activity
August 25, 2026 at 09:29
Detected SKILL.md language
English
Stars
1,352
Forks
480

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
getitune-exporting-a-model
description
Export a trained getitune model (the Geti training library) to a deployable format. Use when a user wants to run `engine.export(...)` or `getitune export`, choose between OpenVINO IR and ONNX, set FP32 vs FP16 precision with `ExportFormat` / `Precision`, or understand where exported artifacts are written and how they load back for inference. Covers the export/load contract between training and OpenVINO/ONNX inference.
# Exporting a model with getitune After training, export a model to a deployable format with `engine.export(...)` (Python API) or `getitune export` (CLI). getitune exports to **OpenVINO IR** (default) or **ONNX**, each at **FP32** (default) or **FP16** precision. Exported artifacts load back for inference via the OpenVINO/ONNX path (see the `getitune-running-inference` skill). Run everything from `library/`. ## Python API workflow ```python from getitune.engine import create_engine from getitune.types import ExportFormat, Precision engine = create_engine( model="efficientnet_b0", data="/path/to/dataset", work_dir="./my_workspace", ) engine.train(max_epochs=50) # FP32 OpenVINO IR (default) -> returns the .xml path ov_ir_path = engine.export() # FP32 ONNX onnx_path = engine.export(export_format=ExportFormat.ONNX) # FP16 ONNX (same pattern works for OpenVINO IR) onnx_fp16 = engine.export(export_format=ExportFormat.ONNX, export_precision=Precision.FP16) ``` 1. **Train or load a model** into the engine first (export operates on the engine's current model). - Done when: `engine.test()` produces sensible metrics before you export. 2. **Choose format and precision.** Default is FP32 OpenVINO IR. Use `export_format=ExportFormat.ONNX` for ONNX; `export_precision=Precision.FP16` to halve size for supported hardware. Both enums live in `getitune.types`. - Done when: `engine.export(...)` returns a path to the written artifact. 3. **Confirm the artifact exists** under `work_dir` (`.xml` + `.bin` for OpenVINO IR, `.onnx` for ONNX). - Done when: the returned path exists on disk. 4. **Validate parity** by loading the exported model back and running `engine.test()` — accuracy should closely match the trained model (small FP16 drift is expected). See `getitune-running-inference`. - Done when: exported-model metrics are within tolerance of the trained model. ## CLI workflow ```bash # from library/ getitune export --data_root /path/to/dataset --model efficientnet_b0 # use --help -v for export-format / precision flags ``` ## Export/load contract - Each model implements `forward_for_tracing(...)` under `library/src/getitune/backend/lightning/models/<task>/`; that is what defines the exported graph. If you change model I/O, keep this method in sync or export parity breaks. - Exported OpenVINO IR / ONNX models are loaded for inference through the OpenVINO backend (`OVEngine`) using [ModelAPI](https://github.com/open-edge-platform/model_api). - Each task also ships an `openvino_model.yaml` recipe for loading a pre-exported IR model directly. ## Verify ```bash # from library/ just lint just test-unit -- -k export # when you touched export/tracing code ``` ## Related skills - `getitune-training-a-model` — produce the checkpoint to export. - `getitune-running-inference` — load and validate the exported model. - `getitune-optimizing-a-model` — quantize an exported OpenVINO model to INT8.
View on GitHub