Fix python benchmark_app hanging on faster rcnn (#6003)
This commit is contained in:
parent
e7e8c4b85e
commit
ac1803c3ad
@ -93,7 +93,7 @@ class Benchmark:
|
||||
infer_request.infer()
|
||||
else:
|
||||
infer_request.async_infer()
|
||||
status = exe_network.wait()
|
||||
status = infer_request.wait()
|
||||
if status != StatusCode.OK:
|
||||
raise Exception(f"Wait for all requests is failed with status code {status}!")
|
||||
return infer_request.latency
|
||||
|
@ -95,7 +95,7 @@ def parse_args():
|
||||
help='Optional. Enable threads->cores (\'YES\' which is OpenVINO runtime\'s default for conventional CPUs), '
|
||||
'threads->(NUMA)nodes (\'NUMA\'), '
|
||||
'threads->appropriate core types (\'HYBRID_AWARE\', which is OpenVINO runtime\'s default for Hybrid CPUs)'
|
||||
'or completely disable (\'NO\')'
|
||||
'or completely disable (\'NO\')'
|
||||
'CPU threads pinning for CPU-involved inference.')
|
||||
args.add_argument('-exec_graph_path', '--exec_graph_path', type=str, required=False,
|
||||
help='Optional. Path to a file where to store executable graph information serialized.')
|
||||
@ -118,9 +118,9 @@ def parse_args():
|
||||
" Please note, command line parameters have higher priority then parameters from configuration file.")
|
||||
args.add_argument('-qb', '--quantization_bits', type=int, required=False, default=None, choices=[8, 16],
|
||||
help="Optional. Weight bits for quantization: 8 (I8) or 16 (I16) ")
|
||||
args.add_argument('-ip', '--input_precision', type=str, required=False, default='U8', choices=['U8', 'FP16', 'FP32'],
|
||||
args.add_argument('-ip', '--input_precision', type=str, required=False, choices=['U8', 'FP16', 'FP32'],
|
||||
help='Optional. Specifies precision for all input layers of the network.')
|
||||
args.add_argument('-op', '--output_precision', type=str, required=False, default='FP32', choices=['U8', 'FP16', 'FP32'],
|
||||
args.add_argument('-op', '--output_precision', type=str, required=False, choices=['U8', 'FP16', 'FP32'],
|
||||
help='Optional. Specifies precision for all output layers of the network.')
|
||||
args.add_argument('-iop', '--input_output_precision', type=str, required=False,
|
||||
help='Optional. Specifies precision for input and output layers by name. Example: -iop "input:FP16, output:FP16". Notice that quotes are required. Overwrites precision from ip and op options for specified layers.')
|
||||
|
@ -48,10 +48,21 @@ def next_step(additional_info='', step_id=0):
|
||||
print(step_info_template)
|
||||
|
||||
def process_precision(ie_network: IENetwork, app_inputs_info, input_precision: str, output_precision: str, input_output_precision: str):
|
||||
_configure_network_inputs(ie_network, app_inputs_info, input_precision)
|
||||
_configure_network_outputs(ie_network, output_precision)
|
||||
if input_precision:
|
||||
_configure_network_inputs(ie_network, app_inputs_info, input_precision)
|
||||
if output_precision:
|
||||
_configure_network_outputs(ie_network, output_precision)
|
||||
if input_output_precision:
|
||||
_configure_network_inputs_and_outputs(ie_network, input_output_precision)
|
||||
input_info = ie_network.input_info
|
||||
for key in app_inputs_info.keys():
|
||||
## if precision for input set by user, then set it to app_inputs
|
||||
## if it an image, set U8
|
||||
if input_precision or (input_output_precision and key in input_output_precision.keys()):
|
||||
app_inputs_info[key].precision = input_info[key].precision
|
||||
elif app_inputs_info[key].is_image:
|
||||
app_inputs_info[key].precision = 'U8'
|
||||
input_info[key].precision = 'U8'
|
||||
|
||||
def _configure_network_inputs(ie_network: IENetwork, app_inputs_info, input_precision: str):
|
||||
input_info = ie_network.input_info
|
||||
@ -74,7 +85,7 @@ def _configure_network_inputs_and_outputs(ie_network: IENetwork, input_output_pr
|
||||
|
||||
input_info = ie_network.input_info
|
||||
output_info = ie_network.outputs
|
||||
|
||||
|
||||
for key, value in user_precision_map.items():
|
||||
if key in input_info:
|
||||
input_info[key].precision = value
|
||||
|
Loading…
Reference in New Issue
Block a user