Package: otx
OpenVINO™ Training ExtensionsKey Features•Installation•Documentation•LicenseIntroductionOpenVINO™ 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 onPyTorchandOpenVINO™ 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 ontorchvision,mmcv,timmandOpenVINO 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 thisAuto-configurationfunctionalities 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 FeaturesOpenVINO™ Training Extensions supports the following computer vision tasks:Classification, including multi-class, multi-label and hierarchical image classification tasks.Object detectionincluding rotated bounding box supportSemantic segmentationInstance segmentationincluding tiling algorithm supportAction recognitionincluding action classification and detectionAnomaly recognitiontasks including anomaly classification, detection and segmentationOpenVINO™ Training Extensions supports thefollowing learning methods:Supervised, incremental training, which includes class incremental scenario and contrastive learning for classification and semantic segmentation tasksSemi-supervised learningSelf-supervised learningOpenVINO™ 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.Datumarodata 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 trainingto accelerate the training process when you have multiple GPUsMixed-precision trainingto save GPUs memory and use larger batch sizesIntegrated, efficienthyper-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 StartedInstallationPlease refer to theinstallation 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 Commandsotx findhelps you quickly find the best pre-configured models templates as well as a list of supported backbonesotx buildcreates 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 datasetotx trainactually starts training on your datasetotx evalruns evaluation of your trained model in PyTorch or OpenVINO™ IR formatotx optimizeruns an optimization algorithm to quantize and prune your deep learning model with help ofNNCFandPOTtools.otx exportstarts exporting your model to the OpenVINO™ IR formatotx deployoutputs the exported model together with the self-contained python package, a demo application to port and infer it outside of this repository.otx demoallows 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 explainruns 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 theCLI command intro.Updatesv1.5.0 (4Q23)Enable configurable confidence threshold for otx eval and export (https://github.com/openvinotoolkit/training_extensions/pull/2388)Add YOLOX variants as new object detector models (https://github.com/openvinotoolkit/training_extensions/pull/2402)Enable FeatureVectorHook to support action tasks (https://github.com/openvinotoolkit/training_extensions/pull/2408)Add ONNX metadata to detection, instance segmantation, and segmentation models (https://github.com/openvinotoolkit/training_extensions/pull/2418)Add a new feature to configure input size (https://github.com/openvinotoolkit/training_extensions/pull/2420)Introduce the OTXSampler and AdaptiveRepeatDataHook to achieve faster training at the small data regime (https://github.com/openvinotoolkit/training_extensions/pull/2428)Add a new object detector Lite-DINO (https://github.com/openvinotoolkit/training_extensions/pull/2457)Add Semi-SL Mean Teacher algorithm for Instance Segmentation task (https://github.com/openvinotoolkit/training_extensions/pull/2444)Official supports for YOLOX-X, YOLOX-L, YOLOX-S, ResNeXt101-ATSS (https://github.com/openvinotoolkit/training_extensions/pull/2485)Add new argument to track resource usage in train command (https://github.com/openvinotoolkit/training_extensions/pull/2500)Add Self-SL for semantic segmentation of SegNext families (https://github.com/openvinotoolkit/training_extensions/pull/2215)Adapt input size automatically based on dataset statistics (https://github.com/openvinotoolkit/training_extensions/pull/2499)Release HistoryPlease refer to theCHANGELOG.mdBranchesdevelopMainly maintained branch for developing new features for the future releasemiscPreviously developed models can be found on this branchLicenseOpenVINO™ Toolkit is licensed underApache 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 / DiscussionsPlease useIssuestab for your bug reporting, feature requesting, or any questions.Known limitationsmiscbranch 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.DisclaimerIntel is committed to respecting human rights and avoiding complicity in human rights abuses.
See Intel'sGlobal 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.