Skip to content

Commit 9e85421

Browse files
anzhella-pankratovaivikhrev
authored andcommitted
use deepcopy in cases.py, save precisions in .csv tables
1 parent ccfc86e commit 9e85421

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

demos/tests/cases.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import collections
1616
import itertools
1717
import sys
18+
from copy import deepcopy
1819

1920
from args import (
2021
DataDirectoryArg, DataDirectoryOrigFileNamesArg, DataPatternArg,
@@ -1414,4 +1415,4 @@ def single_option_cases(key, *args):
14141415
]
14151416

14161417

1417-
BASE = { demo.subdirectory : demo for demo in DEMOS }
1418+
BASE = { demo.subdirectory : deepcopy(demo) for demo in DEMOS }

demos/tests/performance_cases.py

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@
1414

1515
import os
1616
import re
17-
from args import DataPatternArg
18-
from copy import deepcopy
17+
#from args import DataPatternArg
1918

2019
from cases import BASE, single_option_cases
2120

@@ -49,37 +48,46 @@ def write_to_csv(self, result, test_case, device):
4948

5049
if not os.path.isfile(self.filename):
5150
models_col = [f"Model {key}" for key in self.model_keys]
52-
columns = ','.join(['Device', *models_col, *result.keys()])
51+
precisions_col = [f"Precision {key}" for key in self.model_keys]
52+
columns = ','.join(['Device', *precisions_col, *models_col, *result.keys()])
5353
with open(self.filename, 'w') as f:
5454
print(columns, file=f)
5555

56+
precisions = [test_case.options[key].precision if key in test_case.options else '-'
57+
for key in self.model_keys]
5658
models_names = [test_case.options[key].name if key in test_case.options else '-'
5759
for key in self.model_keys]
58-
data = ','.join([device, *models_names, *result.values()])
60+
data = ','.join([device, *precisions, *models_names, *result.values()])
5961
with open(self.filename, 'a') as f:
6062
print(data, file=f)
6163

6264

6365
DEMOS = [
64-
deepcopy(BASE['interactive_face_detection_demo/cpp']).add_parser(PerformanceParser),
66+
BASE['interactive_face_detection_demo/cpp_gapi'].add_parser(PerformanceParser),
6567

66-
deepcopy(BASE['object_detection_demo/python'])
68+
BASE['interactive_face_detection_demo/cpp'].add_parser(PerformanceParser),
69+
70+
BASE['object_detection_demo/python']
6771
.only_models(['person-detection-0200', 'yolo-v2-tf'])
68-
.update_option({'-i': DataPatternArg('action-recognition')})
72+
# TODO: create large -i for performance scenario
73+
# .update_option({'-i': DataPatternArg('action-recognition')})
6974
.add_test_cases(single_option_cases('-nireq', '3', '5'),
7075
single_option_cases('-nstreams', '3', '4'),
7176
single_option_cases('-nthreads', str(THREADS_NUM), str(THREADS_NUM - 2)))
7277
.add_parser(PerformanceParser),
7378

74-
deepcopy(BASE['bert_named_entity_recognition_demo/python'])
79+
BASE['bert_named_entity_recognition_demo/python']
7580
.update_option({'--dynamic_shape': None})
76-
.only_devices(['CPU']),
81+
.only_devices(['CPU'])
82+
.add_parser(PerformanceParser),
7783

78-
deepcopy(BASE['gpt2_text_prediction_demo/python'])
84+
BASE['gpt2_text_prediction_demo/python']
7985
.update_option({'--dynamic_shape': None})
80-
.only_devices(['CPU']),
86+
.only_devices(['CPU'])
87+
.add_parser(PerformanceParser),
8188

82-
deepcopy(BASE['speech_recognition_wav2vec_demo/python'])
89+
BASE['speech_recognition_wav2vec_demo/python']
8390
.update_option({'--dynamic_shape': None})
8491
.only_devices(['CPU'])
92+
.add_parser(PerformanceParser),
8593
]

demos/tests/run_tests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def parse_args():
8383
parser.add_argument('--supported-devices', type=parser_paths_list, required=False,
8484
help='paths to Markdown files with supported devices for each model')
8585
parser.add_argument('--precisions', type=str, nargs='+', default=['FP16', 'FP16-INT8'],
86-
help='IR precisions for all models. By default, models are tested in FP16 precision')
86+
help='IR precisions for all models. By default, models are tested in FP16, FP16-INT8 precisions')
8787
parser.add_argument('--models-dir', type=Path, required=False, metavar='DIR',
8888
help='directory with pre-converted models (IRs)')
8989
return parser.parse_args()

0 commit comments

Comments
 (0)