Skip to content

Commit 48d7683

Browse files
harimkangashwinvaidya17jaegukhyunnikita-savelyevvsovrasov
authored andcommitted
[Feature/OTX] Rebase develop to feature/otx before MPA refactoring (#1284)
* Update submodule branch (#1222) * Enhance training schedule for multi-label classification (#1212) * [CVS-88098] Remove initialize from export functions (#1226) * Train graph added (#1211) Co-authored-by: Lee, Soobee <soobeele@intel.com> * Add @attrs decorator for base configs (#1229) Signed-off-by: Songki Choi <songki.choi@intel.com> Co-authored-by: Harim Kang <harim.kang@intel.com> * Pretrained weight download error in MobilenetV3-large-1 of deep-object-reid in SC (#1233) * [Anomaly Task] Revert hpo template (#1230) * 🐞 [Anomaly Task] Fix progress bar (#1223) * [CVS-90555] Fix NaN value in classification (#1244) * update hpo_config.yaml (#1240) * [CVS-90400, CVS-91015] NNCF pruning supported tweaks (#1248) * Turned off pruning_support visibility for anomaly models (CVS-91015) * Disabled pruning for EfficientNet-V2-S (CVS-90400) * [Anomaly Task] 🐞 Fix inference when model backbone changes (#1242) * Fix CVS-91469 sseg compatibility issue * [CVS-91472] Add pruning_supported value (#1263) * Pruning supported tweaks (#1256) * [CVS-90400, CVS-91015] NNCF pruning supported tweaks (#1248) * Turned off pruning_support visibility for anomaly models (CVS-91015) * Disabled pruning for EfficientNet-V2-S (CVS-90400) * Revert "[CVS-90400, CVS-91015] NNCF pruning supported tweaks (#1248)" (#1269) * [OTE-TEST] Disable obsolete test cases (#1220) * [OTE-TEST] hot-fix for MPA performance tests (#1273) * Expose early stopping hyper-parameters for all tasks (#1241) * Resolve pre-commit issues (#1272) * Remove LazyEarlyStopHook in model_multilabel.py (#1281) * Removed xfail (#1239) Signed-off-by: Songki Choi <songki.choi@intel.com> Co-authored-by: Ashwin Vaidya <ashwin.vaidya@intel.com> Co-authored-by: Jaeguk Hyun <jaeguk.hyun@intel.com> Co-authored-by: Nikita Savelyev <nikita.savelyev@intel.com> Co-authored-by: Vladisalv Sovrasov <sovrasov.vlad@gmail.com> Co-authored-by: Jihwan Eom <jihwan.eom@intel.com> Co-authored-by: Songki Choi <songki.choi@intel.com> Co-authored-by: Soobee Lee <soobee.lee@intel.com> Co-authored-by: Lee, Soobee <soobeele@intel.com> Co-authored-by: Eugene Liu <eugene.liu@intel.com> Co-authored-by: Emily Chun <emily.chun@intel.com> Co-authored-by: ljcornel <ludo.cornelissen@intel.com> Co-authored-by: Eunwoo Shin <eunwoo.shin@intel.com>
1 parent ee688af commit 48d7683

File tree

154 files changed

+5053
-3907
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+5053
-3907
lines changed

.pre-commit-config.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ repos:
1919
- id: isort
2020
alias: isort_rest
2121
name: "isort - legacy (ote_cli|external)"
22-
files: '^(ote_cli|external/anomaly)/.*\.py'
22+
files: '^(ote_cli|external/anomaly|external/model-preparation-algorithm)/.*\.py'
2323
exclude: "tests/"
2424

2525
- repo: https://github.com/psf/black
@@ -39,7 +39,7 @@ repos:
3939
- id: black
4040
name: "black - legacy (rest)"
4141
args: [--line-length, "120"]
42-
files: '^external/anomaly/.*\.py'
42+
files: '^(external/anomaly|external/model-preparation-algorithm)/.*\.py'
4343

4444
- repo: https://github.com/PyCQA/flake8
4545
rev: "5.0.3"
@@ -56,7 +56,7 @@ repos:
5656
# is to be removed.
5757
- id: flake8
5858
name: "flake8 - legacy "
59-
files: '^(ote_sdk|ote_cli|external/anomaly)/.*\.py'
59+
files: '^(ote_sdk|ote_cli|external/anomaly|external/model-preparation-algorithm)/.*\.py'
6060
args: ["--config", ".flake8", "--max-complexity", "20"]
6161
exclude: ".*/protobuf"
6262

QUICK_START_GUIDE.md

+19
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,9 @@ usage: ote train template params [-h]
173173
[--learning_parameters.learning_rate LEARNING_RATE]
174174
[--learning_parameters.learning_rate_warmup_iters LEARNING_RATE_WARMUP_ITERS]
175175
[--learning_parameters.num_iters NUM_ITERS]
176+
[--learning_parameters.enable_early_stopping ENABLE_EARLY_STOPPING]
177+
[--learning_parameters.early_stop_patience EARLY_STOP_PATIENCE]
178+
[--learning_parameters.early_stop_iteration_patience EARLY_STOP_ITERATION_PATIENCE]
176179
[--postprocessing.confidence_threshold CONFIDENCE_THRESHOLD]
177180
[--postprocessing.result_based_confidence_threshold RESULT_BASED_CONFIDENCE_THRESHOLD]
178181
[--nncf_optimization.enable_quantization ENABLE_QUANTIZATION]
@@ -205,6 +208,22 @@ optional arguments:
205208
default_value: 300
206209
max_value: 100000
207210
min_value: 1
211+
--learning_parameters.enable_early_stopping ENABLE_EARLY_STOPPING
212+
header: Enable early stopping of the training
213+
type: BOOLEAN
214+
default_value: True
215+
--learning_parameters.early_stop_patience EARLY_STOP_PATIENCE
216+
header: Patience for early stopping
217+
type: INTEGER
218+
default_value: 10
219+
max_value: 50
220+
min_value: 0
221+
--learning_parameters.early_stop_iteration_patience EARLY_STOP_ITERATION_PATIENCE
222+
header: Iteration patience for early stopping
223+
type: INTEGER
224+
default_value: 0
225+
max_value: 1000
226+
min_value: 0
208227
--postprocessing.confidence_threshold CONFIDENCE_THRESHOLD
209228
header: Confidence threshold
210229
type: FLOAT

external/README.md

+37-45
Original file line numberDiff line numberDiff line change
@@ -5,68 +5,60 @@ Every sub-project is fully indepedent from each other, and each of them has its
55

66
## Anomaly Classification
77

8-
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
9-
| -------------------------------- | ----- | ------------------- | --------------- | ---------------------------------------------------- |
10-
| ote_anomaly_classification_padim | PADIM | 3.9 | 168.4 | anomaly/templates/classification/padim/template.yaml |
11-
| ote_anomaly_classification_stfpm | STFPM | 5.6 | 21.1 | anomaly/templates/classification/stfpm/template.yaml |
8+
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
9+
| -------------------------------- | ----- | ------------------- | --------------- | -------------------------------------------------- |
10+
| ote_anomaly_classification_padim | PADIM | 3.9 | 168.4 | anomaly/configs/classification/padim/template.yaml |
11+
| ote_anomaly_classification_stfpm | STFPM | 5.6 | 21.1 | anomaly/configs/classification/stfpm/template.yaml |
1212

1313
## Anomaly Detection
1414

15-
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
16-
| --------------------------- | ----- | ------------------- | --------------- | ----------------------------------------------- |
17-
| ote_anomaly_detection_padim | PADIM | 3.9 | 168.4 | anomaly/templates/detection/padim/template.yaml |
18-
| ote_anomaly_detection_stfpm | STFPM | 5.6 | 21.1 | anomaly/templates/detection/stfpm/template.yaml |
15+
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
16+
| --------------------------- | ----- | ------------------- | --------------- | --------------------------------------------- |
17+
| ote_anomaly_detection_padim | PADIM | 3.9 | 168.4 | anomaly/configs/detection/padim/template.yaml |
18+
| ote_anomaly_detection_stfpm | STFPM | 5.6 | 21.1 | anomaly/configs/detection/stfpm/template.yaml |
1919

2020
## Anomaly Segmentation
2121

22-
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
23-
| ------------------------------ | ----- | ------------------- | --------------- | -------------------------------------------------- |
24-
| ote_anomaly_segmentation_padim | PADIM | 3.9 | 168.4 | anomaly/templates/segmentation/padim/template.yaml |
25-
| ote_anomaly_segmentation_stfpm | STFPM | 5.6 | 21.1 | anomaly/templates/segmentation/stfpm/template.yaml |
22+
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
23+
| ------------------------------ | ----- | ------------------- | --------------- | ------------------------------------------------ |
24+
| ote_anomaly_segmentation_padim | PADIM | 3.9 | 168.4 | anomaly/configs/segmentation/padim/template.yaml |
25+
| ote_anomaly_segmentation_stfpm | STFPM | 5.6 | 21.1 | anomaly/configs/segmentation/stfpm/template.yaml |
2626

2727
## Image Classification
2828

29-
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
30-
| -------------------------------------------------------------- | -------------------------------- | ------------------- | --------------- | -------------------------------------------------------------------------------------------------- |
31-
| ClassIncremental_Image_Classification_MobileNet-V3-small | MobileNet-V3-small-ClsIncr | 0.12 | 1.56 | model-preparation-algorithm/configs/classification/mobilenet_v3_small_cls_incr/template.yaml |
32-
| ClassIncremental_Image_Classification_MobileNet-V3-large-0.75x | MobileNet-V3-large-0.75x-ClsIncr | 0.32 | 2.76 | model-preparation-algorithm/configs/classification/mobilenet_v3_large_075_cls_incr/template.yaml |
33-
| ClassIncremental_Image_Classification_MobileNet-V3-large-1x | MobileNet-V3-large-1x-ClsIncr | 0.44 | 4.29 | model-preparation-algorithm/configs/classification/mobilenet_v3_large_1_cls_incr/template.yaml |
34-
| Custom_Image_Classification_MobileNet-V3-large-1x | MobileNet-V3-large-1x | 0.44 | 4.29 | deep-object-reid/configs/ote_custom_classification/mobilenet_v3_large_1/template_experimental.yaml |
35-
| ClassIncremental_Image_Classification_EfficinetNet-B0 | EfficientNet-B0-ClsIncr | 0.81 | 4.09 | model-preparation-algorithm/configs/classification/efficientnet_b0_cls_incr/template.yaml |
36-
| Custom_Image_Classification_EfficinetNet-B0 | EfficientNet-B0 | 0.81 | 4.09 | deep-object-reid/configs/ote_custom_classification/efficientnet_b0/template_experimental.yaml |
37-
| ClassIncremental_Image_Classification_EfficinetNet-V2-S | EfficientNet-V2-S-ClsIncr | 5.76 | 20.23 | model-preparation-algorithm/configs/classification/efficientnet_v2_s_cls_incr/template.yaml |
38-
| Custom_Image_Classification_EfficientNet-V2-S | EfficientNet-V2-S | 5.76 | 20.23 | deep-object-reid/configs/ote_custom_classification/efficientnet_v2_s/template_experimental.yaml |
29+
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
30+
| ------------------------------------------------- | --------------------- | ------------------- | --------------- | ---------------------------------------------------------------------------------------------- |
31+
| Custom_Image_Classification_MobileNet-V3-large-1x | MobileNet-V3-large-1x | 0.44 | 4.29 | model-preparation-algorithm/configs/classification/mobilenet_v3_large_1_cls_incr/template.yaml |
32+
| Custom_Image_Classification_EfficinetNet-B0 | EfficientNet-B0 | 0.81 | 4.09 | model-preparation-algorithm/configs/classification/efficientnet_b0_cls_incr/template.yaml |
33+
| Custom_Image_Classification_EfficientNet-V2-S | EfficientNet-V2-S | 5.76 | 20.23 | model-preparation-algorithm/configs/classification/efficientnet_v2_s_cls_incr/template.yaml |
3934

4035
## Object Detection
4136

42-
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
43-
| -------------------------------------------- | ------------- | ------------------- | --------------- | -------------------------------------------------------------------------------------------- |
44-
| Custom_Object_Detection_YOLOX | YOLOX | 6.5 | 20.4 | mmdetection/configs/custom-object-detection/cspdarknet_YOLOX/template_experimental.yaml |
45-
| Custom_Object_Detection_Gen3_SSD | SSD | 9.4 | 7.6 | mmdetection/configs/custom-object-detection/gen3_mobilenetV2_SSD/template_experimental.yaml |
46-
| ClassIncremental_Object_Detection_Gen3_ATSS | ATSS-ClsIncr | 20.6 | 9.1 | model-preparation-algorithm/configs/detection/mobilenetv2_atss_cls_incr/template.yaml |
47-
| Custom_Object_Detection_Gen3_ATSS | ATSS | 20.6 | 9.1 | mmdetection/configs/custom-object-detection/gen3_mobilenetV2_ATSS/template_experimental.yaml |
48-
| ClassIncremental_Object_Detection_Gen3_VFNet | VFNet-ClsIncr | 457.4 | 126.0 | model-preparation-algorithm/configs/detection/resnet50_vfnet_cls_incr/template.yaml |
37+
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
38+
| --------------------------------- | ----- | ------------------- | --------------- | ------------------------------------------------------------------------------------- |
39+
| Custom_Object_Detection_YOLOX | YOLOX | 6.5 | 20.4 | model-preparation-algorithm/configs/detection/cspdarknet_yolox_cls_incr/template.yaml |
40+
| Custom_Object_Detection_Gen3_SSD | SSD | 9.4 | 7.6 | model-preparation-algorithm/configs/detection/mobilenetv2_ssd_cls_incr/template.yaml |
41+
| Custom_Object_Detection_Gen3_ATSS | ATSS | 20.6 | 9.1 | model-preparation-algorithm/configs/detection/mobilenetv2_atss_cls_incr/template.yaml |
4942

50-
## Object Counting
43+
## Instance Segmentation (Object Counting)
5144

52-
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
53-
| -------------------------------------------------------------- | ------------------------ | ------------------- | --------------- | --------------------------------------------------------------------------------------- |
54-
| Custom_Counting_Instance_Segmentation_MaskRCNN_EfficientNetB2B | MaskRCNN-EfficientNetB2B | 68.48 | 13.27 | mmdetection/configs/custom-counting-instance-seg/efficientnetb2b_maskrcnn/template.yaml |
55-
| Custom_Counting_Instance_Segmentation_MaskRCNN_ResNet50 | MaskRCNN-ResNet50 | 533.8 | 177.9 | mmdetection/configs/custom-counting-instance-seg/resnet50_maskrcnn/template.yaml |
45+
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
46+
| -------------------------------------------------------------- | ------------------------ | ------------------- | --------------- | ------------------------------------------------------------------------------------------------ |
47+
| Custom_Counting_Instance_Segmentation_MaskRCNN_EfficientNetB2B | MaskRCNN-EfficientNetB2B | 68.48 | 13.27 | model-preparation-algorithm/configs/instance-segmentation/efficientnetb2b_maskrcnn/template.yaml |
48+
| Custom_Counting_Instance_Segmentation_MaskRCNN_ResNet50 | MaskRCNN-ResNet50 | 533.8 | 177.9 | model-preparation-algorithm/configs/instance-segmentation/resnet50_maskrcnn/template.yaml |
5649

5750
## Rotated Object Detection
5851

59-
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
60-
| --------------------------------------------------------------------------- | ------------------------ | ------------------- | --------------- | ---------------------------------------------------------------------------- |
61-
| Custom_Rotated_Detection_via_Instance_Segmentation_MaskRCNN_EfficientNetB2B | MaskRCNN-EfficientNetB2B | 68.48 | 13.27 | mmdetection/configs/rotated_detection/efficientnetb2b_maskrcnn/template.yaml |
62-
| Custom_Rotated_Detection_via_Instance_Segmentation_MaskRCNN_ResNet50 | MaskRCNN-ResNet50 | 533.8 | 177.9 | mmdetection/configs/rotated_detection/resnet50_maskrcnn/template.yaml |
52+
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
53+
| --------------------------------------------------------------------------- | ------------------------ | ------------------- | --------------- | -------------------------------------------------------------------------------------------- |
54+
| Custom_Rotated_Detection_via_Instance_Segmentation_MaskRCNN_EfficientNetB2B | MaskRCNN-EfficientNetB2B | 68.48 | 13.27 | model-preparation-algorithm/configs/rotated-detection/efficientnetb2b_maskrcnn/template.yaml |
55+
| Custom_Rotated_Detection_via_Instance_Segmentation_MaskRCNN_ResNet50 | MaskRCNN-ResNet50 | 533.8 | 177.9 | model-preparation-algorithm/configs/rotated-detection/resnet50_maskrcnn/template.yaml |
6356

6457
## Semantic Segmentation
6558

66-
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
67-
| -------------------------------------------------------- | ------------------------- | ------------------- | --------------- | ----------------------------------------------------------------------------------------- |
68-
| Custom_Semantic_Segmentation_Lite-HRNet-s-mod2_OCR | Lite-HRNet-s-mod2 OCR | 1.82 | 3.5 | mmsegmentation/configs/custom-sematic-segmentation/ocr-lite-hrnet-s-mod2/template.yaml |
69-
| ClassIncremental_Semantic_Segmentation_Lite-HRNet-18_OCR | Lite-HRNet-18 OCR-ClsIncr | 3.45 | 4.5 | model-preparation-algorithm/configs/segmentation/ocr-lite-hrnet-18-cls-incr/template.yaml |
70-
| Custom_Semantic_Segmentation_Lite-HRNet-18_OCR | Lite-HRNet-18 OCR | 3.45 | 4.5 | mmsegmentation/configs/custom-sematic-segmentation/ocr-lite-hrnet-18/template.yaml |
71-
| Custom_Semantic_Segmentation_Lite-HRNet-18-mod2_OCR | Lite-HRNet-18-mod2 OCR | 3.63 | 4.8 | mmsegmentation/configs/custom-sematic-segmentation/ocr-lite-hrnet-18-mod2/template.yaml |
72-
| Custom_Semantic_Segmentation_Lite-HRNet-x-mod3_OCR | Lite-HRNet-x-mod3 OCR | 13.97 | 6.4 | mmsegmentation/configs/custom-sematic-segmentation/ocr-lite-hrnet-x-mod3/template.yaml |
59+
| ID | Name | Complexity (GFlops) | Model size (MB) | Path |
60+
| --------------------------------------------------- | ------------------ | ------------------- | --------------- | ------------------------------------------------------------------------------------- |
61+
| Custom_Semantic_Segmentation_Lite-HRNet-s-mod2_OCR | Lite-HRNet-s-mod2 | 1.82 | 3.5 | model-preparation-algorithm/configs/segmentation/ocr-lite-hrnet-s-mod2/template.yaml |
62+
| Custom_Semantic_Segmentation_Lite-HRNet-18_OCR | Lite-HRNet-18 | 3.45 | 4.5 | model-preparation-algorithm/configs/segmentation/ocr-lite-hrnet-18/template.yaml |
63+
| Custom_Semantic_Segmentation_Lite-HRNet-18-mod2_OCR | Lite-HRNet-18-mod2 | 3.63 | 4.8 | model-preparation-algorithm/configs/segmentation/ocr-lite-hrnet-18-mod2/template.yaml |
64+
| Custom_Semantic_Segmentation_Lite-HRNet-x-mod3_OCR | Lite-HRNet-x-mod3 | 13.97 | 6.4 | model-preparation-algorithm/configs/segmentation/ocr-lite-hrnet-x-mod3/template.yaml |

external/deep-object-reid/configs/ote_custom_classification/efficientnet_v2_s/compression_config.json

-10
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,6 @@
4444
},
4545
"nncf_config": {
4646
"compression": [
47-
{
48-
"algorithm": "filter_pruning",
49-
"pruning_init": 0.1,
50-
"params": {
51-
"schedule": "baseline",
52-
"pruning_flops_target": 0.1,
53-
"filter_importance": "geometric_median",
54-
"prune_downsample_convs": true
55-
}
56-
},
5747
{
5848
"algorithm": "quantization",
5949
"preset": "mixed",

external/deep-object-reid/configs/ote_custom_classification/efficientnet_v2_s/template_experimental.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ hyper_parameters:
4343
enable_pruning:
4444
default_value: false
4545
pruning_supported:
46-
default_value: true
46+
default_value: false
4747
maximal_accuracy_degradation:
4848
default_value: 1.0
4949

Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
opencv-python==4.5.5.64 # remedy for fixed opencv-python-headless version in e2e-test-framework
2+
optuna==2.10.1 # remedy for fixed optuna version incompatible in OTE CI

0 commit comments

Comments
 (0)