Skip to content

Commit 0db418e

Browse files
author
Songki Choi
authored
Merge pull request #1102 from openvinotoolkit/releases/v0.2.0-sc1.1
Merge back OTE v0.2.0 release fixes
2 parents 1b8c08e + fa03d14 commit 0db418e

File tree

16 files changed

+78
-16
lines changed

16 files changed

+78
-16
lines changed

CHANGELOG.md

+19-7
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,29 @@
22

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

5+
## \[v0.2.0\]
6+
### Added
7+
* Model Preparation Algorithm (MPA), a newly introduced OTE Algorithm backend for advanced transfer learning
8+
* Class-Incremental Learning support for OTE models
9+
* Image Classification
10+
* Object Detection
11+
* Semantic Segmentation
12+
* Object counting & Rotated object detection are added to Object Detection backend
13+
* Increased support for NNCF / FP16 / HPO
14+
* Ignored label support
15+
* Stop training on NaN losses
16+
17+
18+
### Changed
19+
* Major refactoring
20+
* Tasks & model templates had been moved to OTE repo from each OTE Algorithm backend
21+
22+
523
## \[v0.1.1\]
624
### Fixed
725
* Some minor issues
826

27+
928
## \[v0.1.0\]
1029
### Added
1130
* OTE SDK, defines an interface which can be used by OTE CLI to access OTE Algorithms.
@@ -16,10 +35,3 @@ All notable changes to this project will be documented in this file.
1635
* Object Detection
1736
* Semantic Segmentation
1837

19-
## \[v0.2.0\]
20-
### Added
21-
* Model Preparation Algorithm (MPA), a newly introduced OTE Algorithm backend for advanced transfer learning
22-
* Class-Incremental Learning support for OTE models
23-
* Image Classification
24-
* Object Detection
25-
* Semantic Segmentation

external/deep-object-reid/submodule

external/mmdetection/configs/custom-counting-instance-seg/efficientnetb2b_maskrcnn/model.py

+1
Original file line numberDiff line numberDiff line change
@@ -157,3 +157,4 @@
157157
dict(type='EarlyStoppingHook', patience=10, metric='mAP',
158158
interval=1, priority=75, iteration_patience=0),
159159
]
160+
fp16 = dict(loss_scale=512.)

external/mmdetection/tests/ote_cli/test_instance_segmentation.py

+49
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@
3434
ote_eval_testing,
3535
ote_train_testing,
3636
ote_export_testing,
37+
nncf_optimize_testing,
38+
nncf_export_testing,
39+
nncf_eval_testing,
40+
ote_hpo_testing,
41+
nncf_eval_openvino_testing,
42+
pot_optimize_testing,
43+
pot_eval_testing
3744
)
3845

3946

@@ -111,3 +118,45 @@ def test_ote_eval_deployment(self, template):
111118
@pytest.mark.parametrize("template", templates, ids=templates_ids)
112119
def test_ote_demo_deployment(self, template):
113120
ote_demo_deployment_testing(template, root, ote_dir, args)
121+
122+
@e2e_pytest_component
123+
@pytest.mark.parametrize("template", templates, ids=templates_ids)
124+
def test_nncf_optimize(self, template):
125+
if template.entrypoints.nncf is None:
126+
pytest.skip("nncf entrypoint is none")
127+
128+
nncf_optimize_testing(template, root, ote_dir, args)
129+
130+
@e2e_pytest_component
131+
@pytest.mark.parametrize("template", templates, ids=templates_ids)
132+
def test_nncf_export(self, template):
133+
if template.entrypoints.nncf is None:
134+
pytest.skip("nncf entrypoint is none")
135+
136+
nncf_export_testing(template, root)
137+
138+
@e2e_pytest_component
139+
@pytest.mark.parametrize("template", templates, ids=templates_ids)
140+
def test_nncf_eval(self, template):
141+
if template.entrypoints.nncf is None:
142+
pytest.skip("nncf entrypoint is none")
143+
144+
nncf_eval_testing(template, root, ote_dir, args, threshold=0.001)
145+
146+
@e2e_pytest_component
147+
@pytest.mark.parametrize("template", templates, ids=templates_ids)
148+
def test_nncf_eval_openvino(self, template):
149+
if template.entrypoints.nncf is None:
150+
pytest.skip("nncf entrypoint is none")
151+
152+
nncf_eval_openvino_testing(template, root, ote_dir, args)
153+
154+
@e2e_pytest_component
155+
@pytest.mark.parametrize("template", templates, ids=templates_ids)
156+
def test_pot_optimize(self, template):
157+
pot_optimize_testing(template, root, ote_dir, args)
158+
159+
@e2e_pytest_component
160+
@pytest.mark.parametrize("template", templates, ids=templates_ids)
161+
def test_pot_eval(self, template):
162+
pot_eval_testing(template, root, ote_dir, args)

