Logo

Introduction#

OpenVINO™ Training Extensions is a low-code transfer learning framework for Computer Vision.

The CLI commands of the framework or API allows users to train, infer, optimize and deploy models easily and quickly even with low expertise in the deep learning field. OpenVINO™ Training Extensions offers diverse combinations of model architectures, learning methods, and task types based on PyTorch , Lightning and OpenVINO™ toolkit.

OpenVINO™ Training Extensions provide recipe for every supported task type, which consolidates necessary information to build a model. Model templates are validated on various datasets and serve one-stop shop for obtaining the best models in general. If you are an experienced user, you can configure your own model based on torchvision, mmcv and OpenVINO Model Zoo (OMZ) frameworks.

Furthermore, OpenVINO™ Training Extensions provides automatic configuration of task types and hyperparameters. The framework will identify the most suitable recipe based on your dataset, and choose the best hyperparameter configuration. The development team is continuously extending functionalities to make training as simple as possible so that single CLI command can obtain accurate, efficient and robust models ready to be integrated into your project.


../../_images/diagram_otx.png

Key Features#

OpenVINO™ Training Extensions supports the following computer vision tasks:

  • Classification, including multi-class, multi-label and hierarchical image classification tasks.

  • Object detection including rotated bounding box support

  • Semantic segmentation

  • Instance segmentation including tiling algorithm support

  • Action recognition including action classification and detection

  • Anomaly recognition tasks including anomaly classification, detection and segmentation

  • Visual Prompting tasks including segment anything model, zero-shot visual prompting

OpenVINO™ Training Extensions supports the following learning methods:

  • Supervised, incremental training, which includes class incremental scenario.

OpenVINO™ Training Extensions will provide the following features in coming releases:

  • Distributed training to accelerate the training process when you have multiple GPUs

  • Half-precision training to save GPUs memory and use larger batch sizes

  • Integrated, efficient hyper-parameter optimization module (HPO). Through dataset proxy and built-in hyper-parameter optimizer, you can get much faster hyper-parameter optimization compared to other off-the-shelf tools. The hyperparameter optimization is dynamically scheduled based on your resource budget.

  • OpenVINO™ Training Extensions uses Datumaro as the backend to handle datasets. On account of that, OpenVINO™ Training Extensions supports the most common academic field dataset formats for each task. In the future there will be more supported formats available to give more freedom of datasets format choice.

  • Improved auto-configuration functionality. OpenVINO™ Training Extensions analyzes provided dataset and selects the proper task and model recipe to provide the best accuracy/speed trade-off. It will also make a random auto-split of your dataset if there is no validation set provided.

Documentation content#

  1. Quick start guide:

Installation Guide

Learn more about how to install OpenVINO™ Training Extensions

Installation
API Quick-Guide

Learn more about how to use OpenVINO™ Training Extensions Python API.

API Quick-Guide
CLI Guide

Learn more about how to use OpenVINO™ Training Extensions CLI commands

CLI Guide
  1. Tutorials:

Classification

Learn how to train a classification model

Classification model
Detection

Learn how to train a detection model.

Object Detection model
Instance Segmentation

Learn how to train an instance segmentation model

Instance Segmentation model
Semantic Segmentation

Learn how to train a semantic segmentation model

Semantic Segmentation model
Anomaly Task

Learn how to train an anomaly detection model

Anomaly Detection Tutorial
Action Classification

Learn how to train an action classification model

Action Classification model
Action Detection

Learn how to train an action detection model

../tutorials/base/how_to_train/action_detection
Visual Prompting

Learn how to train a visual prompting model

Visual Prompting model
Advanced

Learn how to use advanced features of OpenVINO™ Training Extensions

Advanced Tutorials
  1. Explanation section:

This section consists of an algorithms explanation and describes additional features that are supported by OpenVINO™ Training Extensions. Algorithms section includes a description of all supported algorithms:

  1. Explanation of the task and main supervised training pipeline.

  2. Description of the supported datasets formats for each task.

  3. Available recipes and models.

  4. Incremental learning approach.

Additional Features section consists of:

  1. Overview of model optimization algorithms.

  2. Hyperparameters optimization functionality (HPO).

  3. Auto-configuration algorithm to select the most appropriate training pipeline for a given dataset.

  1. Reference:

This section gives an overview of the OpenVINO™ Training Extensions code base. There source code for Entities, classes and functions can be found.

  1. Release Notes:

There can be found a description of new and previous releases.