Skip to content

open-edge-platform/geti

Geti™ is an end-to-end Vision AI application that takes you from raw images to a deployed computer vision model. Geti™ runs locally as a single container or a native Windows app and is optimized for fast inference across the full Intel® XPU portfolio.

Geti™ - Learning Cycle

Important

This repo previously hosted the OpenVINO Training Extensions project, namely otx; the development of that library now continues under the new name getitune in the library folder, as the training engine of the broader Geti™ application. The package is published on PyPI as getitune, while the old package otx is deprecated but still available for download.

The development of the Geti™ application now continues in this repository in the application folder. Previous versions of Geti™ are still available in a separate repository. In general, we recommend upgrading to the latest Geti™ release whenever possible - not only to access new functionality, but also to receive better support from Intel and the Geti™ community. To upgrade from Geti™ v2 to v3, please follow the upgrade guidance.

Quick start with Geti™

Before you begin, make sure your machine meets the following requirements:

Component Requirement
CPU 8 threads
RAM 16 GB
Disk 40 GB free
GPU Optional - Intel® XPU or NVIDIA® GPU for larger models

Geti can be installed as a Windows application, run as a container, or built from source code. Choose the option that best suits your environment below.

Windows Application

Download the latest Geti™ Windows installer suitable for your hardware (Intel® XPU, NVIDIA® CUDA or CPU-only) from the releases repository:

Install Geti™ Windows application and launch it from the Start menu.

Container image

Pull a pre-built container image for your hardware and launch it using just, which handles device passthrough, volumes, and WebRTC ports automatically:

# 1. Install just
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin

# 2. Clone the repository
git clone https://github.com/open-edge-platform/geti.git
cd geti/application

# 3. Pull the image for your hardware (choose one: cpu|cuda|xpu)
ACCELERATOR=xpu
docker pull ghcr.io/open-edge-platform/geti-${ACCELERATOR}

# 4. Retag the pulled image for use with just
docker tag ghcr.io/open-edge-platform/geti-${ACCELERATOR}:latest geti-${ACCELERATOR}:latest

# 5. Launch the application
just run-image --accelerator ${ACCELERATOR}

Then get access to Geti™ user interface at http://localhost:7860.

Install from source code To install the Geti™ stable development version from source code, use:
curl -fsSL https://raw.githubusercontent.com/open-edge-platform/geti/develop/install.sh | bash

Installing from source gives you access to the latest features not yet available in released builds, including Ultralytics YOLO26 support.

Once Geti is up and running, follow the intuitive UI to train your first model.

Application demo

Note

See the detailed step-by-step guidance on how to train your first model in "Training your first model" section in the Geti™ documentation. Full instructions and all options are available in Geti™ documentation.

Detailed installation guide is available in "Installation guide"

Quick start with Geti Library (getitune)

Geti's training engine is published on PyPI and can train, optimize, and deploy models from Python.

uv pip install "getitune[xpu]" --extra-index-url https://download.pytorch.org/whl/xpu    # for Intel® XPU acceleration
uv pip install "getitune[cuda]" --extra-index-url https://download.pytorch.org/whl/cu128    # for NVIDIA® CUDA acceleration
uv pip install getitune # CPU-only by default

⚠️ Ultralytics YOLO Models: The PyPI package does not include Ultralytics YOLO26 models. Install from source to use them:

git clone https://github.com/open-edge-platform/training_extensions.git
cd training_extensions/library
uv sync --extra xpu --extra ultralytics                              # Intel GPU + YOLO
uv sync --extra cuda --extra ultralytics                             # NVIDIA GPU + YOLO
uv sync --extra cpu --extra ultralytics                              # CPU + YOLO

See the library README for more details.

Discover available models and train a model in just a few lines of code:

from getitune.engine import create_engine
from getitune.utils import list_models

# Explore available models for your task
all_models = list_models()                    # List all model names
detection_models = list_models(task="DETECTION")  # Filter by task
recipes = list_models(return_recipes=True)    # Get full recipe YAML paths

# Create an engine using any model name or recipe path
engine = create_engine(
    model="efficientnet_b0",                  # model name, recipe YAML path, or exported IR/ONNX
    data="/path/to/dataset",                  # dataset directory or YAML path
    work_dir="./my_workspace",                # checkpoints and logs directory
    device="auto",                            # "auto", "cpu", "gpu", "xpu".
)

# Train and validate
engine.train(max_epochs=50)
metrics = engine.test()

# Export to OpenVINO IR (default) for deployment
exported_model_path = engine.export()

# load exported OpenVINO model
ov_engine = create_engine(model=exported_model_path, data=engine.datamodule)

# optimize the model for edge deployment
optimized_model_path = ov_engine.optimize()

# test the optimized model
metrics = ov_engine.test()

# predict with the optimized model
predictions = ov_engine.predict()

See the library README for the full list of recipes, advanced configuration, dataset support, backend-specific options, and deployment/optimization examples.

Key Features

🏆 State-of-the-art model catalog

Train and fine-tune modern architectures such as RF-DETR, DINOv3 DETR, YOLO26, YOLOX, D-FINE, and Mask R-CNN. Would you like to see a specific model added? Let us know by opening a GitHub issue!