external/mmsegmentation/submodule

external/model-preparation-algorithm/tests/test_ote_api.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def test_reading_classification_cls_incr_model_template(self):
8383
'mobilenet_v3_large_1_cls_incr', 'mobilenet_v3_large_075_cls_incr',
8484
'mobilenet_v3_small_cls_incr']
8585
for model_template in classification_template:
86-
parse_model_template(osp.join('configs', 'classification', model_template, 'template.yaml'))
86+
parse_model_template(osp.join('configs', 'classification', model_template, 'template_experimental.yaml'))
8787

8888
@staticmethod
8989
def generate_label_schema(not_empty_labels, multilabel=False):
@@ -103,7 +103,7 @@ def generate_label_schema(not_empty_labels, multilabel=False):
103103

104104
@staticmethod
105105
def setup_configurable_parameters(template_dir, num_iters=10):
106-
model_template = parse_model_template(osp.join(template_dir, 'template.yaml'))
106+
model_template = parse_model_template(osp.join(template_dir, 'template_experimental.yaml'))
107107
hyper_parameters = create(model_template.hyper_parameters.data)
108108
hyper_parameters.learning_parameters.num_iters = num_iters
109109
return hyper_parameters, model_template
@@ -240,7 +240,7 @@ class MPADetAPI(unittest.TestCase):
240240
def test_reading_detection_cls_incr_model_template(self):
241241
detection_template = ['mobilenetv2_atss_cls_incr', 'resnet50_vfnet_cls_incr']
242242
for model_template in detection_template:
243-
parse_model_template(osp.join('configs', 'detection', model_template, 'template.yaml'))
243+
parse_model_template(osp.join('configs', 'detection', model_template, 'template_experimental.yaml'))
244244

245245
def init_environment(
246246
self,
@@ -455,7 +455,7 @@ class MPASegAPI(unittest.TestCase):
455455
def test_reading_segmentation_cls_incr_model_template(self):
456456
segmentation_template = ['ocr-lite-hrnet-18-cls-incr']
457457
for model_template in segmentation_template:
458-
parse_model_template(osp.join('configs', 'segmentation', model_template, 'template.yaml'))
458+
parse_model_template(osp.join('configs', 'segmentation', model_template, 'template_experimental.yaml'))
459459

460460
@staticmethod
461461
def generate_label_schema(label_names):
@@ -537,7 +537,7 @@ def init_environment(self, params, model_template, number_of_images=10):
537537

538538
@staticmethod
539539
def setup_configurable_parameters(template_dir, num_iters=10):
540-
model_template = parse_model_template(osp.join(template_dir, 'template.yaml'))
540+
model_template = parse_model_template(osp.join(template_dir, 'template_experimental.yaml'))
541541

542542
hyper_parameters = create(model_template.hyper_parameters.data)
543543
hyper_parameters.learning_parameters.learning_rate_fixed_iters = 0

0 commit comments

Comments
 (0)