Releases: openvinotoolkit/training_extensions
Release 1.6.3
What's Changed - Brief Version
Enhancements
Bug fixes
What's Changed - Full Version
- Fix rotated detection data pipeline by @eugene123tw in #3627
- Improve Vitens Kiemgetal OTX 1.6.x by @eugene123tw in #3671
- Update dependencies by @yunchu in #3750
- Update release notes by @yunchu in #3754
- Update publish workflow by @yunchu in #3755
- [hotfix] Add id-token write permission by @yunchu in #3764
Full Changelog: 1.6.2...1.6.3
Release 1.6.3rc0
What's Changed
- Fix rotated detection data pipeline by @eugene123tw in #3627
- Improve Vitens Kiemgetal OTX 1.6.x by @eugene123tw in #3671
- Update dependencies by @yunchu in #3750
Full Changelog: 1.6.2...1.6.3rc0
Release 2.1.0
What's Changed - Brief Version
NOTES
OpenVINO™ Training Extensions, version 2.1.0 does not include the latest functional and security updates. OpenVINO™ Training Extensions, version 2.2.0 is targeted to be released in September 2024 and will include additional functional and security updates. Customers should update to the latest version as it becomes available.
New features
- Add a flag to enable OV inference on dGPU
(#3503) - Add early stopping with warmup. Remove mandatory background label in semantic segmentation task
(#3515) - RTMDet-tiny enablement for detection task
(#3542) - Add data_format validation and update in OTXDataModule
(#3579) - Add torchvision.MaskRCNN
(#3504) - Add Semi-SL for Multi-class Classification (EfficientNet-B0)
(#3566) - Decoupling mmaction for action classification (MoviNet, X3D)
(#3582) - Add Semi-SL Algorithms for mv3-large, effnet-v2, deit-tiny, dino-v2
(#3602) - RTMDet-tiny enablement for detection task (export/optimize)
(#3564) - Enable ruff & ruff-format into otx/algo/classification/backbones
(#3667) - Add TV MaskRCNN Tile Recipe
(#3655) - Add rotated det OV recipe
(#3687)
Enhancements
- Change load_stat_dict to on_load_checkpoint
(#3443) - Add try - except to keep running the remaining tests
(#3448) - Update instance_segmentation.py to resolve conflict with 2.0.0
(#3506) - Update XPU install
(#3516) - Sync rgb order between torch and ov inference of action classification task
(#3551) - Make Perf test available to load pervious Perf test to skip training stage
(#3556) - Reenable e2e classification XAI tests
(#3591) - Remove action detection task support
(#3605) - Increase readability of pickling error log during HPO & fix minor bug
(#3606) - Update RTMDet checkpoint url
(#3631) - Refactor Torchvision Model for Classification Semi-SL
(#3614) - Add coverage omit mm-related code
(#3641) - Add docs semi-sl part
(#3640) - Refactor docs design & Add contents
(#3645) - Add execution example of auto batch size in docs
(#3648) - Add Semi-SL for cls Benchmark Test
(#3647) - Move value to device before logging for metric
(#3649) - Add .codecov.yaml
(#3650) - Update benchmark tool for otx2.1
(#3652) - Collect pretrained weight binary files in one place
(#3656) - Minimize compiled dependency files
(#3653) - Update README & CODEOWNERS
(#3659) - Update Engine's docstring & CLI --help outputs
(#3658) - Align integration test to exportable code interface update for release branch
(#3676) - Refactor exporter for anomaly task and fix a bug with exportable code
(#3672) - Update pandas version constraint
(#3679) - Include more models to export test into test_otx_e2e
(#3678) - Move assigning tasks to Models from Engine to Anomaly Model Classes
(#3683) - Refactoring detection modules
(#3636)
Bug fixes
- Fix conflicts between develop and 2.0.0
(#3490) - Fix polygon mask
(#3549) - Fix vpm intg test error
(#3554) - Fix anomaly
(#3557) - Bug fix in Semantic Segmentation + enable DINOV2 export in ONNX
(#3569) - Fix some export issues. Remove EXPORTABLE_CODE as export parameter.
(#3577) - Fix
load_from_checkpoint
to apply original model's hparams
(#3607) - Fix
load_from_checkpoint
args to apply original model's hparams
(#3611) - Fix zero-shot
learn
for ov model
(#3601) - Various fixes for XAI in 2.1
(#3615) - Fix tests to work in a mm-free environment
(#3632) - Fix a bug in benchmark code
(#3643) - Update exportable code dependency & fix a bug
(#3642) - Fix getting wrong shape during resizing
(#3644) - Fix detection prediction outputs
(#3634) - Fix RTMDet PTQ performance
(#3651) - Fix segmentation fault on VPM PTQ
(#3654, #3689) - Fix NNCF MaskRCNN-Eff accuracy drop
(#3680) - Fix optimize with Semi-SL data pipeline
(#3684) - Fix MaskRCNN SwinT NNCF Accuracy Drop
(#3685)
What's Changed - Full Version
- Change load_stat_dict to on_load_checkpoint by @jaegukhyun in #3443
- Bump jinja2 from 3.1.3 to 3.1.4 in /.ci/requirements/benchmark by @dependabot in #3456
- Bump werkzeug from 3.0.1 to 3.0.3 in /for_developers/regression_test by @dependabot in #3454
- Bump jinja2 from 3.1.3 to 3.1.4 in /for_developers/regression_test by @dependabot in #3455
- Add try - except to keep running the remaining tests by @chuneuny-emily in #3448
- Fix e2e xai tests by @negvet in #3440
- Bump actions/upload-artifact from 4.3.2 to 4.3.3 by @dependabot in #3423
- Bump tox from 4.4.5 to 4.14.2 by @dependabot in #3197
- Fix conflicts between develop and 2.0.0 by @harimkang in #3490
- Bump mlflow from 2.11.1 to 2.12.2 by @dependabot in #3493
- Bump mlflow from 2.12.1 to 2.12.2 in /for_developers/regression_test by @dependabot in #3494
- Bump pre-commit from 3.7.0 to 3.7.1 by @dependabot in #3492
- Bump aquasecurity/trivy-action from 0.19.0 to 0.20.0 by @dependabot in #3496
- Bump pypa/cibuildwheel from 2.13.1 to 2.18.0 by @dependabot in #3497
- Bump ossf/scorecard-action from 2.3.1 to 2.3.3 by @dependabot in #3495
- Bump regex from 2023.12.25 to 2024.5.10 by @dependabot in #3491
- ...
Release 2.0.0
What's Changed - Brief Version
NOTES
OpenVINO™ Training Extensions which version 2.0.0 has been updated to include refactoring of the overall architecture and functional updates. Users should install the new environment.
New features
- Enable New design to provide a more seamless API/CLI that delivers the value of OTX: Product Design
- Moved away from MMLab's libraries to provide a Lightning-based core and training pipeline
- Use Lightning-based modules and trainers to deliver APIs/CLIs in a more user-friendly way
- Support Intel devices for accelerating deep learning model training
Enhancements
- Support more models for each task
- Improve the API so user can configure efficient training with shorter code
- Provide more customize settings through the CLI and API
- Enhance the Auto-Configuration feature and made it available in the API
Bug fixes
- Fixing some minor issues
What's Changed - Full Version
- Initial commit by @vinnamkim in #2670
- Initialize classification for the v2 by @sungmanc in #2678
- Enable local package installation and CLI draft implementation by @harimkang in #2679
- Add IterationTimer callback by @vinnamkim in #2682
- Enable Ruff-UP007 (PEP604) by @harimkang in #2684
- Fix coverage error on CI by @vinnamkim in #2687
- Make subset_name configurable by @vinnamkim in #2685
- Fix tox configuration in CI by @harimkang in #2689
- Add memory caching by @vinnamkim in #2686
- Migrate Geti object detection models by @jaegukhyun in #2690
- Update recipe data subsets (hot-fix) by @jaegukhyun in #2694
- Fix warning from batch_size auto-inference failure by @vinnamkim in #2692
- Add Simple Integration test (CLI - 'otx train') by @harimkang in #2695
- Turn on setting seed and deterministic flags by @vinnamkim in #2700
- Change docstring location and learning hyperparams for object detection by @jaegukhyun in #2699
- Add semantic segmentation models to new design by @kprokofi in #2693
- Fix integration test config settings by @harimkang in #2701
- Organize and Enable callbacks per task by @harimkang in #2703
- Mem cache with resize by @vinnamkim in #2702
- Add 'otx test' command by @harimkang in #2707
- Add torchvision v2 transform by @vinnamkim in #2709
- Bring the SOTA(DINOv2) model to the classification task by @sungmanc in #2708
- Add unit tests for otx/algo/detection and otx/core/data/(base, detection) by @jaegukhyun in #2711
- Add Instance Segmentation models to new design by @eugene123tw in #2698
- Add custom model example by @vinnamkim in #2712
- Change the cls head to make them same with the otx1.5 by @sungmanc in #2716
- Add regression test workflow by @vinnamkim in #2718
- Fix otx_train by @vinnamkim in #2720
- Add learning rate monitor by @vinnamkim in #2721
- Add testmetric to the log file by @sungmanc in #2722
- Add unit tests for segmentation by @kprokofi in #2715
- Revise cli unit test by @vinnamkim in #2723
- Fix regression test guide doc by @vinnamkim in #2726
- Fix DINOv2 data transform, add linear probe recipe by @sungmanc in #2725
- Enable ruff-format into v2 by @harimkang in #2735
- Add DinoV2 for semantic segmentation by @kprokofi in #2731
- Enable action classification for v2 by @jaegukhyun in #2737
- Initialize product design doc and add design proposal process to contribution guide by @vinnamkim in #2733
- Enable multilabel classification by @sungmanc in #2739
- Fix MM*DataPreProcessor issue with a more elegant way by @vinnamkim in #2744
- Fix bug by resetting timer every epoch begins by @vinnamkim in #2746
- Update design doc core part by @vinnamkim in #2741
- Enable action detection task for v2 by @jaegukhyun in #2747
- Add GPU marker to the regression test by @vinnamkim in #2754
- Enhance classification task's model performance by @vinnamkim in #2749
- Add detection regression test by @jaegukhyun in #2752
- Patch mmaction2 at installation by @vinnamkim in #2756
- Update PR Reviewers by @harimkang in #2759
- Support TorchVision v2 transforms with ImageInfo by @vinnamkim in #2750
- Add OpenVINO IR inference for CLS, OD, SSEG, IS tasks + OMZ OV models validation support by @kprokofi in #2748
- Enable smart weight loading by @jaegukhyun in #2758
- Enable h-label classification by @sungmanc in #2761
- Add medium and large reg tests for multiclass and multilabel classifications by @sungmanc in #2770
- Update weight copy logic of smart weight loading to support various cases by @jaegukhyun in #2767
- Fix error on logging hparams of OTXDataModule by @vinnamkim in #2773
- Pre-work for the design change: create own python class for every model by @vinnamkim in #2775
- Add asynchronous OV IR inference by @kprokofi in #2769
- Update object detection regression by @jaegukhyun in #2777
- Add gradient clipping and sync hyper parameters wit OTX1.x by @jaegukhyun in #2786
- Add Engine class for OTX Entry Point by @harimkang in #2778
- Update val_check_interval default value in Engine by @harimkang in #2798
- Apply FP16 mixed precision for all tasks by @jaegukhyun in #2789
- Hotfix for segmentation + raising an error when metric is None by @kprokofi in #2788
- Create own python class for every model for action cls, det, and classification tasks by @vinnamkim in #2776
- Add adaptive validation interval by @vinnamkim in #2799
- Fix multilabel training on non-trivial data by @sovrasov in #2796
- Add ImageColorChannel to ImageInfo by @vinnamkim in #2792
- Create own python class for every model inst seg by @vinnamkim in #2781
- Create own python class for every model semantic seg by @vinnamkim in #2782
- Create own python class for every model det by @vinnamkim in https...
Fruits and Vegetables Dataset
Overview
We are pleased to announce the release of the "Fruits and Vegetables" dataset, a toy dataset curated specifically for the OTX 2.0 tutorial at CVPR 2024. This dataset is intended to quickly demonstrate self-checkout use-cases, providing a simplified yet effective resource for understanding automated retail systems.
Dataset Structure
The dataset consists of high-quality images of various fruits and vegetables, each annotated with bounding boxes and class labels. The images are organized into training, validation, and test sets to facilitate quick experimentation and model evaluation.
- Training Set: 97 images
- Validation Set: 38 images
- Test Set: 59 images
Release 1.6.2
What's Changed
- Add augmentation detail page to docs by @yunchu in #3533
- Update for 1.6.2 release by @yunchu in #3555
Full Changelog: 1.6.1rc7...1.6.2
Release 1.6.1
Enhancements
- Replace the default model for rotated_det/ins_seg task from resnet50_maskrcnn to efficientnetb2b_maskrcnn (#3478)
- Update pymongo version to 4.6.3 for resolving CVE-2024-21506 (#3396)
- Use torchvision in MRCNN on CUDA (#3347)
- Update IPEX version in installation guide documentation (#3343)
- Update benchmark (#3338)
- Bump idan version to 3.7 (#3332)
- Support benchmark history summary (#3307)
- Pin pymongo version to 4.5.0 (#3316)
- Upgrade MAPI (#3304)
- Add NMS iou threshold configurable parameter (#3287)
- Remedy some medium/low severity bandit issues (#3208)
- Update documentations (#3280)
- Add perf benchmark test cases for action and visual prompting (#3292)
Bug fixes
- Explicitly cast incorrect output type in OV model (#3395)
- Update QAT configs for rotated detection (#3375)
- Hotfix 🔧 Bypass ClsIncrSampler for tiling (#3374)
- [NNCF] Dynamic shape datasets WA (#3355)
- [Hotfix] 🔥 Fixing detection oriented OV inferencer (#3351)
- Revert adaptive batch size (#3340)
- Fix e2e tests for XPU (#3305)
- Remove torch.xpu.optimize for semantic_segmentation task (#3172)
What's Changed - full version
- Update documentations by @yunchu in #3280
- Remove torch.xpu.optimize for semantic_segmentation task by @kprokofi in #3172
- Add perf benchmark test cases for action and visual prompting v1 by @goodsong81 in #3292
- Remedy some medium/low severity bandit issues by @yunchu in #3208
- Add NMS iou threshold configurable parameter by @jaegukhyun in #3287
- Update otx version string to 1.6.1rc1 by @yunchu in #3299
- Upgrade MAPI by @sovrasov in #3304
- Fix e2e tests for XPU on 1.6.0 by @kprokofi in #3305
- Pin pymongo version to 4.5.0 by @yunchu in #3316
- Support benchmark history summary v1 by @goodsong81 in #3307
- Bump datumaro 1.6.1rc2 by @yunchu in #3322
- Bump idan version to 3.7 by @yunchu in #3332
- Update 1.6 benchmark w.r.t. 2.1 by @goodsong81 in #3338
- Revert adaptive batch size by @eunwoosh in #3340
- Update IPEX version in installation guide documentation for OTX1.6 by @eunwoosh in #3343
- [Hotfix] 🔥 Fixing detection oriented OV inferencer by @eugene123tw in #3351
- Use torchvision in MRCNN on CUDA by @sovrasov in #3347
- [NNCF] Dynamic shape datasets WA by @daniil-lyakhov in #3355
- Bump datumaro to 1.6.1rc3 by @yunchu in #3365
- Update QAT configs for rotated detection by @sovrasov in #3375
- Update for release 1.6.1 by @yunchu in #3371
- Hotfix 🔧 Bypass ClsIncrSampler for tiling by @eugene123tw in #3374
- Change otx dependency to release branch for demo by @yunchu in #3385
- [OTX 1.6.x] Fix QAT for detection tiling models by @sovrasov in #3389
- Update pymongo version and constraint by @yunchu in #3396
- [1.6.x] Fix export precision by @sovrasov in #3394
- [1.6.1] Explicitly cast incorrect output type in OV model by @sovrasov in #3395
- Update changelog for 1.6.1rc4 by @yunchu in #3401
- Update trivy worflow by @yunchu in #3416
- Bump pillow to 10.3.0 by @yunchu in #3437
- Bump datumaro to 1.6.1 by @yunchu in #3445
- Remove unnecessary model weights during HPO by @eunwoosh in #3459
- Replace the Geti default model for rotated_det/ins_seg task from resnet50_maskrcnn to efficientnetb2b_maskrcnn by @chuneuny-emily in #3478
- Update OTX1.6.1 changelog by @chuneuny-emily in #3481
- add augmentation detail page to docs by @yunchu in #3533
Full Changelog: 1.6.0...1.6.1
Release 1.6.0
New features
- Add zero-shot visual prompting (#2616, #2706, #2753)
- Add support for the training and validation on the XPU devices (#3058)
Enhancements
- Upgrade OpenVINO to 2023.3 (#2879)
- Automate performance benchmark (#2742)
- Bump ONNX version to 1.16.0 to resolve CVE-2022-25882 (#3205)
What's Changed- Full Version
- Enable PTQ for visual prompting model by @sungchul2 in #2519
- Update reg test for Swin-T model by @yunchu in #2527
- [OTX] remove dead code by @Harmjandevries in #2528
- Fix the incorrect progress information when AdaptiveRepeatDataHook is enabled by @sungmanc in #2510
- Migrate anomaly exportable code to modelAPI by @ashwinvaidya17 in #2432
- Fix nncf optimization for anomaly task by @ashwinvaidya17 in #2537
- Enable deit testing by @negvet in #2536
- Remove unused HPO weight while HPO is running by @eunwoosh in #2545
- Add option to attach host path to container's cache by @yunchu in #2546
- Enable resuming with
weights.pth
saved by visual prompting by @sungchul2 in #2538 - Upgrade MAPI to v 0.1.6 by @sovrasov in #2529
- Add proxy env setting to ci script by @yunchu in #2561
- Mergeback 1.5.0rc1 by @yunchu in #2562
- Add light backbones for visual prompting (#1) by @sungchul2 in #2544
- Update for CI by @yunchu in #2566
- Update OV to 2023.1 by @sovrasov in #2505
- Fix and update Semi-SL Object Detection algorithms by @kprokofi in #2554
- Apply resize cache to non-default models & recipes by @goodsong81 in #2576
- Update det e2e to skip unsupported train type by @yunchu in #2588
- Add missing import pathlib for cls e2e testing by @yunchu in #2610
- Unify logger usage by @eunwoosh in #2612
- Mergeback 1.5.0 to develop by @yunchu in #2633
- Mergeback 1.5.0 to develop by @yunchu in #2642
- Revert "Mergeback 1.5.0 to develop" by @yunchu in #2645
- Mergeback/1.5.0 by @yunchu in #2646
- Add a tool to help conduct experiments by @eunwoosh in #2651
- Revert inference batch size to 1 for instance segmentation by @goodsong81 in #2648
- Remove unnecessary log while building a model by @eunwoosh in #2658
- Fix a minor bug of experiment.py by @eunwoosh in #2662
- Not check avg_time_per_image during test by @eunwoosh in #2665
- Mergeback releases/1.5.0 to develop by @yunchu in #2663
- Update docs for enabling sphinx.ext.autosummary by @yunchu in #2654
- Update PTQ docs by @GalyaZalesskaya in #2672
- Update regression tests for develop by @yunchu in #2652
- Exclude py37 target config for cibuildwheel by @yunchu in #2673
- Add
--dryrun
option to tools/experiment.py by @goodsong81 in #2674 - Update OTX explain CLI arguments by @GalyaZalesskaya in #2671
- Fix e2e tests for explain by @GalyaZalesskaya in #2681
- Add README.md for experiment.py by @eunwoosh in #2688
- Fix typo in reg test cmd by @yunchu in #2691
- Select more proper model weight file according to commands run just before by @eunwoosh in #2696
- Add visual prompting zero-shot learning (
learn
&infer
) by @sungchul2 in #2616 - Fix unsupported dtype in ov graph constant converter by @sovrasov in #2676
- Skip failure TC with adding issue number ref. by @yunchu in #2717
- Fix visual prompting e2e test by @sungchul2 in #2719
- Remove duplicated variable combination in experiment.py by @eunwoosh in #2713
- Enhance detection & instance segmentation experiment by @goodsong81 in #2710
- Upgrade NNCF & OpenVINO by @sovrasov in #2656
- Fix multilabel classification class index by @sungmanc in #2736
- Refine parsing final score of training in experiment.py by @eunwoosh in #2738
- Make mean teacher algorithm consider distributed training by @eunwoosh in #2729
- Add visual prompting zero-shot learning (
export
, IR inference) by @sungchul2 in #2706 - Automate performance benchmark by @goodsong81 in #2742
- Update tools/expreiment.py by @eunwoosh in #2751
- Split accuracy & speed benchmark github workflows by @goodsong81 in #2763
- Fix a bug that error is raised when train set size is greater than minimumof batch size in HPO by exactly 1 by @eunwoosh in #2760
- Fix a bug that a process tracking resource usage doesn't exit when main process raises an error by @eunwoosh in #2765
- Support multiple experiments in single recipe for tools/experiment.py by @eunwoosh in #2757
- Enable perf benchmark result logging to mlflow server by @yunchu in #2768
- Bump datumaro version to 1.6.0rc1 by @yunchu in #2784
- Update perf logging by @yunchu in #2785
- Update perf logging workflow to get branch+sha from gh context by @yunchu in #2791
- Add visual prompting zero-shot learning (optimize, documentation, bug fixes) by @sungchul2 in #2753
- Check performance benchmark result with reference by @goodsong81 in #2821
- Mergeback releases/1.5.0 to develop by @yunchu in #2830
- Create OSSF scorecard workflow by @yunchu in #2831
- Fix ossf/scorecard-action version by @yunchu in #2832
- Update perf benchmark reference by @goodsong81 in #2843
- Set default wf permission to read-all by @yunchu in #2882
- Remedy token permission issue by @yunchu in #2888
- Add progress callback interface to HPO by @eunwoosh in #2889
- Restrict configurable parameters to avoid unreasonable cost for SaaS trial by @harimkang in #2891
- Fix more token-permission issues - part3 by @yunchu in https://github.com/openvin...
Release v1.5.2
Bug fixes
- Fix label order for h-cls (#2921)
- Revert MRCNN resize to state from 1.4 (#2922)
- Bump up MAPI version to 0.1.8 -> 0.1.9 (#2923)
- Revert polygon clipping code (#2926)
- Fix default memcache size to 100MB (#2960, #2990)
- Fix wrong domain in tiling rotated detection (#3141)
Full Changelog: 1.5.0...1.5.2
Release v1.4.5
Bug fixes
- 🐞 Filter invalid polygon shapes (#2795)
- 🐞 Set reverse_input_channels to True in OpenVINO models (#2848)
- Remove dependency of protobuf (#2851)
- 🐞 Fix
label_to_idx
for hierarchical classification (#2906)
Full Changelog: 1.4.4...1.4.5