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()
|
infer_request.infer()
|
||||||
else:
|
else:
|
||||||
infer_request.async_infer()
|
infer_request.async_infer()
|
||||||
status = exe_network.wait()
|
status = infer_request.wait()
|
||||||
if status != StatusCode.OK:
|
if status != StatusCode.OK:
|
||||||
raise Exception(f"Wait for all requests is failed with status code {status}!")
|
raise Exception(f"Wait for all requests is failed with status code {status}!")
|
||||||
return infer_request.latency
|
return infer_request.latency
|
||||||
|
@ -118,9 +118,9 @@ def parse_args():
|
|||||||
" Please note, command line parameters have higher priority then parameters from configuration file.")
|
" 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],
|
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) ")
|
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.')
|
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.')
|
help='Optional. Specifies precision for all output layers of the network.')
|
||||||
args.add_argument('-iop', '--input_output_precision', type=str, required=False,
|
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.')
|
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)
|
print(step_info_template)
|
||||||
|
|
||||||
def process_precision(ie_network: IENetwork, app_inputs_info, input_precision: str, output_precision: str, input_output_precision: str):
|
def process_precision(ie_network: IENetwork, app_inputs_info, input_precision: str, output_precision: str, input_output_precision: str):
|
||||||
|
if input_precision:
|
||||||
_configure_network_inputs(ie_network, app_inputs_info, input_precision)
|
_configure_network_inputs(ie_network, app_inputs_info, input_precision)
|
||||||
|
if output_precision:
|
||||||
_configure_network_outputs(ie_network, output_precision)
|
_configure_network_outputs(ie_network, output_precision)
|
||||||
if input_output_precision:
|
if input_output_precision:
|
||||||
_configure_network_inputs_and_outputs(ie_network, 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):
|
def _configure_network_inputs(ie_network: IENetwork, app_inputs_info, input_precision: str):
|
||||||
input_info = ie_network.input_info
|
input_info = ie_network.input_info
|
||||||
|
Loading…
Reference in New Issue
Block a user