Skip to content

Commit

Permalink
Mergeback 1.5.0 to develop (#2642)
Browse files Browse the repository at this point in the history
* Update publish workflow for tag checking (#2632)

* Update e2e tests for XAI Detection (#2634)

* Disable QAT for newly added models (#2636)

* Update release note and readme (#2637)

* remove package upload step on internal publish wf

* update release note and, changelog, and readme

* update version string to 1.6.0dev

---------

Co-authored-by: Galina Zalesskaya <galina.zalesskaya@intel.com>
Co-authored-by: Jaeguk Hyun <jaeguk.hyun@intel.com>
  • Loading branch information
3 people authored Nov 17, 2023
1 parent 104404b commit 2f67686
Show file tree
Hide file tree
Showing 13 changed files with 64 additions and 40 deletions.
19 changes: 7 additions & 12 deletions .github/workflows/publish_internal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ name: Build and upload to internal PyPI

on:
workflow_dispatch: # run on request (no need for PR)
release:
types: [published]

jobs:
build_wheels:
Expand Down Expand Up @@ -61,23 +59,20 @@ jobs:
uses: actions-ecosystem/action-regex-match@v2
with:
text: ${{ github.ref }}
regex: '^refs/tags/[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+rc[0-9]+|rc[0-9]+)?$'
- name: Upload package distributions to github
if: ${{ steps.check-tag.outputs.match != '' }}
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: dist/*
tag: ${{ github.ref }}
overwrite: true
file_glob: true
regex: '^refs/heads/releases/[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+rc[0-9]+|rc[0-9]+)?$'
- name: Check dist contents
run: twine check dist/*
- name: Publish package dist to internal PyPI
if: ${{ steps.check-tag.outputs.match != '' }}
run: |
export no_proxy=${{ secrets.PYPI_HOST }}
export REPOSITORY_URL=http://${{ secrets.PYPI_HOST }}:${{ secrets.PYPI_PORT }}
twine upload --verbose --repository-url $REPOSITORY_URL dist/* -u ${{ secrets.PYPI_USER }} -p ${{ secrets.PYPI_PASSWORD }}
- name: Publish package distributions to TestPyPI
if: ${{ steps.check-tag.outputs.match == '' }}
run: |
export REPOSITORY_URL=https://test.pypi.org/legacy/
twine upload --verbose --repository-url $REPOSITORY_URL dist/* -u __token__ -p ${{ secrets.TESTPYPI_API_TOKEN }}
- name: Clean up dist
if: ${{ always() }}
run: |
Expand Down
14 changes: 8 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@

All notable changes to this project will be documented in this file.

## \[v1.5.0 - unreleased\]
## \[unreleased\]

## \[v1.5.0\]

### New features

- Enable configurable confidence threshold for otx eval and export(<https://github.com/openvinotoolkit/training_extensions/pull/2388>)
- 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>)
- 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>)
- 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>)
- 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>)
Expand Down
30 changes: 17 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ If you are an experienced user, you can configure your own model based on [torch

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](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.
The development team is continuously extending this [Auto-configuration](https://openvinotoolkit.github.io/training_extensions/stable/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.

### Key Features

Expand All @@ -63,11 +63,11 @@ OpenVINO™ Training Extensions supports the [following learning methods](https:

OpenVINO™ Training Extensions provides the following usability features:

- [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 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.
- [Auto-configuration](https://openvinotoolkit.github.io/training_extensions/stable/guide/explanation/additional_features/auto_configuration.html). 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](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.
- **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)](https://openvinotoolkit.github.io/training_extensions/latest/guide/explanation/additional_features/hpo.html). 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.
- Integrated, efficient [hyper-parameter optimization module (HPO)](https://openvinotoolkit.github.io/training_extensions/stable/guide/explanation/additional_features/hpo.html). 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.

---

Expand Down Expand Up @@ -97,16 +97,20 @@ You can find more details with examples in the [CLI command intro](https://openv

## Updates

### v1.4.0 (3Q23)

- Support encrypted dataset training (<https://github.com/openvinotoolkit/training_extensions/pull/2209>)
- Add custom max iou assigner to prevent CPU OOM when large annotations are used (<https://github.com/openvinotoolkit/training_extensions/pull/2228>)
- Auto train type detection for Semi-SL, Self-SL and Incremental: "--train-type" now is optional (<https://github.com/openvinotoolkit/training_extensions/pull/2195>)
- Add per-class XAI saliency maps for Mask R-CNN model (<https://github.com/openvinotoolkit/training_extensions/pull/2227>)
- Add new object detector Deformable DETR (<https://github.com/openvinotoolkit/training_extensions/pull/2249>)
- Add new object detector DINO (<https://github.com/openvinotoolkit/training_extensions/pull/2266>)
- Add new visual prompting task (<https://github.com/openvinotoolkit/training_extensions/pull/2203>, <https://github.com/openvinotoolkit/training_extensions/pull/2274>, <https://github.com/openvinotoolkit/training_extensions/pull/2311>, <https://github.com/openvinotoolkit/training_extensions/pull/2354>, <https://github.com/openvinotoolkit/training_extensions/pull/2318>)
- Add new object detector ResNeXt101-ATSS (<https://github.com/openvinotoolkit/training_extensions/pull/2309>)
### v1.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 History

Expand Down
29 changes: 29 additions & 0 deletions docs/source/guide/release_notes/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,35 @@ Releases
.. toctree::
:maxdepth: 1

v1.5.0 (4Q23)
-------------

- Enable configurable confidence threshold for otx eval and export
- Add YOLOX variants as new object detector models
- Enable FeatureVectorHook to support action tasks
- Add ONNX metadata to detection, instance segmantation, and segmentation models
- Add a new feature to configure input size
- Introduce the OTXSampler and AdaptiveRepeatDataHook to achieve faster training at the small data regime
- Add a new object detector Lite-DINO
- Add Semi-SL Mean Teacher algorithm for Instance Segmentation task
- Official supports for YOLOX-X, YOLOX-L, YOLOX-S, ResNeXt101-ATSS
- Add new argument to track resource usage in train command
- Add Self-SL for semantic segmentation of SegNext families
- Adapt input size automatically based on dataset statistics
- Refine input data in-memory caching
- Adapt timeout value of initialization for distributed training
- Optimize data loading by merging load & resize operations w/ caching support for cls/det/iseg/sseg
- Support torch==2.0.1
- Set "Auto" as default input size mode


v1.4.4 (4Q23)
-------------

- Update ModelAPI configuration
- Add Anomaly modelAPI changes
- Update Image numpy access

v1.4.3 (4Q23)
-------------

Expand Down
2 changes: 1 addition & 1 deletion requirements/base.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Base Algo Requirements. #
# Base Algo Requirements. #
natsort==8.1.*
prettytable==3.9.*
protobuf==3.20.*
Expand Down
2 changes: 1 addition & 1 deletion src/otx/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
# Copyright (C) 2021-2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

__version__ = "1.5.0"
__version__ = "1.6.0dev"
# NOTE: Sync w/ src/otx/api/usecases/exportable_code/demo/requirements.txt on release
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ framework: OTXDetection v2.9.1
entrypoints:
base: otx.algorithms.detection.adapters.mmdet.task.MMDetectionTask
openvino: otx.algorithms.detection.adapters.openvino.task.OpenVINODetectionTask
nncf: otx.algorithms.detection.adapters.mmdet.nncf.task.DetectionNNCFTask

# Capabilities.
capabilities:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ framework: OTXDetection v2.9.1
entrypoints:
base: otx.algorithms.detection.adapters.mmdet.task.MMDetectionTask
openvino: otx.algorithms.detection.adapters.openvino.task.OpenVINODetectionTask
nncf: otx.algorithms.detection.adapters.mmdet.nncf.task.DetectionNNCFTask

# Capabilities.
capabilities:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ framework: OTXDetection v2.9.1
entrypoints:
base: otx.algorithms.detection.adapters.mmdet.task.MMDetectionTask
openvino: otx.algorithms.detection.adapters.openvino.task.OpenVINODetectionTask
nncf: otx.algorithms.detection.adapters.mmdet.nncf.task.DetectionNNCFTask

# Capabilities.
capabilities:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ framework: OTXDetection v2.9.1
entrypoints:
base: otx.algorithms.detection.adapters.mmdet.task.MMDetectionTask
openvino: otx.algorithms.detection.adapters.openvino.task.OpenVINODetectionTask
nncf: otx.algorithms.detection.adapters.mmdet.nncf.task.DetectionNNCFTask

# Capabilities.
capabilities:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ framework: OTXDetection v2.9.1
entrypoints:
base: otx.algorithms.detection.adapters.mmdet.task.MMDetectionTask
openvino: otx.algorithms.detection.adapters.openvino.task.OpenVINODetectionTask
nncf: otx.algorithms.detection.adapters.mmdet.nncf.task.DetectionNNCFTask

# Capabilities.
capabilities:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ framework: OTXDetection v2.9.1
entrypoints:
base: otx.algorithms.detection.adapters.mmdet.task.MMDetectionTask
openvino: otx.algorithms.detection.adapters.openvino.task.OpenVINODetectionTask
nncf: otx.algorithms.detection.adapters.mmdet.nncf.task.DetectionNNCFTask

# Capabilities.
capabilities:
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/cli/detection/test_api_xai_sanity_detection.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

class TestOVDetXAIAPI(DetectionTaskAPIBase):
ref_raw_saliency_shapes = {
"MobileNetV2-ATSS": (4, 4), # Need to be adapted to configurable or adaptive input size
"MobileNetV2-ATSS": (16, 16), # Need to be adapted to configurable or adaptive input size
}

@e2e_pytest_api
Expand Down

0 comments on commit 2f67686

Please sign in to comment.