Skip to main content

OpenVINO™ Training Extensions: Train, Evaluate, Optimize, Deploy Computer Vision Models via OpenVINO™

Project description

OpenVINO™ Training Extensions


Key FeaturesInstallationDocumentationLicense

PyPI

python pytorch openvino

Codecov Pre-Merge Test Nightly Test Build Docs License Downloads


Introduction

OpenVINO™ Training Extensions is a low-code transfer learning framework for Computer Vision. The CLI commands of the framework 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 and OpenVINO™ toolkit.

OpenVINO™ Training Extensions provides a "model template" 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, timm and OpenVINO Model Zoo (OMZ).

Furthermore, OpenVINO™ Training Extensions provides automatic configuration for ease of use. The framework will analyze your dataset and identify the most suitable model and figure out the best input size setting and other hyper-parameters. The development team is continuously extending this Auto-configuration 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.

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

OpenVINO™ Training Extensions supports the following learning methods:

  • Supervised, incremental training, which includes class incremental scenario and contrastive learning for classification and semantic segmentation tasks
  • Semi-supervised learning
  • Self-supervised learning

OpenVINO™ Training Extensions provides the following usability features:

  • Auto-configuration. OpenVINO™ Training Extensions analyzes provided dataset and selects the proper task and model with appropriate input size 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.
  • Datumaro data frontend: OpenVINO™ Training Extensions supports the most common academic field dataset formats for each task. We are constantly working to extend supported formats to give more freedom of datasets format choice.
  • Distributed training to accelerate the training process when you have multiple GPUs
  • Mixed-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.

Getting Started

Installation

Please refer to the installation guide.

Note: Python 3.8, 3.9 and 3.10 were tested, along with Ubuntu 18.04, 20.04 and 22.04.

OpenVINO™ Training Extensions CLI Commands

  • otx find helps you quickly find the best pre-configured models templates as well as a list of supported backbones
  • otx build creates the workspace folder with all necessary components to start training. It can help you configure your own model with any supported backbone and even prepare a custom split for your dataset
  • otx train actually starts training on your dataset
  • otx eval runs evaluation of your trained model in PyTorch or OpenVINO™ IR format
  • otx optimize runs an optimization algorithm to quantize and prune your deep learning model with help of NNCF and POT tools.
  • otx export starts exporting your model to the OpenVINO™ IR format
  • otx deploy outputs the exported model together with the self-contained python package, a demo application to port and infer it outside of this repository.
  • otx demo allows one to apply a trained model on the custom data or the online footage from a web camera and see how it will work in a real-life scenario.
  • otx explain runs explain algorithm on the provided data and outputs images with the saliency maps to show how your model makes predictions.

You can find more details with examples in the CLI command intro.


Updates

v1.5.0 (4Q23)

Release History

Please refer to the CHANGELOG.md


Branches

  • develop
    • Mainly maintained branch for developing new features for the future release
  • misc
    • Previously developed models can be found on this branch

License

OpenVINO™ Toolkit is licensed under Apache License Version 2.0. By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms.


Issues / Discussions

Please use Issues tab for your bug reporting, feature requesting, or any questions.


Known limitations

misc branch contains training, evaluation, and export scripts for models based on TensorFlow and PyTorch. These scripts are not ready for production. They are exploratory and have not been validated.


Disclaimer

Intel is committed to respecting human rights and avoiding complicity in human rights abuses. See Intel's Global Human Rights Principles. Intel's products and software are intended only to be used in applications that do not cause or contribute to a violation of an internationally recognized human right.


Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

otx-1.5.0.tar.gz (8.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

otx-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

otx-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

otx-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

otx-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

File details

Details for the file otx-1.5.0.tar.gz.

File metadata

  • Download URL: otx-1.5.0.tar.gz
  • Upload date:
  • Size: 8.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.7

File hashes

Hashes for otx-1.5.0.tar.gz
Algorithm Hash digest
SHA256 35a34ec82baa3069d4d3d42b64324879fb9fd35b252f562685c6e709b6817172
MD5 81cc1b049fb0f2592dd5cf5ed6c0efeb
BLAKE2b-256 1f3b8f0a8c6c3573401c64f3c59d5a86a24ba834e31d1513eade77f36b85cd46

See more details on using hashes here.

File details

Details for the file otx-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for otx-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c81deeb49c9c64dd2c066805427cca615c241957a0f7a5dd7265cee72a9a44d5
MD5 ff2d714bace6b82489548d029f899b51
BLAKE2b-256 25fb06b5223c54f4151dbb9a524cb7a046615545cfffea869cc7271f9d7c9374

See more details on using hashes here.

File details

Details for the file otx-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for otx-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82984a67df18e1c0f2ec68e14b48be2146772704498ea5fcbf9cc6fd3ad83452
MD5 6d2bdef5127b5256e6c129e6e270fd60
BLAKE2b-256 7cfb9178eaa51ccc56d05efd62d4e527305ff0b90f8a05b732d485f94c241be1

See more details on using hashes here.

File details

Details for the file otx-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for otx-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc08c2c165e00393ca36ebace9097de1d9af53d96e7a95fcffc8ce2dc5ea12ac
MD5 40a7b5aab5e6adc09be3d32f5b89e18f
BLAKE2b-256 9ed8e025826a388528d44c3c523f13bfc10e54e7686c3a41a4b4bf2f0ef67374

See more details on using hashes here.

File details

Details for the file otx-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for otx-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ad0ced5bafb9b237f76ee1862250f529c32ec9e9154f5af2d2fb8316bc6baa5f
MD5 4e85c1f1881af245f1a95a38b9e99d0c
BLAKE2b-256 e7cba8ce8c1db38ed2fe422d873dbc6523772b9c07b8e3cd06244af8ece72bb9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page