{"id":13689162,"url":"https://github.com/openvinotoolkit/training_extensions","last_synced_at":"2025-04-02T02:09:15.876Z","repository":{"id":36962384,"uuid":"154843614","full_name":"openvinotoolkit/training_extensions","owner":"openvinotoolkit","description":"Train, Evaluate, Optimize, Deploy Computer Vision Models via OpenVINO™","archived":false,"fork":false,"pushed_at":"2024-10-29T12:43:55.000Z","size":439375,"stargazers_count":1140,"open_issues_count":18,"forks_count":443,"subscribers_count":45,"default_branch":"develop","last_synced_at":"2024-10-29T15:07:27.829Z","etag":null,"topics":["action-recognition","anomaly-detection","automl","computer-vision","datumaro","deep-learning","hyper-parameter-optimization","image-classification","image-segmentation","incremental-learning","machine-learning","neural-networks-compression","object-detection","openvino","pytorch","quantization","self-supervised-learning","semi-supervised-learning","transfer-learning"],"latest_commit_sha":null,"homepage":"https://openvinotoolkit.github.io/training_extensions/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openvinotoolkit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-26T14:02:29.000Z","updated_at":"2024-10-29T03:39:47.000Z","dependencies_parsed_at":"2023-11-21T05:34:25.982Z","dependency_job_id":"2a7d2078-c2d6-4261-9633-2c7c8435bc48","html_url":"https://github.com/openvinotoolkit/training_extensions","commit_stats":{"total_commits":889,"total_committers":20,"mean_commits":44.45,"dds":0.8346456692913385,"last_synced_commit":"b67715f736a5710f75d6b752a8d54e74f09c387e"},"previous_names":[],"tags_count":102,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvinotoolkit%2Ftraining_extensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvinotoolkit%2Ftraining_extensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvinotoolkit%2Ftraining_extensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openvinotoolkit%2Ftraining_extensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openvinotoolkit","download_url":"https://codeload.github.com/openvinotoolkit/training_extensions/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246741112,"owners_count":20826066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action-recognition","anomaly-detection","automl","computer-vision","datumaro","deep-learning","hyper-parameter-optimization","image-classification","image-segmentation","incremental-learning","machine-learning","neural-networks-compression","object-detection","openvino","pytorch","quantization","self-supervised-learning","semi-supervised-learning","transfer-learning"],"created_at":"2024-08-02T15:01:36.097Z","updated_at":"2025-04-02T02:09:15.854Z","avatar_url":"https://github.com/openvinotoolkit.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\n# OpenVINO™ Training Extensions\n\n---\n\n[Key Features](#key-features) •\n[Installation](https://openvinotoolkit.github.io/training_extensions/latest/guide/get_started/installation.html) •\n[Documentation](https://openvinotoolkit.github.io/training_extensions/latest/index.html) •\n[License](#license)\n\n[![PyPI](https://img.shields.io/pypi/v/otx)](https://pypi.org/project/otx)\n\n\u003c!-- markdownlint-disable MD042 --\u003e\n\n[![python](https://img.shields.io/badge/python-3.10%2B-green)]()\n[![pytorch](https://img.shields.io/badge/pytorch-2.5%2B-orange)]()\n[![openvino](https://img.shields.io/badge/openvino-2025.0-purple)]()\n\n\u003c!-- markdownlint-enable  MD042 --\u003e\n\n[![Codecov](https://codecov.io/gh/openvinotoolkit/training_extensions/branch/develop/graph/badge.svg?token=9HVFNMPFGD)](https://codecov.io/gh/openvinotoolkit/training_extensions)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/openvinotoolkit/training_extensions/badge)](https://securityscorecards.dev/viewer/?uri=github.com/openvinotoolkit/training_extensions)\n[![Pre-Merge Test](https://github.com/openvinotoolkit/training_extensions/actions/workflows/pre_merge.yaml/badge.svg)](https://github.com/openvinotoolkit/training_extensions/actions/workflows/pre_merge.yaml)\n[![Build Docs](https://github.com/openvinotoolkit/training_extensions/actions/workflows/docs.yaml/badge.svg)](https://github.com/openvinotoolkit/training_extensions/actions/workflows/docs.yaml)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Downloads](https://static.pepy.tech/personalized-badge/otx?period=total\u0026units=international_system\u0026left_color=grey\u0026right_color=green\u0026left_text=PyPI%20Downloads)](https://pepy.tech/project/otx)\n\n---\n\n\u003c/div\u003e\n\n## Introduction\n\nOpenVINO™ Training Extensions is a low-code transfer learning framework for Computer Vision.\nThe API \u0026 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.\nOpenVINO™ Training Extensions offers diverse combinations of model architectures, learning methods, and task types based on [PyTorch](https://pytorch.org) and [OpenVINO™ toolkit](https://software.intel.com/en-us/openvino-toolkit).\n\nOpenVINO™ Training Extensions provides a \"recipe\" for every supported task type, which consolidates necessary information to build a model.\nModel templates are validated on various datasets and serve one-stop shop for obtaining the best models in general.\nIf you are an experienced user, you can configure your own model based on [torchvision](https://pytorch.org/vision/stable/index.html), [mmcv](https://github.com/open-mmlab/mmcv) and [OpenVINO Model Zoo (OMZ)](https://github.com/openvinotoolkit/open_model_zoo).\n\nFurthermore, OpenVINO™ Training Extensions provides automatic configuration for ease of use.\nThe framework will analyze your dataset and identify the most suitable model and figure out the best input size setting and other hyper-parameters.\nThe development team is continuously extending this [Auto-configuration](https://openvinotoolkit.github.io/training_extensions/latest/guide/explanation/additional_features/auto_configuration.html) 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.\n\n### Key Features\n\nOpenVINO™ Training Extensions supports the following computer vision tasks:\n\n- **Classification**, including multi-class, multi-label and hierarchical image classification tasks.\n- **Object detection** including rotated bounding box support\n- **Semantic segmentation**\n- **Instance segmentation** including tiling algorithm support\n- **Anomaly recognition** tasks including anomaly classification, detection and segmentation\n\nOpenVINO™ Training Extensions supports the [following learning methods](https://openvinotoolkit.github.io/training_extensions/latest/guide/explanation/algorithms/index.html):\n\n- **Supervised**, incremental training, which includes class incremental scenario.\n\nOpenVINO™ Training Extensions provides the following usability features:\n\n- [Auto-configuration](https://openvinotoolkit.github.io/training_extensions/latest/guide/explanation/additional_features/auto_configuration.html). OpenVINO™ Training Extensions analyzes provided dataset and selects the proper task and model to provide the best accuracy/speed trade-off.\n- [Datumaro](https://openvinotoolkit.github.io/datumaro/stable/index.html) 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.\n- **Distributed training** to accelerate the training process when you have multiple GPUs\n- **Mixed-precision training** to save GPUs memory and use larger batch sizes\n\n---\n\n## Installation\n\nPlease refer to the [installation guide](https://openvinotoolkit.github.io/training_extensions/latest/guide/get_started/installation.html).\nIf you want to make changes to the library, then a local installation is recommended.\n\n\u003cdetails\u003e\n\u003csummary\u003eInstall from PyPI\u003c/summary\u003e\nInstalling the library with pip is the easiest way to get started with otx.\n\n```bash\npip install otx[base]\n```\n\nAlternatively, for zsh users:\n\n```bash\npip install 'otx[base]'\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstall from source\u003c/summary\u003e\nTo install from source, you need to clone the repository and install the library using pip via editable mode.\n\n```bash\n# Use of virtual environment is highy recommended\n# Using conda\nyes | conda create -n otx_env python=3.10\nconda activate otx_env\n\n# Or using your favorite virtual environment\n# ...\n\n# Clone the repository and install in editable mode\ngit clone https://github.com/openvinotoolkit/training_extensions.git\ncd training_extensions\npip install -e .[base]  # for zsh: pip install -e '.[base]'\n```\n\n\u003c/details\u003e\n\n---\n\n## Quick-Start\n\nOpenVINO™ Training Extensions supports both API and CLI-based training. The API is more flexible and allows for more customization, while the CLI training utilizes command line interfaces, and might be easier for those who would like to use OpenVINO™ Training Extensions off-the-shelf.\n\nFor the CLI, the commands below provide subcommands, how to use each subcommand, and more:\n\n```bash\n# See available subcommands\notx --help\n\n# Print help messages from the train subcommand\notx train --help\n\n# Print help messages for more details\notx train --help -v   # Print required parameters\notx train --help -vv  # Print all configurable parameters\n```\n\nYou can find details with examples in the [CLI Guide](https://openvinotoolkit.github.io/training_extensions/latest/guide/get_started/cli_commands.html). and [API Quick-Guide](https://openvinotoolkit.github.io/training_extensions/latest/guide/get_started/api_tutorial.html).\n\nBelow is how to train with auto-configuration, which is provided to users with datasets and tasks:\n\n\u003cdetails\u003e\n\u003csummary\u003eTraining via API\u003c/summary\u003e\n\n```python\n# Training with Auto-Configuration via Engine\nfrom otx.engine import Engine\n\nengine = Engine(data_root=\"data/wgisd\", task=\"DETECTION\")\nengine.train()\n```\n\nFor more examples, see documentation: [API Quick-Guide](https://openvinotoolkit.github.io/training_extensions/latest/guide/get_started/api_tutorial.html)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eTraining via CLI\u003c/summary\u003e\n\n```bash\notx train --data_root data/wgisd --task DETECTION\n```\n\nFor more examples, see documentation: [CLI Guide](https://openvinotoolkit.github.io/training_extensions/latest/guide/get_started/cli_commands.html)\n\n\u003c/details\u003e\n\nIn addition to the examples above, please refer to the documentation for tutorials on using custom models, training parameter overrides, and [tutorial per task types](https://openvinotoolkit.github.io/training_extensions/latest/guide/tutorials/base/how_to_train/index.html), etc.\n\n---\n\n### Release History\n\nPlease refer to the [CHANGELOG.md](CHANGELOG.md)\n\n---\n\n## License\n\nOpenVINO™ Toolkit is licensed under [Apache License Version 2.0](LICENSE).\nBy contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms.\n\n---\n\n## Issues / Discussions\n\nPlease use [Issues](https://github.com/openvinotoolkit/training_extensions/issues/new/choose) tab for your bug reporting, feature requesting, or any questions.\n\n---\n\n## Disclaimer\n\nIntel is committed to respecting human rights and avoiding complicity in human rights abuses.\nSee Intel's [Global Human Rights Principles](https://www.intel.com/content/www/us/en/policy/policy-human-rights.html).\nIntel'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.\n\n---\n\n## Contributing\n\nFor those who would like to contribute to the library, see [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\nThank you! we appreciate your support!\n\n\u003ca href=\"https://github.com/openvinotoolkit/training_extensions/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=openvinotoolkit/training_extensions\" /\u003e\n\u003c/a\u003e\n\n---\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenvinotoolkit%2Ftraining_extensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenvinotoolkit%2Ftraining_extensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenvinotoolkit%2Ftraining_extensions/lists"}