Computer Vision Task Model Architecture Paper
Object Detection
Locate and classify objects with bounding boxes, e.g. counting items, defect localization, surveillance.
D-FINE M / L / X DEIM + D-FINE
DINOv3 DETR S / M / L DINOv3 + DEIMv2 + DETR
MobileNet V2 ATSS MobileNetV2 + ATSS
MobileNet V2 SSD MobileNetV2 + SSD
RF-DETR S / M / L RF-DETR
RT-DETR R50 RT-DETR
YOLO26 Nano / Small / Medium Ultralytics YOLO
YOLOX Tiny / S / L / X YOLOX
Instance Segmentation
Detect objects and produce pixel-precise masks per instance, e.g. measuring object area, robotics, medical imaging.
RTMDet Tiny RTMDet
Mask-RCNN EfficientNet B2 EfficientNet + Mask R-CNN
Mask-RCNN ResNet50 ResNet + Mask R-CNN
Mask-RCNN Swin-T Swin Transformer + Mask R-CNN
RF-DETR S / M / L RF-DETR
Classification (multi-class, multi-label)
Assign one or more labels to an entire image, e.g. quality pass/fail, product categorization, content tagging.
ViT Tiny ViT
DINOv2 Small DINOv2
EfficientNet B0 / B3 EfficientNet
EfficientNet V2 Small EfficientNetV2
MobileNet V3 Large MobileNetV3
🔄 Interactive end-to-end model training

Geti™ enables users to start building deep-learning computer vision models with as few as 10-20 images and take them to production in one environment - annotate, train, optimize, run inference, and improve accuracy in a rapid train-predict-annotate loop.

⚡ Hardware-accelerated inference & model optimization

Every model is automatically exported with OpenVINO™ for deployment across the full Intel® XPU portfolio (Arc™ GPUs, Core™ Ultra processors); NVIDIA® CUDA and CPU-only execution are also supported. Fine-tune and run inference directly on edge and client hardware - including Intel® Panther Lake and Arc™ Battlemage (B-series) GPUs - with no Kubernetes cluster or data-center GPU required. Built-in accuracy-aware INT8 quantization further reduces model size and latency on resource-constrained edge devices with minimal impact on accuracy.

🚀 Integrated deployment & inference

Build custom pipelines (source → model → sink) to deploy models inside Geti and monitor real-time predictions on video streams. Sources include USB/IP cameras and video files; optional sinks include folder, MQTT, and webhook. Complete pipelines can be exported as OpenVINO™-optimized bundles for edge deployment.

🎨 Multiple computer vision tasks

Geti™ supports multiple computer vision tasks that are commonly employed across various use cases - image classification, object detection and instance segmentation from the no-code web interface, with even more tasks available through the getitune library.

🧠 Smart annotations

Smart annotations in Geti™ enable users to easily create bounding boxes, rotated bounding boxes, segmentation boundaries, and more. These smart annotation features coupled with the AI-assisted annotations and state-of-the-art AI models such as the Segment Anything Model keep human experts in the loop while massively reducing the total annotation efforts needed by a human.

Smart Annotations

📦 Model & dataset management

Track how datasets and models evolve, link models to a specific dataset revision, view exact training hyperparameters, and fine-tune from any previous version. Import and export in COCO, Pascal VOC, YOLO, and a Geti-optimized native format, with label filtering to selectively include or exclude labels on import/export.

Ecosystem

  • Anomalib - An anomaly detection suite comprising state-of-the-art algorithms and features such as experiment management, hyper-parameter optimization and edge inference.
  • Instant Learn - A framework for developing, benchmarking, and deploying zero-shot visual prompting algorithms on the edge.
  • Datumaro - Dataset Management Framework, a Python library and a CLI tool to build, analyze and manage Computer Vision datasets.
  • OpenVINO™ - Software toolkit for optimizing and deploying deep learning models.
  • OpenVINO™ Model Server - A scalable inference server for models optimized with OpenVINO™.
  • Model API - A set of wrapper classes for particular tasks and model architectures, simplifying data preprocessing and postprocessing as well as routine procedures.
  • Physical AI Studio - An end-to-end framework for teaching robots to perform tasks through imitation learning from human demonstrations.

Who uses Geti™?

Geti™ is a powerful tool to build vision models for a wide range of processes, including detecting defective parts in a production line, reducing downtime on the factory floor, automating inventory management, or other automation projects. We have chosen to highlight a few interesting community members:

Community

Contribute

For those who would like to contribute, see Contributing guide for details.

Thank you 👏 to all our contributors!

Contributors

License

Geti™ is licensed under the Apache License Version 2.0.

Disclaimers

Geti™ utilizes FFmpeg.

FFmpeg is an open source project licensed under LGPL and GPL. See https://www.ffmpeg.org/legal.html. You are solely responsible for determining if your use of FFmpeg requires any additional licenses. Intel is not responsible for obtaining any such licenses, nor liable for any licensing fees due, in connection with your use of FFmpeg.

Ultralytics YOLO models are distributed under the AGPL-3.0 license, an OSI approved license ideal for open-source research, academic, and personal projects. For commercial use, enhanced support, and tailored licensing terms, please explore flexible Ultralytics licensing options at https://www.ultralytics.com/license.